// GET: PhieuNhap/Edit/5
 public ActionResult Edit(int?id)
 {
     if (id == null)
     {
         putErrorMessage("Đường dẫn không chính xác");
         return(RedirectToAction("All"));
     }
     if (_currentPhieu == null || _currentPhieu != id)
     {
         _currentPhieu = id;
         _phieu        = PhieuXuatManager.find((int)id);
         if (_phieu == null)
         {
             putErrorMessage("Không tìm thấy");
             return(RedirectToAction("All"));
         }
         if (_phieu.TrangThai == 1)
         {
             //Nếu đã duyệt thì không cho sửa, chuyển sang trang chi tiết
             _currentPhieu = null;
             putErrorMessage("Phiếu đã duyệt");
             return(RedirectToAction("Details", new { id = id }));
         }
     }
     ViewBag.cultureInfo = CultureInfo;
     ViewBag.DMSach      = new SelectList(SachManager.getAllAlive()
                                          .Where(s => s.Soluong > 0).ToList(),
                                          nameof(SachManager.Properties.MaSoSach),
                                          nameof(SachManager.Properties.TenSach), "");
     ViewBag.DMDaiLy = new SelectList(DaiLyManager.getAllAlive(),
                                      nameof(DaiLyManager.Properties.MaSoDaiLy),
                                      nameof(DaiLyManager.Properties.TenDaiLy), "");
     setAlertMessage();
     return(View(_phieu));
 }
Esempio n. 2
0
        protected override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            var sess = (NguoiDung)Session[Core.Constants.SESSION.USERNAME];

            if (sess == null)
            {
                filterContext.Result = new RedirectToRouteResult(
                    new RouteValueDictionary(new { controller = "Account", action = "Login", area = "" }));
            }
            else if (!sess.PhanQuyen.Contains("admin"))
            {
                filterContext.Result = new RedirectToRouteResult(
                    new RouteValueDictionary(new { controller = "Account", action = "Login" }));
            }
            else
            {
                ViewBag.currentUser = sess;
                var request = String.Format("{{ {0} = chưa duyệt }}", nameof(HoaDonDaiLyManager.Properties.TrangThai));
                ViewBag.HoaDonChuaDuyet = HoaDonDaiLyManager.filter(request).Count;
                request = String.Format("{{ {0} = chưa duyệt }}", nameof(PhieuXuatManager.Properties.TrangThai));
                ViewBag.PhieuXuatChuaDuyet = PhieuXuatManager.filter(request).Count;
                request = String.Format("{{ {0} = đã duyệt }} {{ {1} = {2} }}",
                                        nameof(HoaDonDaiLyManager.Properties.TrangThai),
                                        nameof(HoaDonDaiLyManager.Properties.NgayLap),
                                        String.Format("{0:yyyy/MM}", DateTime.Now));
                ViewBag.ThanhToanTrongThang = HoaDonDaiLyManager.filter(request).Count;
                if (Session[Core.Constants.SESSION.PAGE_SIZE] != null)
                {
                    ViewBag.PageSize = Session[Core.Constants.SESSION.PAGE_SIZE];
                }
            }
        }
