public void UpdateChangedProperties(BodyClassification bodyClassification, out bool result, out string message) { // Header _bodyClassificationRepository.UpdateChangedProperties(bodyClassification.Id, bodyClassification, out result, out message); // Detail var existedDetails = _templateMenuForBodyClassification.FindAll(x => x.BodyClassificationId == bodyClassification.Id && x.InsertedSource.Contains(CommonConstants.InsertedResource.BodyClassification)); // existed details _templateMenuForBodyClassification.RemoveMultiple(existedDetails.ToList(), out result, out message); if (bodyClassification.TemplateMenuForBodyClassifications != null) { var addedDetails = bodyClassification.TemplateMenuForBodyClassifications.Where(x => x.Id == 0).ToList(); // new details added bodyClassification.TemplateMenuForBodyClassifications.Clear(); foreach (var detail in addedDetails) { detail.BodyClassificationId = bodyClassification.Id; _templateMenuForBodyClassification.Add(detail, out result, out message); } } if (result) { SaveChanges(); } else { Dispose(); } }
public IActionResult SaveEntity(BodyClassification entity) { bool result = true; string message = string.Empty; var userEmail = User.GetSpecificClaim("Email"); if (ModelState.IsValid) { entity.UserModified = userEmail; if (entity.Id == 0) { entity.UserCreated = userEmail; _bodyClassificationService.Add(entity, out result, out message); } else { _bodyClassificationService.UpdateChangedProperties(entity, out result, out message); } return(new OkObjectResult(new GenericResult(result, message))); } else { List <string> listErrors = ModelState.Values.SelectMany(v => v.Errors).Select(x => x.ErrorMessage).ToList(); string errorString = String.Join("\n", listErrors.ToArray()); return(new OkObjectResult(new GenericResult(false, errorString))); } }
public void Add(BodyClassification bodyClassification, out bool result, out string message) { var existed = _bodyClassificationRepository.CheckExist(bodyClassification, out int foundId, out result, out message, x => x.GroupCode == bodyClassification.GroupCode && x.Code == bodyClassification.Code && x.Active == true); if (!existed) { _bodyClassificationRepository.Add(bodyClassification, out result, out message); if (result) { SaveChanges(); } else { Dispose(); } } else { result = false; message = CommonConstants.Message.Existed; } }