Ejemplo n.º 1
0
        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." }));
                }
            }
        }
Ejemplo n.º 2
0
        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));
        }