Esempio n. 3
0
        public List <PhieuXuat> getAllPhieuXuat()
        {
            var param = new Dictionary <string, dynamic>();

            param.Add(PhieuXuatManager.Properties.MaSoDaiLy, this.MaSoDaiLy);
            return(PhieuXuatManager.findBy(param));
        }
        private void btXoa_Click(object sender, EventArgs e)
        {
            if (!txbMaPhieuXuat.Text.Equals(""))
            {
                PhieuXuat pn    = new PhieuXuat();
                int       x     = int.Parse(txbMaPhieuXuat.Text.ToString());
                var       phieu = PhieuXuatManager.find(x);

                if (phieu.TrangThai != 1)
                {
                    if (PhieuXuatManager.delete(phieu.MaSoPhieuXuat))
                    {
                        MessageBox.Show("Đã xóa thành công");
                        LoadPX();
                    }
                    else
                    {
                        MessageBox.Show("Không xóa được");
                    }
                }
                else
                {
                    MessageBox.Show("...");
                }
            }
            else
            {
                MessageBox.Show("Chọn phiếu xuất cần xóa");
            }
        }
        // GET: PhieuNhap/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                putErrorMessage("Đường dẫn không chính xác");
                return(RedirectToAction("All"));
            }
            var model = PhieuXuatManager.find((int)id);

            if (model == null)
            {
                putErrorMessage("Không tìm thấy");
                return(RedirectToAction("All"));
            }
            setAlertMessage();
            return(View(model));
        }
        private void btDuyet_Click(object sender, EventArgs e)
        {
            DialogResult dialogResult = MessageBox.Show("Bạn có muốn duyệt phiếu này", "Thông báo", MessageBoxButtons.YesNo);

            if (dialogResult == DialogResult.Yes)
            {
                if (!txbMaPhieuXuat.Text.Equals(""))
                {
                    int maso  = int.Parse(txbMaPhieuXuat.Text.ToString());
                    var phieu = PhieuXuatManager.find(maso);
                    if (phieu != null)
                    {
                        var result = phieu.accept();
                        switch (result)
                        {
                        case PhieuXuat.AcceptStatus.Success:
                            MessageBox.Show("Đã duyệt thành công");
                            LoadPX();
                            return;

                        case PhieuXuat.AcceptStatus.Error:
                            MessageBox.Show("Sách tồn không đủ để duyệt! Phiếu xuất yêu cầu được hủy!");
                            return;

                        case PhieuXuat.AcceptStatus.Limited:
                            MessageBox.Show("Tiền nợ đã vượt quá mức cho phép, vui lòng thanh toán trước khi đặt tiếp");
                            return;

                        default:
                            MessageBox.Show("Duyệt không thành công");
                            return;
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Chưa chọn phiếu xuất cần duyệt");
                }
            }
            else if (dialogResult == DialogResult.No)
            {
                return;
            }
        }
        public ActionResult Create(PhieuXuat model, FormCollection collection)
        {
            try
            {
                // TODO: Add insert logic here
                if (ModelState.IsValid)
                {
                    var result = PhieuXuatManager.add(model);
                    if (result != 0)
                    {
                        _phieu = null;
                        putSuccessMessage("Thêm thành công");
                        return(RedirectToAction("Details", new { id = result }));
                    }
                    else
                    {
                        putErrorMessage("Thêm không thành công");
                    }
                }
                else
                {
                    putModelStateFailErrors(ModelState);
                }
                //ViewBag.cultureInfo = CultureInfo;
                //ViewBag.DMSach = new SelectList(SachManager.getAllAlive()
                //                                .Where(s => s.Soluong > 0).ToList(),
                //                    nameof(SachManager.Properties.MaSoSach),
                //                    nameof(SachManager.Properties.TenSach), "");
                //ViewBag.DMDaiLy = new SelectList(DaiLyManager.getAllAlive(),
                //                        nameof(DaiLyManager.Properties.MaSoDaiLy),
                //                        nameof(DaiLyManager.Properties.TenDaiLy), "");
                //_phieu.NgayLap = DateTime.Now;

                //return View(_phieu);
                return(RedirectToAction("Create"));
            }
            catch (Exception ex)
            {
                putErrorMessage(ex.Message);
                return(View());
            }
        }
        // GET: PhieuNhap
        public ActionResult All(int page = 1, int pageSize = 10, string search = null)
        {
            List <PhieuXuat> DMPhieu = null;

            ViewBag.cultureInfo = CultureInfo;
            if (!String.IsNullOrEmpty(search))
            {
                DMPhieu           = PhieuXuatManager.filter(search);
                ViewBag.SearchKey = search;
            }
            else
            {
                DMPhieu = PhieuXuatManager.getAll();
            }
            ViewBag.tongTien = DMPhieu.Sum(ph => ph.TongTien);
            var models = DMPhieu.ToPagedList(page, pageSize);

            setAlertMessage();
            return(View(models));
        }
 public ActionResult Delete(int id, FormCollection collection)
 {
     try
     {
         if (PhieuXuatManager.delete((int)id))
         {
             putSuccessMessage("Xóa thành công");
             return(RedirectToAction("All"));
         }
         else
         {
             putErrorMessage("Xóa không thành công");
             return(RedirectToAction("Delete", new { id }));
         }
     }
     catch (Exception ex)
     {
         putErrorMessage(ex.Message);
         return(RedirectToAction("Delete", new { id }));
     }
 }
        //Duyệt phiếu
        public ActionResult Accept(int?id)
        {
            if (id == null)
            {
                putErrorMessage("Đường dẫn không chính xác");
                return(RedirectToAction("All"));
            }
            var model = PhieuXuatManager.find((int)id);

            if (model == null)
            {
                putErrorMessage("Không tìm thấy");
                return(RedirectToAction("All"));
            }
            if (model.TrangThai == 1)
            {
                putErrorMessage("Phiếu đã duyệt");
                return(RedirectToAction("Details", new { id = id }));
            }
            var result = model.accept();

            switch (result)
            {
            case PhieuXuat.AcceptStatus.Success:
                putSuccessMessage("Đã duyệt thành công");
                return(RedirectToAction("Details", new { id = id }));

            case PhieuXuat.AcceptStatus.Error:
                putErrorMessage("Sách tồn không đủ để duyệt! Phiếu xuất yêu cầu được hủy!");
                return(RedirectToAction("Edit", new { id }));

            case PhieuXuat.AcceptStatus.Limited:
                putErrorMessage("Tiền nợ đã vượt quá mức cho phép, vui lòng thanh toán trước khi đặt tiếp");
                return(RedirectToAction("Edit", new { id }));

            default:
                putErrorMessage("Duyệt không thành công");
                return(RedirectToAction("Edit", new { id }));
            }
        }
 public ActionResult Edit(PhieuXuat model, FormCollection collection)
 {
     try
     {
         if (ModelState.IsValid)
         {
             if (PhieuXuatManager.edit(model))
             {
                 _currentPhieu = null;
                 putSuccessMessage("Cập nhật thành công");
                 return(RedirectToAction("Details", new { id = model.MaSoPhieuXuat }));
             }
             else
             {
                 putErrorMessage("Cập nhật không thành công");
             }
         }
         else
         {
             putModelStateFailErrors(ModelState);
             return(RedirectToAction("Edit", new { id = model.MaSoPhieuXuat }));
         }
         //// TODO: Add update logic here
         //_phieu = model;
         //ViewBag.DMSach = new SelectList(SachManager.getAllAlive()
         //                                .Where(s => s.Soluong > 0).ToList(),
         //                    nameof(SachManager.Properties.MaSoSach),
         //                    nameof(SachManager.Properties.TenSach), "");
         //ViewBag.DMDaiLy = new SelectList(DaiLyManager.getAllAlive(),
         //                        nameof(DaiLyManager.Properties.MaSoDaiLy),
         //                        nameof(DaiLyManager.Properties.TenDaiLy), "");
         //return View(_phieu);
         return(RedirectToAction("Edit", new { id = model.MaSoPhieuXuat }));
     }
     catch (Exception ex)
     {
         putErrorMessage(ex.Message);
         return(RedirectToAction("Edit", new { id = model.MaSoPhieuXuat }));
     }
 }
 public ActionResult DeleteOrder(int id)
 {
     if (isUserSessionExisted())
     {
         var user = Session[Core.Constants.SESSION.USERNAME] as NguoiDung;
         if (user.DaiLy == null)
         {
             putErrorMessage("Chưa đăng ký thông tin đại lý");
             return(RedirectToAction("Agency"));
         }
         var model = PhieuXuatManager.find(id);
         if (model == null)
         {
             putErrorMessage("Không tìm thấy đơn");
             return(RedirectToAction("Order"));
         }
         if (user.DaiLy.getAllPhieuXuat().Contains(model))
         {
             if (PhieuXuatManager.delete((int)id))
             {
                 putSuccessMessage("Xóa thành công");
                 return(RedirectToAction("Order"));
             }
             else
             {
                 putErrorMessage("Xóa không thành công");
                 return(RedirectToAction("Order"));
             }
         }
         else
         {
             putErrorMessage("Không tìm thấy đơn");
             return(RedirectToAction("Order"));
         }
     }
     else
     {
         return(RedirectToAction("Index", "Home", null));
     }
 }
        // GET: PhieuNhap/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                putErrorMessage("Đường dẫn không chính xác");
                return(RedirectToAction("All"));
            }
            var model = PhieuXuatManager.find((int)id);

            if (model == null)
            {
                putErrorMessage("Không tìm thấy");
                return(RedirectToAction("All"));
            }
            if (model.TrangThai == 1)
            {
                putErrorMessage("Phiếu đã duyệt");
                return(RedirectToAction("Details", new { id = model.MaSoPhieuXuat }));
            }
            setAlertMessage();
            return(View(model));
        }
 public ActionResult CheckOut(PhieuXuat model)
 {
     if (isUserSessionExisted())
     {
         currentPhieu.Daily     = currentNguoiDung.DaiLy;
         currentPhieu.NgayLap   = DateTime.Now;
         currentPhieu.NguoiNhan = currentNguoiDung.TenDayDu;
         currentPhieu.MaSoDaiLy = currentNguoiDung.DaiLy.MaSoDaiLy;
         var result = PhieuXuatManager.add(currentPhieu);
         if (result != 0)
         {
             return(RedirectToAction("OrderDetail", "Manager", new { id = result }));
         }
         else
         {
             return(RedirectToAction("CheckOut"));
         }
     }
     else
     {
         return(RedirectToAction("Login", "Account", null));
     }
 }
 public ActionResult OrderDetail(int?id)
 {
     if (id == null)
     {
         putErrorMessage("Đường dẫn không đúng");
         return(RedirectToAction("Order"));
     }
     if (isUserSessionExisted())
     {
         var user = Session[Core.Constants.SESSION.USERNAME] as NguoiDung;
         if (user.DaiLy == null)
         {
             putErrorMessage("Chưa đăng ký thông tin đại lý");
             return(RedirectToAction("Agency"));
         }
         var model = PhieuXuatManager.find((int)id);
         if (model == null)
         {
             putErrorMessage("Không tìm thấy đơn");
             return(RedirectToAction("Order"));
         }
         if (user.DaiLy.getAllPhieuXuat().Contains(model))
         {
             setAlertMessage();
             return(View(model));
         }
         else
         {
             putErrorMessage("Không tìm thấy đơn");
             return(RedirectToAction("Order"));
         }
     }
     else
     {
         return(RedirectToAction("Index", "Home", null));
     }
 }
 private void LoadPXChuaDuyet()
 {
     _DSPX = PhieuXuatManager.getUnaproved();
     gdvXuat.DataSource = _DSPX;
 }
 private void LoadPX()
 {
     _DSPX = PhieuXuatManager.getAll();
     gdvXuat.DataSource = _DSPX;
 }
