Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }