public async Task <Result> UpdateCommission(ScopeOptions scope, CommissionEdit commission) { var validator = new CommissionValidator(_context, scope, false); var result = validator.Validate(commission).GetResult(); if (!result.Success) { return(result); } var entity = await GetCommissionEntityQuery(scope).FirstOrDefaultAsync(c => c.Id == commission.Id); if (entity == null) { return(new Result()); } var commissionEntity = MapModelToEntity(commission, entity); await _context.SaveChangesAsync(); await _auditService.InsertAuditLog(scope, AuditLog.ACTION_UPDATE, "Commission", entity.Id, commission); return(result); }
public async Task <Result> InsertCommission(ScopeOptions scope, CommissionEdit commission) { var validator = new CommissionValidator(_context, scope, true); var result = validator.Validate(commission).GetResult(); if (!result.Success) { return(result); } var entity = MapModelToEntity(commission); entity.CommissionStatementId = commission.CommissionStatementId.Value; await _context.Commission.AddAsync(entity); await _context.SaveChangesAsync(); commission.Id = entity.Id; result.Tag = commission; await _auditService.InsertAuditLog(scope, AuditLog.ACTION_INSERT, "Commission", entity.Id, commission); return(result); }