public async Task <IActionResult> Edit(int id, [Bind("MaHD,MaND,MaSP,TenSP,NgayLapHD,NgayNhanHang,TrangThai")] HoaDonModel hoaDonModel)
        {
            if (id != hoaDonModel.MaHD)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(hoaDonModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!HoaDonModelExists(hoaDonModel.MaHD))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(hoaDonModel));
        }
        public async Task <ActionResult <HoaDonModel> > PostHoaDonModel(HoaDonModel hoaDonModel)
        {
            _context.HoaDonModel.Add(hoaDonModel);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetHoaDonModel", new { id = hoaDonModel.ID }, hoaDonModel));
        }
示例#3
0
 //tạo mới
 public ActionResult Create(HOADON hoaDon)
 {
     if (ModelState.IsValid)
     {
         var hdon  = new HoaDonModel();
         var hdon1 = new UserModel();
         var hdon2 = new PhongModel();
         if (hdon.Find(hoaDon.MaHD) != null)
         {
             SetAlert("Mã hóa đơn đã tồn tại", "error");
             return(RedirectToAction("Create", "HoaDon"));
         }
         if (hdon1.Find(hoaDon.MaNV) == null)
         {
             SetAlert("Mã nhân viên không có trong CSDL", "error");
             return(RedirectToAction("Create", "HoaDon"));
         }
         if (hdon2.Find(hoaDon.MaPhong) == null)
         {
             SetAlert("Mã phòng không có trong CSDL", "error");
             return(RedirectToAction("Create", "HoaDon"));
         }
         String result = hdon.Insert(hoaDon);
         if (!String.IsNullOrEmpty(result))
         {
             SetAlert("Tạo mới hóa đơn thành công", "success");
             return(RedirectToAction("Index", "HoaDon"));
         }
         else
         {
             ModelState.AddModelError("", "Tạo mới hóa đơn không thành công");
         }
     }
     return(View());
 }
示例#4
0
        /// <summary>
        /// thu hồi dư có nếu đã áp dụng cho những hóa đơn tháng sau trước đó
        /// </summary>
        public static void thuHoiDuCo(HoaDonModel model, HDNHDUnitOfWork uow = null)
        {
            if (uow == null)
            {
                uow = new HDNHDUnitOfWork();
            }
            var hoaDonRepository = uow.Repository <HoaDonRepository>();
            var duCoRepository   = uow.Repository <DuCoRepository>();

            if (model.HoaDonTiepTheo != null && model.HoaDonTiepTheo.Tongsotieuthu > 0)
            {
                var _model = hoaDonRepository.GetHoaDonModelByID(model.HoaDonTiepTheo.HoadonnuocID);

                _model.SoTienNopTheoThang.SoTienPhaiNop = _model.SoTienNopTheoThang.SoTienTrenHoaDon;
                _model.HoaDon.Trangthaithu = false;
                _model.HoaDon.NgayNopTien  = null;

                if (_model.DuCo != null)
                {
                    duCoRepository.Delete(_model.DuCo);
                    uow.SubmitChanges();

                    // recursive
                    thuHoiDuCo(_model, uow);
                }
                uow.SubmitChanges();
            }
        }
