コード例 #1
0
        public ActionResult ReturnToProvider()
        {
            Return2Provider model     = new Return2Provider();
            var             ctx       = new SmsContext();
            var             units     = ctx.DON_VI_TINH.Where(u => u.ACTIVE == "A").ToList <DON_VI_TINH>();
            var             stores    = ctx.KHOes.Where(u => u.ACTIVE == "A").ToList <KHO>();
            var             providers = ctx.NHA_CUNG_CAP.Where(u => u.ACTIVE == "A").ToList <NHA_CUNG_CAP>();

            model.Units     = units;
            model.Stores    = stores;
            model.Providers = providers;
            ctx.Dispose();
            return(View(model));
        }
コード例 #2
0
        public ActionResult ReturnToProvider(Return2Provider model)
        {
            var ctx     = new SmsContext();
            var infor   = model.Infor;
            var details = model.Details;

            using (var transaction = new System.Transactions.TransactionScope())
            {
                try
                {
                    var returnInfor = ctx.TRA_HANG_NCC.Create();
                    returnInfor.ACTIVE          = "A";
                    returnInfor.MA_NHA_CUNG_CAP = infor.MA_NHA_CUNG_CAP;
                    returnInfor.NGAY_LAP_PHIEU  = infor.NGAY_LAP_PHIEU;
                    returnInfor.NGUOI_LAP_PHIEU = Convert.ToInt32(Session["UserId"]);
                    returnInfor.GHI_CHU         = infor.GHI_CHU;
                    returnInfor.CREATE_AT       = DateTime.Now;
                    returnInfor.CREATE_BY       = Convert.ToInt32(Session["UserId"]);
                    returnInfor.UPDATE_AT       = DateTime.Now;
                    returnInfor.UPDATE_BY       = Convert.ToInt32(Session["UserId"]);

                    ctx.TRA_HANG_NCC.Add(returnInfor);
                    ctx.SaveChanges();

                    TRA_HANG_NCC_CHI_TIET ct;

                    foreach (var detail in details)
                    {
                        if (detail.DEL_FLG != 1 && detail.MA_SAN_PHAM != null && !string.IsNullOrWhiteSpace(detail.MA_SAN_PHAM.ToString()))
                        {
                            ct                  = ctx.TRA_HANG_NCC_CHI_TIET.Create();
                            ct.ACTIVE           = "A";
                            ct.CREATE_AT        = DateTime.Now;
                            ct.UPDATE_AT        = DateTime.Now;
                            ct.UPDATE_BY        = Convert.ToInt32(Session["UserId"]);
                            ct.CREATE_BY        = Convert.ToInt32(Session["UserId"]);
                            ct.MA_PHIEU_TRA_NCC = returnInfor.ID;
                            ct.MA_SAN_PHAM      = detail.MA_SAN_PHAM;
                            ct.MA_DON_VI        = detail.MA_DON_VI;
                            ct.SO_LUONG_TEMP    = detail.SO_LUONG_TEMP;
                            ct.SO_LUONG         = detail.SO_LUONG_TEMP * detail.HE_SO;
                            ct.MA_KHO_XUAT      = detail.MA_KHO_XUAT;
                            ct.DON_GIA_TEMP     = detail.DON_GIA_TEMP;
                            ct.DON_GIA          = ct.DON_GIA_TEMP / detail.HE_SO;
                            ctx.TRA_HANG_NCC_CHI_TIET.Add(ct);
                            ctx.SaveChanges();
                        }
                    }

                    transaction.Complete();
                    ctx.Dispose();
                    return(RedirectToAction("ListOfToProvider", new { @inforMessage = "Lưu thành công" }));
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                    Transaction.Current.Rollback();
                    ctx.Dispose();
                    return(RedirectToAction("ListOfToProvider", new { @message = "Lưu thất bại, vui lòng liên hệ admin." }));
                }
            }
        }