using _0_Framework.Application; using System.Collections.Generic; using System.Threading.Tasks; namespace AccountManagement.Application.Contracts.SubAccount { public interface ISubAccountApplication { OperationResult Create(CreateSubAccount cmd, List accountWorkshopsList); OperationResult EditSubAccount(EditSubAccount cmd, List accountWorkshopsList); OperationResult ChangePassword(SubAccountChangePassword cmd); OperationResult Delete(long id); SubAccountViewModel GetDetails(long subAccountId); OperationResult CreateRole(CreateSubAccountRole command); OperationResult EditRole(EditSubAccountRole cmd); List GetAllByAccountId(long accountId, int pageIndex); OperationResult AssignRoleToSubAccount(AssignSubAccountRole command); OperationResult DeleteRole(long id); List GetSubAccountRolesByAccountId(long accountId); OperationResult Deactivate(long subAccountId); OperationResult Activate(long subAccountId); List GetSubAccountsByAccountIdGroupedByRole(long accountId); SubAccountRoleViewModel GetRoleDetails(long subAccountRoleId); OperationResult ChangePasswordAndPhoneNumber(SubAccountChangePasswordAndPhoneNumber cmd); OperationResult IsPhoneNumberAndPasswordValid(long accountId, string phoneNumber, string password, string rePassword); Task SendVerifyCodeForPasswordChange(string phone, long id); SubAccountViewModel GetByVerifyCodeAndPhoneNumber(string code, string phone); } }