public ActionResult EditCancelTicket(EditCancelTicketModel model) { var ctx = new SmsContext(); using (var transaction = new System.Transactions.TransactionScope()) { try { var infor = ctx.XUAT_KHO.Find(model.Infor.MA_XUAT_KHO); if (infor == null || infor.ACTIVE != "A") { return(RedirectToAction("ExportCancelList", new { @message = "Phiếu xuất hủy này không tồn tại, vui lòng liên hệ admin." })); } infor.MA_KHO_XUAT = model.Infor.MA_KHO_XUAT; infor.NGAY_XUAT = model.Infor.NGAY_XUAT; infor.UPDATE_AT = DateTime.Now; infor.UPDATE_BY = Convert.ToInt32(Session["UserId"]); infor.GHI_CHU = model.Infor.GHI_CHU; infor.LY_DO_XUAT = 1; ctx.SaveChanges(); ctx.CHI_TIET_XUAT_KHO.RemoveRange(ctx.CHI_TIET_XUAT_KHO.Where(u => u.MA_XUAT_KHO == model.Infor.MA_XUAT_KHO)); CHI_TIET_XUAT_KHO exportDetail; foreach (var detail in model.Detail) { if (detail.DEL_FLG != 1 && detail.MA_SAN_PHAM != null && !string.IsNullOrWhiteSpace(detail.MA_SAN_PHAM.ToString())) { exportDetail = ctx.CHI_TIET_XUAT_KHO.Create(); exportDetail.ACTIVE = "A"; exportDetail.MA_SAN_PHAM = detail.MA_SAN_PHAM; exportDetail.SO_LUONG_TEMP = detail.SO_LUONG_TEMP; exportDetail.HE_SO = detail.HE_SO; exportDetail.SO_LUONG = detail.SO_LUONG_TEMP * detail.HE_SO; exportDetail.MA_DON_VI = detail.MA_DON_VI; exportDetail.MA_XUAT_KHO = infor.MA_XUAT_KHO; exportDetail.CREATE_AT = DateTime.Now; exportDetail.CREATE_BY = Convert.ToInt32(Session["UserId"]); exportDetail.UPDATE_AT = DateTime.Now; exportDetail.UPDATE_BY = Convert.ToInt32(Session["UserId"]); ctx.CHI_TIET_XUAT_KHO.Add(exportDetail); ctx.SaveChanges(); } } transaction.Complete(); ctx.Dispose(); return(RedirectToAction("ExportCancelList", new { @inforMessage = "Sửa phiếu xuất hủy thành công." })); } catch (Exception) { Transaction.Current.Rollback(); ctx.Dispose(); return(RedirectToAction("ExportCancelList", new { @message = "Sửa phiếu xuất hủy thất bại, vui lòng liên hệ admin." })); } } }
public ActionResult EditCancelTicket(int id) { var ctx = new SmsContext(); var stores = ctx.KHOes.Where(u => u.ACTIVE == "A").ToList <KHO>(); var units = ctx.DON_VI_TINH.Where(u => u.ACTIVE == "A").ToList <DON_VI_TINH>(); var infor = ctx.XUAT_KHO.Where(u => u.ACTIVE == "A" && u.LY_DO_XUAT == 1 && u.MA_XUAT_KHO == id).FirstOrDefault(); if (infor == null) { return(RedirectToAction("ExportCancelList", new { @message = "Không tìm thấy phiếu xuất hủy này, vui lòng kiểm tra lại." }).Error("Không tìm thấy phiếu xuất hủy này, vui lòng kiểm tra lại.")); } var storeList = ctx.SP_GET_STORES_BY_USR_ID(Convert.ToInt32(Session["UserId"])).ToList <SP_GET_STORES_BY_USR_ID_Result>(); EditCancelTicketModel model = new EditCancelTicketModel(); model.Stores = stores; model.StoreList = storeList; model.Units = units; model.Infor = infor; var detail = ctx.SP_GET_CHI_TIET_PHIEU_XUAT_CHUYEN(Convert.ToInt32(id)).Take(SystemConstant.MAX_ROWS).ToList <SP_GET_CHI_TIET_PHIEU_XUAT_CHUYEN_Result>(); model.Detail = detail; ctx.Dispose(); return(View(model)); }