public ActionResult DistributeMaterialActive(int materialId) { var materialItem = materialActiveService.GetMaterialActiveById(materialId); if (materialItem != null) { var persons = personService.GetAllPersons(); var locations = locationPlaceService.GetAllLocationPlaces(); var model = new MaterialActiveDestributionModel(materialItem, persons, locations); return(View(model)); } return(RedirectToAction("Distribution")); }
public ActionResult DistributeMaterialActive(MaterialActiveDestributionModel model) { if (model.LocationPlaceId == 0) { ModelState.AddModelError("LocationPlaceId", "Необходимо указать Место использования"); } if (!model.StartUseDate.HasValue) { ModelState.AddModelError("StartUseDate", "Необходимо указать дату начала использования"); } if (ModelState.IsValid) { var distribMaterialActive = new MaterialActive { Id = model.Id, StartUseDate = model.StartUseDate, OwnerPersonId = model.OwnerPersonId, LocationPlaceId = model.LocationPlaceId }; var validation = materialActiveValidator.BeforeDistributionValidation(distribMaterialActive); if (validation.IsValid) { materialActiveService.DistributeMaterialActive(distribMaterialActive); materialActiveStatusHistoryService.SetStatusByMaterialId(distribMaterialActive.Id, StatusState.Warehouse, StatusState.Active, DateTime.Now, "Распределение МЦ"); return(Json(new { Status = "OK", Message = "", Action = "/MaterialActive/Distribution" })); } return(Json(new { Status = "ERROR", Message = validation.ValidationMessage })); } var htmlErrorMessage = string.Join(".</br>", ModelState.Values.SelectMany(v => v.Errors) .Select(e => e.ErrorMessage)) + "."; return(Json(new { Status = "ERROR", Message = htmlErrorMessage })); }