public async Task <IActionResult> CreateStaff(StaffCreateViewModel model) { if (ModelState.IsValid) { var person = Person.Create(model, _organizationId.Value); await _unitOfWork.People.Insert(person); var personResult = await _unitOfWork.SaveAsync(); if (personResult.Succeeded) { if (model.Files.Any()) { foreach (var f in model.Files) { var medicalInfo = FileInfo.Create(f, _userId, DAL.Enum.EnumFileType.MedicalInfo, person.Id); await _unitOfWork.FileInfos.Insert(medicalInfo); } await _unitOfWork.SaveFileAsync(); } var staffInfo = StaffInfo.Create(model, _userId); staffInfo.OrganizationId = _organizationId.Value; await _unitOfWork.StaffInfos.Insert(staffInfo); var staffInfoResult = await _unitOfWork.SaveAsync(); if (staffInfoResult.Succeeded) { person.StaffInfoId = staffInfo.Id; foreach (var item in model.ClassId) { var personToClass = PersonToClass.Create(person.Id, item, _userId); await _unitOfWork.PersonToClasses.Insert(personToClass); } await _unitOfWork.SaveAsync(); } } return(Redirect(Request.Headers["Referer"].ToString())); } return(View(model)); }
public async Task <IActionResult> Edit(ClassEditViewModel model) { if (ModelState.IsValid) { var @class = await _unitOfWork.Classes.GetOneAsync(x => x.Id == model.ClassId); if (model.IsMove && model.MoveClassId.HasValue) { //Удаление классов //if (model.IsActive) //{ // @class.IsActive = false; //} var personToClasses = await _unitOfWork.PersonToClasses.GetAsync(x => x.IsActive && x.ClassId == model.ClassId); personToClasses.ForEach(x => x.IsActive = false); var newPersonToClasses = new List <PersonToClass>(); foreach (var item in personToClasses) { newPersonToClasses.Add(PersonToClass.Create(item.PersonId, model.MoveClassId.Value, _userId)); } _unitOfWork.PersonToClasses.UpdateRange(personToClasses); await _unitOfWork.PersonToClasses.InsertRange(newPersonToClasses); var result = await _unitOfWork.SaveAsync(); } else { @class.Update(model); _unitOfWork.Classes.Update(@class); await _unitOfWork.SaveAsync(); } return(Redirect(Request.Headers["Referer"].ToString())); } return(View(model)); }
public async Task <JsonResult> EditChildEductionInformation(ChildEditEducationViewModel model) { if (ModelState.IsValid) { var person = await _unitOfWork.People.GetOneAsync(x => x.Id == model.PersonId, include : p => p.Include(w => w.ChildInfo).Include(x => x.PersonToClasses)); var classes = await _unitOfWork.Classes.GetAsync(x => x.OrganizationId == _organizationId && x.IsActive); person.Update(model); _unitOfWork.People.Update(person); var result = await _unitOfWork.SaveAsync(); if (result.Succeeded) { var personToClasses = person.PersonToClasses; personToClasses.ForEach(x => x.IsActive = false); _unitOfWork.PersonToClasses.UpdateRange(personToClasses); foreach (var item in model.InClasses) { await _unitOfWork.PersonToClasses.Insert(PersonToClass.Create(person.Id, item, _userId)); } var result2 = await _unitOfWork.SaveAsync(); return(Json(new JsonMessage { Color = "#ff6849", Message = "Person saved", Header = "Success", Icon = "success", AdditionalData = model })); } } return(Json(new JsonMessage { Color = "#ff6849", Message = "Error", Header = "Error", Icon = "error", AdditionalData = model })); }