示例#5
0
        public async Task <IActionResult> Edit(int id, [Bind("IDHD,IDTK,IDRap,ThanhTien")] HoaDonModel hoaDonModel)
        {
            if (id != hoaDonModel.IDHD)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(hoaDonModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!HoaDonModelExists(hoaDonModel.IDHD))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IDRap"] = new SelectList(_context.Rap, "IDRap", "IDRap", hoaDonModel.IDRap);
            ViewData["IDTK"]  = new SelectList(_context.TaiKhoan, "IDTK", "IDTK", hoaDonModel.IDTK);
            return(View(hoaDonModel));
        }
        public bool Create(HoaDonModel model)
        {
            string msgError = "";

            try
            {
                var result = _dbHelper.ExecuteScalarSProcedureWithTransaction(out msgError, "sp_hoa_don_create",
                                                                              "@ID", model.ID,
                                                                              "@Name", model.Name,
                                                                              "@Email", model.Email,
                                                                              "@Address", model.Address,
                                                                              "@Phone", model.Phone,
                                                                              "@Total", model.Total,
                                                                              "@Note", model.Note,
                                                                              //"@DateOrder", model.DateOrder,
                                                                              "@listjson_chitiet", model.listjson_chitiet != null ? MessageConvert.SerializeObject(model.listjson_chitiet) : null);
                if ((result != null && !string.IsNullOrEmpty(result.ToString())) || !string.IsNullOrEmpty(msgError))
                {
                    throw new Exception(Convert.ToString(result) + msgError);
                }
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#7
0
        //
        // GET: /Admin/HoaDon/

        public ActionResult Index()
        {
            var iplHD = new HoaDonModel();
            var model = iplHD.ListAll();

            return(View(model));
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,NgayLap,TongTien,MaThanhVien,TrangThai")] HoaDonModel hoaDonModel)
        {
            if (id != hoaDonModel.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(hoaDonModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!HoaDonModelExists(hoaDonModel.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["MaThanhVien"] = new SelectList(_context.tb_ThanhVien, "Id", "Email", hoaDonModel.MaThanhVien);
            return(View(hoaDonModel));
        }
        public async Task <IActionResult> Edit(int id, [Bind("ID,User_ID,HoTen,Sdt,ThanhTien,TrangThai")] HoaDonModel hoaDonModel)
        {
            if (id != hoaDonModel.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(hoaDonModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!HoaDonModelExists(hoaDonModel.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["User_ID"] = new SelectList(_context.Set <UserModel>(), "ID", "ID", hoaDonModel.User_ID);
            return(View(hoaDonModel));
        }
示例#10
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,Tong_tien,Ngay_lap,Da_xoa,NguoiDung_ID")] HoaDonModel hoaDonModel)
        {
            if (id != hoaDonModel.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(hoaDonModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!HoaDonModelExists(hoaDonModel.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["NguoiDung_ID"] = new SelectList(_context.NguoiDungModel, "ID", "ID", hoaDonModel.NguoiDung_ID);
            return(View(hoaDonModel));
        }
        public async Task <IActionResult> Edit(int id, [Bind("IdHoaDon,idUser,NgayLap,TongTien")] HoaDonModel hoaDonModel)
        {
            if (id != hoaDonModel.IdHoaDon)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(hoaDonModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!HoaDonModelExists(hoaDonModel.IdHoaDon))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(hoaDonModel));
        }
示例#12
0
        public bool Create(HoaDonModel model)
        {
            string msgError = "";

            try
            {
                var result = _dbHelper.ExecuteScalarSProcedureWithTransaction(out msgError, "sp_hoa_don_create",
                                                                              "@order_id ", model.order_id,
                                                                              "@customer_id ", model.customer_id,
                                                                              "@order_status ", model.order_status,
                                                                              "@order_date ", model.order_date,
                                                                              "@required_date ", model.required_date,
                                                                              "@shipped_date ", model.shipped_date,
                                                                              "@store_id ", model.store_id,
                                                                              "@staff_id", model.staff_id,
                                                                              //"@DateOrder", model.DateOrder,
                                                                              "@listjson_chitiet", model.listjson_chitiet != null ? MessageConvert.SerializeObject(model.listjson_chitiet) : null);
                if ((result != null && !string.IsNullOrEmpty(result.ToString())) || !string.IsNullOrEmpty(msgError))
                {
                    throw new Exception(Convert.ToString(result) + msgError);
                }
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task <IActionResult> PutHoaDonModel(int id, HoaDonModel hoaDonModel)
        {
            if (id != hoaDonModel.ID)
            {
                return(BadRequest());
            }

            _context.Entry(hoaDonModel).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!HoaDonModelExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
示例#14
0
        public ActionResult Edit(HOADON hoaDon)
        {
            if (ModelState.IsValid)
            {
                var hd = new HoaDonModel();
                //var hdon = new HoaDonModel();
                var hdon1 = new UserModel();
                var hdon2 = new PhongModel();
                if (hdon1.Find(hoaDon.MaNV) == null)
                {
                    SetAlert("Mã nhân viên không có trong CSDL", "error");
                    return(RedirectToAction("Index", "HoaDon"));
                }

                if (hdon2.Find(hoaDon.MaPhong) == null)
                {
                    SetAlert("Mã phòng không có trong CSDL", "error");
                    return(RedirectToAction("Index", "HoaDon"));
                }
                var result = hd.Update(hoaDon);
                if (result)
                {
                    SetAlert("Sửa hóa đơn thành công", "success");
                    return(RedirectToAction("Index", "HoaDon"));
                }
                else
                {
                    ModelState.AddModelError("", "Sửa hóa đơn không thành công");
                }
            }
            return(View());
        }
示例#15
0
        /// <summary>
        /// áp dụng dư có tại model cho những hóa đơn tháng sau (nếu có)
        /// </summary>
        public static void apDungDuCo(HoaDonModel model, HDNHDUnitOfWork uow = null)
        {
            if (uow == null)
            {
                uow = new HDNHDUnitOfWork();
            }
            var hoaDonRepository = uow.Repository <HoaDonRepository>();
            var duCoRepository   = uow.Repository <DuCoRepository>();

            if (model.HoaDonTiepTheo != null && model.DuCo != null && model.HoaDonTiepTheo.Tongsotieuthu > 0) // đã nhập số liệu
            {
                var _model = hoaDonRepository.GetHoaDonModelByID(model.HoaDonTiepTheo.HoadonnuocID);

                // cap nhat trang thai du co
                model.DuCo.TrangThaiTruHet = true;
                model.DuCo.NgayTruHet      = new DateTime(_model.HoaDon.NamHoaDon.Value, _model.HoaDon.ThangHoaDon.Value, 1);


                if (model.DuCo.SoTienDu <= _model.SoTienNopTheoThang.SoTienTrenHoaDon)
                {
                    _model.SoTienNopTheoThang.SoTienPhaiNop = _model.SoTienNopTheoThang.SoTienTrenHoaDon - model.DuCo.SoTienDu;

                    if (_model.DuCo != null)
                    {
                        duCoRepository.Delete(_model.DuCo);
                        thuHoiDuCo(_model, uow);
                    }
                }
                else
                {
                    _model.SoTienNopTheoThang.SoTienPhaiNop = 0;

                    if (_model.DuCo == null)
                    {
                        _model.DuCo = new HDNHD.Models.DataContexts.DuCo()
                        {
                            KhachhangID        = _model.KhachHang.KhachhangID,
                            TienNopTheoThangID = _model.SoTienNopTheoThang.ID,
                        };
                        duCoRepository.Insert(_model.DuCo);
                    }

                    _model.DuCo.SoTienDu = model.DuCo.SoTienDu - _model.SoTienNopTheoThang.SoTienTrenHoaDon;
                }

                if (_model.SoTienNopTheoThang.SoTienPhaiNop == 0)
                {
                    _model.HoaDon.Trangthaithu = true;
                    _model.HoaDon.NgayNopTien  = new DateTime(_model.HoaDon.NamHoaDon.Value, _model.HoaDon.ThangHoaDon.Value, 1);
                }

                uow.SubmitChanges();

                // recursive
                apDungDuCo(_model, uow);
            }
        }
        // get hoa don
        public ActionResult HoaDon(int?page)
        {
            NhaHangEntities NhaHang      = new NhaHangEntities();
            HoaDonModel     hoaDonModels = new HoaDonModel();
            int             pageSize     = 1000;
            int             pageNumber   = page ?? 1;

            hoaDonModels.HoaDonModels = (from HD in NhaHang.HoaDons
                                         select HD).OrderBy(hd => hd.Idhoadon).ToPagedList(pageNumber, pageSize);
            return(View(hoaDonModels));
        }
        public async Task <IActionResult> Create([Bind("IdHoaDon,idUser,NgayLap,TongTien")] HoaDonModel hoaDonModel)
        {
            if (ModelState.IsValid)
            {
                _context.Add(hoaDonModel);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(hoaDonModel));
        }
        public async Task <IActionResult> Create([Bind("MaHD,MaND,MaSP,TenSP,NgayLapHD,NgayNhanHang,TrangThai")] HoaDonModel hoaDonModel)
        {
            if (ModelState.IsValid)
            {
                _context.Add(hoaDonModel);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(hoaDonModel));
        }
示例#19
0
        public async Task <IActionResult> Create([Bind("ID,Tong_tien,Ngay_lap,Da_xoa,NguoiDung_ID")] HoaDonModel hoaDonModel)
        {
            if (ModelState.IsValid)
            {
                _context.Add(hoaDonModel);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["NguoiDung_ID"] = new SelectList(_context.NguoiDungModel, "ID", "ID", hoaDonModel.NguoiDung_ID);
            return(View(hoaDonModel));
        }
示例#20
0
        // GET: HoaDon
        public ActionResult Index(string searchString)
        {
            var hoaDon = new HoaDonModel();

            if (searchString == "")
            {
                SetAlert("Vui lòng nhập thông tin tìm kiếm", "error");
            }
            var model = hoaDon.ListWhereAll(searchString);

            return(View(model));
        }
 public HoaDonModel DeleteHoaDon([FromBody] HoaDonModel model)
 {
     if (model.listjson_chitiet != null)
     {
         foreach (var item in model.listjson_chitiet)
         {
             item.ma_chi_tiet = Guid.NewGuid().ToString();
         }
     }
     _hoaDonBusiness.DeleteHD(model);
     return(model);
 }
        public async Task <IActionResult> Create([Bind("Id,NgayLap,TongTien,MaThanhVien,TrangThai")] HoaDonModel hoaDonModel)
        {
            if (ModelState.IsValid)
            {
                _context.Add(hoaDonModel);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["MaThanhVien"] = new SelectList(_context.tb_ThanhVien, "Id", "Email", hoaDonModel.MaThanhVien);
            return(View(hoaDonModel));
        }
示例#23
0
 public HoaDonModel CreateItem([FromBody] HoaDonModel model)
 {
     model.ma_hoa_don = Guid.NewGuid().ToString();
     if (model.listjson_chitiet != null)
     {
         foreach (var item in model.listjson_chitiet)
         {
             item.ma_chi_tiet = Guid.NewGuid().ToString();
         }
     }
     _hoaDonServices.Create(model);
     return(model);
 }
示例#24
0
        public async Task <IActionResult> Create([Bind("IDHD,IDTK,IDRap,ThanhTien")] HoaDonModel hoaDonModel)
        {
            if (ModelState.IsValid)
            {
                _context.Add(hoaDonModel);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IDRap"] = new SelectList(_context.Rap, "IDRap", "IDRap", hoaDonModel.IDRap);
            ViewData["IDTK"]  = new SelectList(_context.TaiKhoan, "IDTK", "IDTK", hoaDonModel.IDTK);
            return(View(hoaDonModel));
        }
示例#25
0
 public HoaDonModel CreateItem([FromBody] HoaDonModel model)
 {
     model.mahdd = Guid.NewGuid().ToString();
     if (model.listjson_chitiet != null)
     {
         foreach (var item in model.listjson_chitiet)
         {
             item.mahdd = model.mahdd;
         }
     }
     _hoaDonBusiness.Dat_Hang(model.mahdd, model.makh, model.noigiao, model.sdt, model.thanhtien, model.listjson_chitiet);
     return(model);
 }
 public HoaDonModel CreateItem([FromBody] HoaDonModel model)
 {
     model.ID = Guid.NewGuid().ToString();
     if (model.listjson_chitiet != null)
     {
         foreach (var item in model.listjson_chitiet)
         {
             item.ID = Guid.NewGuid().ToString();
         }
     }
     _hoaDonBusiness.Create(model);
     return(model);
 }
示例#27
0
        public double TinhTongTien()
        {
            QLDsModel   qld      = new QLDsModel();
            QLNsModel   qln      = new QLNsModel();
            HoaDonModel donModel = new HoaDonModel();
            double      tongTien = 0;

            if (qld.MaPhong == donModel.MaPhong && qln.MaPhong == donModel.MaPhong)
            {
                tongTien = ((qld.CSC - qld.CSD) * qld.DonGia) + ((qln.CSC - qln.CSD) * qln.DonGia);
                return(tongTien);
            }
            return(0);
        }
        private List <HoaDonModel> FindHoaDon(string billid, string datecreate, double summin, double summax)
        {
            var phieuThues = db.PHIEU_THUEPHONG
                             .ToList()
                             .Where(phieu => (phieu.DATRAPHONG == true) &&
                                    (phieu.SO_PHIEU == billid || billid == "")
                                    &&
                                    (datecreate == "" || phieu.NGAYDI.CompareTo(DateTime.Parse(datecreate)) == 0)
                                    );

            List <HoaDonModel> hoaDons = new List <HoaDonModel>();

            phieuThues.ForEach(phieu =>
            {
                HoaDonModel hoaDon = new HoaDonModel();
                hoaDon.maPhieu     = phieu.SO_PHIEU;
                hoaDon.ngayDen     = phieu.NGAYDEN;
                hoaDon.ngayDi      = phieu.NGAYDI;

                decimal tp    = 0;
                double soNgay = (phieu.NGAYDI - phieu.NGAYDEN).Ticks / 864e9;

                phieu.CHITIET_THUEPHONG.ForEach(ct =>
                {
                    tp += (decimal)soNgay * (decimal)ct.GIAPHONG;
                });

                hoaDon.tienPhong = tp;

                decimal tdv = 0;
                phieu.CHITIET_THUEDICHVU.ForEach(ct =>
                {
                    tdv += ct.SOLUONG * (decimal)ct.GIA_DICHVU;
                });

                hoaDon.tienDichVu = tdv;

                hoaDon.tongTien = tp + tdv;

                hoaDons.Add(hoaDon);
            });

            return(hoaDons
                   .AsEnumerable()
                   .Where(hoaDon => (hoaDon.tongTien >= (decimal)summin) &&
                          ((double)hoaDon.tongTien <= summax)
                          ).ToList());
        }
示例#29
0
        // GET: HoaDon
        public ActionResult Index(string searchString)
        {
            HoaDonModel hoaDonModel      = new HoaDonModel();
            var         hoaDonViewModels = hoaDonModel.inHoaDons();

            if (searchString == "")
            {
                SetAlert("Vui lòng nhập thông tin tìm kiếm", "error");
            }
            if (searchString != null)
            {
                hoaDonViewModels = hoaDonModel.FindHD(searchString);
            }

            return(View(hoaDonViewModels));
        }
示例#30
0
        /// <summary>
        /// Thực hiện thanh toán với HoaDonModel
        /// </summary>
        /// <requires>
        /// model != null /\ model.SoTienNopTheoThang != null
        /// </requires>
        /// <effects>
        /// if model.SoTienNopTheoThang.DuNo > 0
        ///     throw NotPossibleException: khách hàng còn dư nợ quá hạn cần thanh toán trước
        /// invoke @{link #ThemGiaoDich()}: add GiaoDich with soTien = model.SoTienNopTheoThang.SoTienPhaiNop
        /// </effects>
        public static bool ThanhToan(HoaDonModel model, DateTime ngayThu, HDNHDUnitOfWork uow = null)
        {
            if (uow == null)
            {
                uow = new HDNHDUnitOfWork();
            }

            if (model.CoDuNoQuaHan)
            {
                throw new Exception("Khách hàng còn dư nợ quá hạn cần thanh toán trước.");
            }

            int duNo = (int)(model.SoTienNopTheoThang.SoTienPhaiNop - model.SoTienNopTheoThang.SoTienDaThu);

            return(GiaoDichHelpers.ThemGiaoDich(model, duNo, ngayThu, uow));
        }