public async Task <Result> InsertCommissionSplitRule(ScopeOptions scope, CommissionSplitRule commissionSplitRule) { var validator = new CommissionSplitRuleValidator(_context, scope, true); var result = validator.Validate(commissionSplitRule).GetResult(); if (!result.Success) { return(result); } if (commissionSplitRule.IsDefault) { await ClearDefaults(commissionSplitRule.UserId.Value); } var entity = MapModelToEntity(commissionSplitRule); await _context.CommissionSplitRule.AddAsync(entity); await _context.SaveChangesAsync(); commissionSplitRule.Id = entity.Id; result.Tag = commissionSplitRule; await _auditService.InsertAuditLog(scope, AuditLog.ACTION_INSERT, "CommissionSplitRule", entity.Id, commissionSplitRule); return(result); }
public async Task <Result> UpdateCommissionSplitRule(ScopeOptions scope, CommissionSplitRule commissionSplitRule) { var validator = new CommissionSplitRuleValidator(_context, scope, false); var result = validator.Validate(commissionSplitRule).GetResult(); if (!result.Success) { return(result); } var entity = await GetCommissionSplitRuleEntityQuery(scope).FirstOrDefaultAsync(c => c.Id == commissionSplitRule.Id); if (entity == null) { return(new Result()); } if (commissionSplitRule.IsDefault) { await ClearDefaults(commissionSplitRule.UserId.Value); } var commissionSplitRuleEntity = MapModelToEntity(commissionSplitRule, entity); await _context.SaveChangesAsync(); await _auditService.InsertAuditLog(scope, AuditLog.ACTION_UPDATE, "CommissionSplitRule", entity.Id, commissionSplitRule); return(result); }