public JsonResult CreateOrEdit(Attachment input, AttachmentAssign assign, bool isEdit) { try { using (var workScope = new UnitOfWork(new PatientManagementDbContext())) { if (isEdit) { var elm = workScope.Attachments.Get(input.Id); if (elm != null) //update { input.CreatedBy = elm.CreatedBy; input.CreatedDate = elm.CreatedDate; input.ModifiedDate = DateTime.Now; input.ModifiedBy = GetCurrentUser().FullName; elm = input; workScope.Attachments.Put(elm, elm.Id); workScope.Complete(); return(Json(new { status = true, mess = "Cập nhập thành công " })); } else { return(Json(new { status = false, mess = "Không tồn tại " + KeyElement })); } } else { input.Id = Guid.NewGuid(); input.CreatedBy = GetCurrentUser().FullName; input.CreatedDate = DateTime.Now; input.ModifiedDate = DateTime.Now; input.ModifiedBy = GetCurrentUser().FullName; workScope.Attachments.Add(input); workScope.Complete(); workScope.AttachmentAssigns.Add(new AttachmentAssign { Id = Guid.NewGuid(), DetailRecordId = assign.DetailRecordId, AttachmentId = input.Id }); workScope.Complete(); return(Json(new { status = true, mess = "Thêm thành công " + KeyElement })); } } } catch (Exception ex) { return(Json(new { status = false, mess = "Có lỗi xảy ra: " + ex.Message })); } }
public JsonResult CreateOrEdit(MedicalSupply input, AttachmentAssign assign, bool isEdit) { try { if (input.Amount <= 0) { return(Json(new { status = false, mess = "Lỗi số lượng" })); } using (var workScope = new UnitOfWork(new PatientManagementDbContext())) { var item = workScope.Items.FirstOrDefault(x => x.Id == input.ItemId); var medicalSupplies = workScope.MedicalSupplies.Query(x => x.ItemId == input.ItemId).ToList(); var hireCount = medicalSupplies.Where(x => x.Status == StatusMedical.Hired).Sum(x => x.Amount); var availabilityCount = medicalSupplies.Where(x => x.Status == StatusMedical.Availability).Sum(x => x.Amount); var expiredCount = medicalSupplies.Where(x => x.Status == StatusMedical.Expired).Sum(x => x.Amount); var unavailableCount = medicalSupplies.Where(x => x.Status == StatusMedical.Unavailable).Sum(x => x.Amount); var maintenanceCount = medicalSupplies.Where(x => x.Status == StatusMedical.Maintenance).Sum(x => x.Amount); var availabilityItem = item.Amount - hireCount - expiredCount - unavailableCount - maintenanceCount; if (availabilityItem < 0) { return(Json(new { status = false, mess = "Lỗi, dữ liệu âm" + KeyElement })); } if (input.Amount > availabilityItem) { return(Json(new { status = false, mess = $"Lỗi, kho đã hết" + KeyElement })); } if (isEdit) { var elm = workScope.MedicalSupplies.Get(input.Id); if (elm != null) //update { elm = input; workScope.MedicalSupplies.Put(elm, elm.Id); workScope.Complete(); return(Json(new { status = true, mess = "Cập nhập thành công " })); } else { return(Json(new { status = false, mess = "Không tồn tại " + KeyElement })); } } else { input.Id = Guid.NewGuid(); workScope.MedicalSupplies.Add(input); workScope.Complete(); return(Json(new { status = true, mess = "Thêm thành công " + KeyElement })); } } } catch (Exception ex) { return(Json(new { status = false, mess = "Có lỗi xảy ra: " + ex.Message })); } }