/// <summary> /// Handle <see cref="DeleteAccountantCommand"/> /// </summary> /// <param name="command">Command object</param> public async Task HandleImmediateAsync(DeleteAccountantCommand command) { Data.Models.Accountant model = accountantFactory.Create(command); DataContext.Accountants.Attach(model); DataContext.SetPropertyModified(model, nameof(model.IsRemoved)); DataContext.SetPropertyModified(model, nameof(model.LastModificationDate)); await this.Finalize(); }
/// <summary> /// Gets accountant details /// </summary> /// <param name="parameter">Query parameter</param> /// <returns></returns> public async Task <AccountantDto> GetResultsAsync(IdQueryParam parameter) { Data.Models.Accountant accountant = await this .DataContext .Accountants .Include(mdl => mdl.DocumentsList) .AsNoTracking() .Where(mdl => !mdl.IsRemoved) .FirstAsync(mdl => mdl.Id == parameter.Id); AccountantDto result = Mapper.Map <AccountantDto>(accountant); return(result); }
/// <summary> /// Handle <see cref="UpdateAccountantCommand"/> /// </summary> /// <param name="command">Command object</param> public async Task HandleImmediateAsync(UpdateAccountantCommand command) { Data.Models.Accountant model = accountantFactory.Create(command); DataContext.Accountants.Attach(model); if (!string.IsNullOrEmpty(command.FirstName)) { DataContext.SetPropertyModified(model, nameof(model.FirstName)); } if (!string.IsNullOrEmpty(command.LastName)) { DataContext.SetPropertyModified(model, nameof(model.LastName)); } DataContext.SetPropertyModified(model, nameof(model.LastModificationDate)); await this.Finalize(); }
/// <summary> /// Handle <see cref="AddAccountantCommand"/> /// </summary> /// <param name="command">Command object</param> public async Task HandleImmediateAsync(AddAccountantCommand command) { Data.Models.Accountant model = accountantFactory.Create(command); DataContext.Accountants.Add(model); await this.Finalize(); }