using Contracts.BindingModels;
using Contracts.SearchModels;
using Contracts.ViewModels;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Contracts.BusinessLogicContracts
{
    public interface IUserLogic
    {
        string Login(string email, string password);

        bool VerifyCode(string code);

        string Create(UserBindingModel model);

        UserViewModel Update(UserBindingModel model);

        UserViewModel ReadElement(UserSearchModel model);

        IEnumerable<UserViewModel> ReadElements(UserSearchModel? model);

        UserViewModel Delete(UserSearchModel model);
    }
}