public ActionResult ListXeXuatBen(string ids)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.CVHangHoaKiGui))
            {
                return(AccessDeniedView());
            }
            var model = new PhieuGuiHangModel();

            model.ChuoiPhieuGuiHangId = ids;
            var items = _nhaxeService.GetAllXeXuatBenByNgayDi(_workContext.NhaXeId, DateTime.Now).Distinct();

            if (items.Count() == 0)
            {
                model.HasXeXuatBen = false;
            }
            else
            {
                model.XeXuatBenId   = items.First().Id;
                model.HasXeXuatBen  = true;
                model.ListXeXuatBen = items.Select(c =>
                {
                    var item    = new PhieuGuiHangModel.XeXuatBenModel();
                    item.Id     = c.Id;
                    var nguonve = _hanhtrinhService.GetNguonVeXeById(c.NguonVeId);

                    item.TenXeXuatBen = string.Format("{0}-{1} - {2}-{3} -{4} ({5})", nguonve.ThoiGianDi.ToString("HH:mm"), nguonve.ThoiGianDen.ToString("HH:mm"), "", c.NgayDi.ToString("dd/MM/yyyy"), c.xevanchuyen.TenXe, c.xevanchuyen.BienSo);
                    return(item);
                }).ToList();
            }

            return(View(model));
        }
        public ActionResult ListXeXuatBen(PhieuGuiHangModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.CVHangHoaKiGui))
            {
                return(AccessDeniedView());
            }

            var phieuguihangs = new List <PhieuGuiHang>();

            if (model.ChuoiPhieuGuiHangId != null)
            {
                var ids = model.ChuoiPhieuGuiHangId
                          .Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
                          .Select(x => Convert.ToInt32(x))
                          .ToArray();
                phieuguihangs.AddRange(_phieuguihangService.GetPhieuGuiHangsByIds(ids));
            }

            foreach (var item in phieuguihangs)
            {
                item.XeXuatBenId = model.XeXuatBenId;

                item.TinhTrangVanChuyenId = (int)ENTinhTrangVanChuyen.DangVanChuyen;
                _phieuguihangService.UpdatePhieuGuiHang(item);
            }
            return(RedirectToAction("KhoHang"));
        }
        protected virtual void PhieuGuiHangPrepareModel(int idphieugui, PhieuGuiHangModel model)
        {
            //idphieugui=0 là tạo phiếu, khác 0 là sửa phiếu

            //Danh sách văn phòng không chứa văn phòng hiện tại
            var vanphongs = _nhaxeService.GetAllVanPhongByNhaXeId(_workContext.NhaXeId);

            if (vanphongs.Count > 0)
            {
                foreach (var s in vanphongs)
                {
                    if (s.Id != _workContext.CurrentVanPhong.Id)
                    {
                        model.VanPhongs.Add(new SelectListItem {
                            Text = s.TenVanPhong, Value = s.Id.ToString(), Selected = (s.Id == model.VanPhongNhan.Id)
                        });
                    }
                }
            }
            // danh sách nhân viên trong văn phòng hiện tại
            var kiemtrahangs = _nhanvienService.GetAllByVanPhongId(_workContext.CurrentVanPhong.Id);

            if (kiemtrahangs.Count > 0)
            {
                foreach (var s in kiemtrahangs)
                {
                    model.NguoiKiemTraHangs.Add(new SelectListItem {
                        Text = string.Format("{0}-{1}", s.HoVaTen, s.CMT_Id), Value = s.Id.ToString(), Selected = (s.Id == model.NguoiKiemTraHangId)
                    });
                }
            }
        }
 protected virtual void PhieuGuiHangModelToPhieuGuiHang(PhieuGuiHang nvto, PhieuGuiHangModel nvfrom)
 {
     nvto.VanPhongNhanId     = nvfrom.VanPhongNhan.Id;
     nvto.NguoiKiemTraHangId = nvfrom.NguoiKiemTraHangId;
     nvto.DaThuCuoc          = nvfrom.DaThuCuoc;
     nvto.GhiChu             = nvfrom.GhiChu;
 }
        public ActionResult PhieuGuiHangTao()
        {
            if (this.CheckNoAccessIntoNhaXe(_workContext, _permissionService, StandardPermissionProvider.CVHangHoaKiGui))
            {
                return(AccessDeniedView());
            }
            var model = new PhieuGuiHangModel();

            PhieuGuiHangPrepareModel(0, model);
            model.NgayThanhToan         = DateTime.Now;
            model.HangHoa.LoaiHangHoaId = (int)ENLoaiHangHoa.XopDeVo;
            model.HangHoa.LoaiHangHoas  = this.GetCVEnumSelectList <ENLoaiHangHoa>(_localizationService, model.HangHoa.LoaiHangHoaId);
            return(View(model));
        }
        public ActionResult PhieuGuiSua(PhieuGuiHangModel model, bool continueEditing)
        {
            var phieugui = _phieuguihangService.GetPhieuGuiById(model.Id);

            if (phieugui == null || phieugui.TinhTrangVanChuyen == ENTinhTrangVanChuyen.Huy)
            {
                //No manufacturer found with the specified id
                return(RedirectToAction("QLGuiHang"));
            }

            if (ModelState.IsValid)
            {
                //them nguoi gui
                var nguoigui = CapNhatKhachHang(model.NguoiGui.HoTen, model.NguoiGui.SoDienThoai, model.NguoiGui.DiaChi, model.NguoiGui.Id);
                //them nguoi nhan
                var nguoinhan = CapNhatKhachHang(model.NguoiNhan.HoTen, model.NguoiNhan.SoDienThoai, model.NguoiNhan.DiaChi, model.NguoiNhan.Id);
                //update phieu gui hang
                PhieuGuiHangModelToPhieuGuiHang(phieugui, model);
                if (!model.DaThuCuoc)
                {
                    phieugui.NgayThanhToan      = null;
                    phieugui.NhanVienNhanHangId = null;
                }
                else
                {
                    phieugui.NgayThanhToan     = model.NgayThanhToan;
                    phieugui.NhanVienThuTienId = _workContext.CurrentNhanVien.Id;
                }
                _phieuguihangService.UpdatePhieuGuiHang(phieugui);
                // update hang hoa
                if (model.HangHoa.Id > 0)
                {
                    var hanghoa = _hanghoaService.GetHangHoaById(model.HangHoa.Id);

                    HangHoaModelToHangHoa(model.HangHoa, hanghoa);
                    hanghoa.GiaCuoc = hanghoa.GiaCuoc * 1000m;
                    _hanghoaService.UpdateHangHoa(hanghoa);
                }


                if (continueEditing)
                {
                    return(RedirectToAction("PhieuGuiSua", new { id = phieugui.Id }));
                }
                return(RedirectToAction("QLGuiHang"));
            }
            return(View(model));
        }
        public ActionResult PhieuGuiHangTao(PhieuGuiHangModel model, bool continueEditing)
        {
            if (this.CheckNoAccessIntoNhaXe(_workContext, _permissionService, StandardPermissionProvider.CVHangHoaKiGui))
            {
                return(AccessDeniedView());
            }
            if (ModelState.IsValid)
            {
                var phieugui = new PhieuGuiHang();
                //them nguoi gui
                var nguoigui = CapNhatKhachHang(model.NguoiGui.HoTen, model.NguoiGui.SoDienThoai, model.NguoiGui.DiaChi, model.NguoiGui.Id);
                //them nguoi nhan
                var nguoinhan = CapNhatKhachHang(model.NguoiNhan.HoTen, model.NguoiNhan.SoDienThoai, model.NguoiNhan.DiaChi, model.NguoiNhan.Id);
                //them phieu gui hàng
                phieugui.NhaXeId       = _workContext.NhaXeId;
                phieugui.NguoiGuiId    = nguoigui.Id;
                phieugui.NguoiNhanId   = nguoinhan.Id;
                phieugui.VanPhongGuiId = _workContext.CurrentVanPhong.Id;

                phieugui.NguoiTaoId           = _workContext.CurrentNhanVien.Id;
                phieugui.TinhTrangVanChuyenId = (int)ENTinhTrangVanChuyen.ChuaVanChuyen;
                phieugui.NgayTao    = DateTime.Now;
                phieugui.NgayUpdate = DateTime.Now;
                PhieuGuiHangModelToPhieuGuiHang(phieugui, model);
                if (model.DaThuCuoc)
                {
                    phieugui.NgayThanhToan     = model.NgayThanhToan;
                    phieugui.NhanVienThuTienId = _workContext.CurrentNhanVien.Id;
                }

                _phieuguihangService.InsertPhieuGuiHang(phieugui);
                //them hàng hóa
                var hanghoa = new HangHoa();
                HangHoaModelToHangHoa(model.HangHoa, hanghoa);
                hanghoa.GiaCuoc        = hanghoa.GiaCuoc * 1000m;
                hanghoa.PhieuGuiHangId = phieugui.Id;
                _hanghoaService.InsertHangHoa(hanghoa);
                SuccessNotification("Thêm mới phiếu gửi hàng thành công");
                return(continueEditing ? RedirectToAction("PhieuGuiSua", new { id = phieugui.Id }) : RedirectToAction("QLGuiHang"));
            }
            return(View(model));
        }
