public ActionResult AddOrUpdate(SignUpFraudTypeDTO data) { var result = _validator.Validate(data); if (!result.IsValid) { return(this.Failed(new { code = result.Errors[0].ErrorMessage })); } try { if (data.Id == Guid.Empty) { _commands.Create(data, CurrentUser.UserName); } else { _commands.Update(data, CurrentUser.UserName); } } catch (Exception e) { return(this.Failed(e)); } return(this.Success(new { code = data.Id == Guid.Empty ? "successfullyCreated" : "successfullyUpdated" })); }
public void Create(SignUpFraudTypeDTO data, string createdBy) { var levels = new List <RiskLevel>(); if (data.RiskLevels != null) { data.RiskLevels.ForEach(id => levels.Add( _fraudRepository.RiskLevels.Single(l => l.Id == id) ) ); } var signUpFraudType = new SignUpFraudType { Id = Guid.NewGuid(), Name = data.FraudTypeName, SystemAction = data.SystemAction, RiskLevels = levels, Remarks = data.Remarks, DateCreated = DateTimeOffset.Now, CreatedBy = createdBy }; _fraudRepository.SignUpFraudTypes.Add(signUpFraudType); _fraudRepository.SaveChanges(); _eventBus.Publish(new SignUpFraudTypeCreated { Id = signUpFraudType.Id, FraudTypeName = signUpFraudType.Name, SystemAction = signUpFraudType.SystemAction.ToString(), RiskLevels = signUpFraudType.RiskLevels.Select(o => o.Name).ToArray(), Remarks = signUpFraudType.Remarks }); }
public void Update(SignUpFraudTypeDTO data, string updatedBy) { var entity = _fraudRepository.SignUpFraudTypes .Include(o => o.RiskLevels) .Single(o => o.Id == data.Id); entity.RiskLevels.Clear(); var levels = new List <RiskLevel>(); if (data.RiskLevels != null) { data.RiskLevels.ForEach(id => levels.Add( _fraudRepository.RiskLevels.Single(l => l.Id == id) ) ); } entity.Name = data.FraudTypeName; entity.SystemAction = data.SystemAction; entity.RiskLevels = levels; entity.Remarks = data.Remarks; entity.DateUpdated = DateTimeOffset.Now; entity.UpdatedBy = updatedBy; _fraudRepository.SaveChanges(); _eventBus.Publish(new SignUpFraudTypeUpdated { Id = entity.Id, FraudTypeName = entity.Name, SystemAction = entity.SystemAction.ToString(), RiskLevels = entity.RiskLevels.Select(o => o.Name).ToArray(), Remarks = entity.Remarks }); }