public IActionResult CreateDuplicateRule(EditDuplicateRuleModel model) { if (ModelState.IsValid) { var entity = new DuplicateRule(); model.CopyTo(entity); entity.DuplicateRuleId = Guid.NewGuid(); entity.CreatedBy = CurrentUser.SystemUserId; var conditions = new List <DuplicateRuleCondition>(); int i = 0; foreach (var item in model.AttributeId) { var cd = new DuplicateRuleCondition { DuplicateRuleConditionId = Guid.NewGuid(), DuplicateRuleId = entity.DuplicateRuleId, EntityId = model.EntityId, IgnoreNullValues = model.IgnoreNullValues[i], IsCaseSensitive = model.IsCaseSensitive[i], AttributeId = item }; conditions.Add(cd); i++; } entity.Conditions = conditions; _duplicateRuleCreater.Create(entity); return(CreateSuccess(new { id = entity.DuplicateRuleId })); } var msg = GetModelErrors(ModelState); return(CreateFailure(msg)); }
public IActionResult CreateDuplicateRule(Guid entityid) { EditDuplicateRuleModel model = new EditDuplicateRuleModel { SolutionId = SolutionId.Value, EntityId = entityid, StateCode = RecordState.Enabled }; return(View(model)); }
public IActionResult EditDuplicateRule(EditDuplicateRuleModel model) { if (ModelState.IsValid) { var entity = _duplicateRuleFinder.FindById(model.DuplicateRuleId.Value); entity.Description = model.Description; entity.Name = model.Name; entity.Intercepted = model.Intercepted; var conditions = _duplicateRuleConditionService.Query(n => n.Where(w => w.DuplicateRuleId == entity.DuplicateRuleId)); int i = 0; entity.Conditions = new List <DuplicateRuleCondition>(); foreach (var item in model.AttributeId) { var id = model.DetailId[i]; var condition = new DuplicateRuleCondition { DuplicateRuleId = entity.DuplicateRuleId, EntityId = model.EntityId, IgnoreNullValues = model.IgnoreNullValues[i], IsCaseSensitive = model.IsCaseSensitive[i], AttributeId = item }; if (id.Equals(Guid.Empty)) { condition.DuplicateRuleConditionId = Guid.NewGuid(); _duplicateRuleConditionService.Create(condition); } else { condition.DuplicateRuleConditionId = id; _duplicateRuleConditionService.Update(condition); conditions.Remove(conditions.Find(n => n.DuplicateRuleConditionId == id)); } entity.Conditions.Add(condition); i++; } //delete lost detail var lostid = conditions.Select(n => n.DuplicateRuleConditionId).ToList(); _duplicateRuleConditionService.DeleteById(lostid); _duplicateRuleUpdater.Update(entity); return(UpdateSuccess(new { id = entity.DuplicateRuleId })); } var msg = GetModelErrors(ModelState); return(UpdateFailure(msg)); }
public IActionResult Get(Guid id) { EditDuplicateRuleModel model = new EditDuplicateRuleModel(); if (!id.Equals(Guid.Empty)) { var entity = _duplicateRuleFinder.FindById(id); if (entity != null) { entity.CopyTo(model); model.Conditions = _duplicateRuleConditionService.Query(n => n.Where(w => w.DuplicateRuleId == entity.DuplicateRuleId)); return(JOk(model)); } } return(NotFound()); }