示例#8
0
        public static PhieuGuiHangModel ToModel(this PhieuGuiHang nvfrom, ILocalizationService localizationService, IPriceFormatter priceFormatter, List <HangHoa> hanghoas = null, bool isChiTiet = false)
        {
            var nvto = new PhieuGuiHangModel();

            nvto.Id      = nvfrom.Id;
            nvto.MaPhieu = nvfrom.MaPhieu;
            //van phong gui
            nvto.VanPhongGui.Id          = nvfrom.VanPhongGuiId;
            nvto.VanPhongGui.TenVanPhong = nvfrom.VanPhongGui.TenVanPhong;
            //van phong nhan
            nvto.VanPhongNhan.Id          = nvfrom.VanPhongNhanId;
            nvto.VanPhongNhan.TenVanPhong = nvfrom.VanPhongNhan.TenVanPhong;
            //nguoi gui
            nvto.NguoiGui.Id          = nvfrom.NguoiGuiId;
            nvto.NguoiGui.HoTen       = nvfrom.NguoiGui.HoTen;
            nvto.NguoiGui.SoDienThoai = nvfrom.NguoiGui.DienThoai;
            nvto.NguoiGui.DiaChi      = nvfrom.NguoiGui.DiaChiLienHe;
            //nguoi nhan
            nvto.NguoiNhan.Id          = nvfrom.NguoiNhanId;
            nvto.NguoiNhan.HoTen       = nvfrom.NguoiNhan.HoTen;
            nvto.NguoiNhan.SoDienThoai = nvfrom.NguoiNhan.DienThoai;
            nvto.NguoiNhan.DiaChi      = nvfrom.NguoiNhan.DiaChiLienHe;

            nvto.NguoiKiemTraHangId = nvfrom.NguoiKiemTraHangId;
            if (nvfrom.NguoiKiemTraHang != null)
            {
                nvto.TenNguoiKiemTraHang = nvfrom.NguoiKiemTraHang.HoVaTen;
            }
            else
            {
                nvto.TenNguoiKiemTraHang = nvfrom.nguoitao.HoVaTen;
            }

            nvto.TinhTrangVanChuyen = nvfrom.TinhTrangVanChuyen.ToCVEnumText(localizationService);
            nvto.DaThuCuoc          = nvfrom.DaThuCuoc;
            if (nvto.DaThuCuoc)
            {
                nvto.ThanhToan = "Đã thanh toán";
            }
            else
            {
                nvto.ThanhToan = "Chưa thanh toán";
            }
            nvto.NgayNhan = nvfrom.NgayUpdate;
            if (nvfrom.NhanVienThuTien != null)
            {
                nvto.NgayThanhToan     = nvfrom.NgayThanhToan;
                nvto.NhanVienThuTienId = nvfrom.NhanVienThuTienId;
            }
            nvto.NgayTao = nvfrom.NgayTao;
            if (nvfrom.XeXuatBen != null)
            {
                nvto.NgayDi       = nvfrom.XeXuatBen.NgayDi;
                nvto.TenXeXuatBen = string.Format("{0}-{1}-{2}-{3} ({4})", nvfrom.XeXuatBen.NguonVeInfo.ThoiGianDi.ToString("HH:mm"),
                                                  nvfrom.XeXuatBen.NguonVeInfo.ThoiGianDen.ToString("HH:mm"), nvfrom.XeXuatBen.NgayDi.ToString("dd/MM/yyyy"),
                                                  nvfrom.XeXuatBen.xevanchuyen.TenXe, nvfrom.XeXuatBen.xevanchuyen.BienSo);
                if (isChiTiet)
                {
                    nvto.XeXuatBen = nvfrom.XeXuatBen;
                }
            }
            else
            {
                nvto.NgayDi = nvfrom.NgayTao;
            }
            nvto.XeXuatBenId         = nvfrom.XeXuatBenId;
            nvto.GhiChu              = nvfrom.GhiChu;
            nvto.TenNguoiKiemTraHang = nvfrom.NguoiKiemTraHang.ThongTin();
            if (hanghoas != null)
            {
                nvto.HangHoaInfo = "";
                nvto.SoLuongHang = hanghoas.Count();
                if (nvto.SoLuongHang == 1)
                {
                    nvto.HangHoa = hanghoas.First().ToModel(localizationService, priceFormatter);
                }
                //var items = _hanghoaService.GetAllHangHoaByPhieuGuiHangId(nvfrom.Id);
                decimal tonggiatrihanghoa = 0;
                decimal tongcuocphi       = 0;
                decimal tongcannang       = 0;
                decimal tongsoluong       = 0;
                foreach (var _item in hanghoas)
                {
                    if (string.IsNullOrEmpty(nvto.HangHoaInfo))
                    {
                        nvto.HangHoaInfo = _item.TenHangHoa;
                    }
                    else
                    {
                        nvto.HangHoaInfo = nvto.HangHoaInfo + "," + _item.TenHangHoa;
                    }

                    var _model = _item.ToModel(localizationService, priceFormatter);
                    tonggiatrihanghoa = tonggiatrihanghoa + _item.GiaTri * _item.SoLuong;
                    tongcuocphi       = tongcuocphi + _item.GiaCuoc;
                    tongcannang       = tongcannang + _item.CanNang;
                    tongsoluong       = tongsoluong + _item.SoLuong;
                    if (isChiTiet)
                    {
                        nvto.ListHangHoaInPhieuGui.Add(_model);
                    }
                }
                nvto.TotalPackage      = string.Format("{0} {1}", tongsoluong, "Kiện");
                nvto.TongGiaTriHangHoa = tonggiatrihanghoa.ToTien(priceFormatter);
                nvto.TongCuocPhi       = tongcuocphi.ToTien(priceFormatter);
                nvto.TongCanNang       = tongcannang.ToSoNguyen();
            }

            return(nvto);
        }