Esempio n. 18
0
        /// <summary>
        /// Duyệt phiếu nhập
        /// </summary>
        /// <returns></returns>
        public AcceptStatus accept()
        {
            if (Daily.TongTienNo > 10000000)
            {
                return(AcceptStatus.Limited);
            }
            //Kiểm tra số lượng có thể duyệt không
            foreach (ChiTietPhieuXuat ct in this.ChiTiet)
            {
                if (ct.Sach.Soluong < ct.SoLuong)
                {
                    return(AcceptStatus.ProductNotEnought);
                }
            }

            //Duyệt từng chi tiết
            foreach (ChiTietPhieuXuat ct in this.ChiTiet)
            {
                //Cập nhật thông tin sách
                ct.Sach.Soluong -= ct.SoLuong;
                if (!SachManager.edit(ct.Sach))
                {
                    return(AcceptStatus.UpdateProductFail);
                }

                //Ghi thẻ kho
                var tk = new TheKho
                {
                    MaSoSach = ct.MaSoSach,
                    SoLuong  = ct.Sach.Soluong,
                    NgayGhi  = DateTime.Now
                };
                if (TheKhoManager.add(tk) == 0)
                {
                    return(AcceptStatus.UpdateStoreFail);
                }
                //Cập nhật công nợ
                var congno = new CongNoDaiLy
                {
                    MaSoDaiLy = this.MaSoDaiLy,
                    MaSoSach  = ct.MaSoSach,
                    SoLuong   = ct.SoLuong,
                    DonGia    = ct.DonGia,
                    Thang     = DateTime.Now
                };
                if (CongNoDaiLyManager.add(congno) == 0)
                {
                    return(AcceptStatus.UpdateLiabilitiesFail);
                }
                ct.TrangThai = 1;
            }
            //Thay đổi trang thái phiếu nhập
            this.TrangThai = 1;
            if (PhieuXuatManager.edit(this))
            {
                return(AcceptStatus.Success);
            }
            else
            {
                return(AcceptStatus.Error);
            }
        }