예제 #1
0
 public bool Add(doanphuongtien doan)
 {
     return(doanpt.Add(doan));
 }
예제 #2
0
        public ActionResult Update(FormCollection formupdatedoan)
        {
            doandulich            doandulich     = (doandulich)Session["doandulich"];
            List <doankhachsan>   doanks         = (List <doankhachsan>)Session["doankhachsan"];
            List <doanphuongtien> doanpt         = (List <doanphuongtien>)Session["doanphuongtien"];
            List <doanbuaan>      doanba         = (List <doanbuaan>)Session["doanbuaan"];
            List <doanphikhac>    doanchiphikhac = (List <doanphikhac>)Session["doanchiphikhac"];
            List <doannhanvien>   doannv         = (List <doannhanvien>)Session["doannhanvien"];
            string loi = string.Empty;

            if (doandulich != null)
            {
                //------------------------------------------------------------------------------------
                if (Request.Form["luukhachsan"] != null)
                {
                    Session["flagkhachsan"] = true;
                    int      idkhachsantemp = int.Parse(formupdatedoan["khachsan"]);
                    double   sotien;
                    DateTime ngaykhachsantemp;
                    if (idkhachsantemp == -1)
                    {
                        loi = "Bạn chưa chọn khách sạn !";
                        goto Back;
                    }
                    if (formupdatedoan["khachsanmoney"] == "")
                    {
                        loi = "Bạn chưa nhập số tiền ở khách sạn !";
                        goto Back;
                    }
                    sotien = double.Parse(formupdatedoan["khachsanmoney"]);
                    if (formupdatedoan["datearrive"] == "")
                    {
                        loi = "Bạn chưa chọn ngày !";
                        goto Back;
                    }
                    ngaykhachsantemp = DateTime.Parse(formupdatedoan["datearrive"]);
                    if (ngaykhachsantemp < doandulich.ngaykhoihanh || ngaykhachsantemp > doandulich.ngayketthuc)
                    {
                        loi = "Ngày tới khách sạn phải từ " + doandulich.ngaykhoihanh + " -> " + doandulich.ngayketthuc;
                        goto Back;
                    }
                    if (doanks.Where(c => c.idkhachsan == idkhachsantemp).FirstOrDefault() != null)
                    {
                        loi = "Khách sạn này đã có sẵn!";
                        goto Back;
                    }

                    doankhachsan doankstemp = new doankhachsan();
                    doankstemp.idkhachsan = idkhachsantemp;
                    doankstemp.iddoan     = doandulich.id;
                    doankstemp.sotien     = sotien;
                    doankstemp.ngayden    = ngaykhachsantemp;
                    doankstemp.khachsan   = (new KhachsanBIZ()).find(idkhachsantemp);
                    doanks.Add(doankstemp);
                    Session["doankhachsan"] = doanks;
                    goto Back;
                }
                if (Request.Form["luuphuongtien"] != null)
                {
                    Session["flagphuongtien"] = true;
                    int idphuongtientemp = int.Parse(formupdatedoan["phuongtien"]);
                    if (idphuongtientemp == -1)
                    {
                        loi = "Bạn chưa chọn  phương tiện!";
                        goto Back;
                    }
                    if (formupdatedoan["phuongtienmoney"] == "")
                    {
                        loi = "Bạn chưa nhập số tiền cho phương tiện !";
                        goto Back;
                    }
                    double sotien = double.Parse(formupdatedoan["phuongtienmoney"]);
                    if (formupdatedoan["dateusedayuse"] == "")
                    {
                        loi = "Bạn chưa chọn ngày sử dụng phương tiện !";
                        goto Back;
                    }
                    DateTime ngayphuongtientemp = DateTime.Parse(formupdatedoan["dateusedayuse"]);
                    if (ngayphuongtientemp < doandulich.ngaykhoihanh || ngayphuongtientemp > doandulich.ngayketthuc)
                    {
                        loi = "Ngày sử dụng phương tiện phải từ " + doandulich.ngaykhoihanh + " -> " + doandulich.ngayketthuc;
                        goto Back;
                    }
                    if (doanpt.Where(c => c.idphuongtien == idphuongtientemp && c.ngay == ngayphuongtientemp).FirstOrDefault() != null)
                    {
                        loi = "Phương tiện và giờ này đã có sẵn!";
                        goto Back;
                    }

                    doanphuongtien doanpttemp = new doanphuongtien();
                    doanpttemp.iddoan       = doandulich.id;
                    doanpttemp.ngay         = ngayphuongtientemp;
                    doanpttemp.sotien       = sotien;
                    doanpttemp.idphuongtien = idphuongtientemp;
                    doanpttemp.phuongtien   = (new PhuongtienBIZ()).find(idphuongtientemp);
                    doanpt.Add(doanpttemp);
                    Session["doanphuongtien"] = doanpt;
                    goto Back;
                }
                if (Request.Form["luubuaan"] != null)
                {
                    Session["flagbuaan"] = true;
                    int idbuaantemp = int.Parse(formupdatedoan["buaan"]);
                    if (idbuaantemp == -1)
                    {
                        loi = "Bạn chưa chọn bữa ăn!";
                        goto Back;
                    }
                    if (formupdatedoan["bamoney"] == "")
                    {
                        loi = "Bạn chưa nhập số tiền cho bữa ăn!";
                        goto Back;
                    }
                    double sotien = double.Parse(formupdatedoan["bamoney"]);
                    if (formupdatedoan["ngayeat"] == "")
                    {
                        loi = "Bạn chưa chọn ngày ăn!";
                        goto Back;
                    }
                    DateTime ngayantemp = DateTime.Parse(formupdatedoan["ngayeat"]);
                    if (ngayantemp < doandulich.ngaykhoihanh || ngayantemp > doandulich.ngayketthuc)
                    {
                        loi = "Ngày ăn phải từ " + doandulich.ngaykhoihanh + " -> " + doandulich.ngayketthuc;
                        goto Back;
                    }
                    if (doanpt.Where(c => c.idphuongtien == idbuaantemp && c.ngay == ngayantemp).FirstOrDefault() != null)
                    {
                        loi = "Bữa ăn và ngày ăn này đã có sẵn!";
                        goto Back;
                    }
                    doanbuaan doanbantemp = new doanbuaan();
                    doanbantemp.iddoan      = doandulich.id;
                    doanbantemp.idbuaan     = idbuaantemp;
                    doanbantemp.ngay        = ngayantemp;
                    doanbantemp.sotien      = sotien;
                    doanbantemp.chiphibuaan = (new BuaAnBIZ()).find(idbuaantemp);
                    doanba.Add(doanbantemp);
                    Session["doanbuaan"] = doanba;
                    goto Back;
                }
                if (Request.Form["luuchiphikhac"] != null)
                {
                    Session["flagphikhac"] = true;
                    if (formupdatedoan["phikhac"] == "")
                    {
                        loi = "Bạn chưa nhập phí khác!";
                        goto Back;
                    }
                    string namechiphi = formupdatedoan["phikhac"];
                    if (formupdatedoan["phikhacmoney"] == "")
                    {
                        loi = "Bạn chưa nhập số tiền cho phí khác!";
                        goto Back;
                    }
                    double sotien = double.Parse(formupdatedoan["phikhacmoney"]);
                    if (formupdatedoan["datephikhac"] == "")
                    {
                        loi = "Bạn chưa chọn ngày sử dụng phí khác!";
                        goto Back;
                    }
                    DateTime ngayphikhac = DateTime.Parse(formupdatedoan["datephikhac"]);
                    if (ngayphikhac < doandulich.ngaykhoihanh || ngayphikhac > doandulich.ngayketthuc)
                    {
                        loi = "Ngày sử dụng phí khác phải từ " + doandulich.ngaykhoihanh + " -> " + doandulich.ngayketthuc;
                        goto Back;
                    }
                    if (doanchiphikhac.Where(c => c.name == namechiphi && c.ngay == ngayphikhac).FirstOrDefault() != null)
                    {
                        loi = "Phí  này và ngày đã có sẵn!";
                        goto Back;
                    }
                    doanphikhac doanphikhac = new doanphikhac();
                    doanphikhac.iddoan = doandulich.id;
                    doanphikhac.name   = namechiphi;
                    doanphikhac.ngay   = ngayphikhac;
                    doanphikhac.sotien = sotien;
                    doanphikhac.note   = formupdatedoan["note"];
                    doanchiphikhac.Add(doanphikhac);
                    Session["doanchiphikhac"] = doanchiphikhac;
                    goto Back;
                }
                if (Request.Form["luunhanvien"] != null)
                {
                    Session["flagnhanvien"] = true;
                    if (int.Parse(formupdatedoan["nhanvien"]) == -1)
                    {
                        loi = "Bạn chưa chọn nhân viên!";
                        goto Back;
                    }
                    int idnhanvientemp = int.Parse(formupdatedoan["nhanvien"]);
                    if (int.Parse(formupdatedoan["nhiemvu"]) == -1)
                    {
                        loi = "Bạn chưa chọn nhiệm vụ cho nhân viên!";
                        goto Back;
                    }
                    int idnhiemvutemp = int.Parse(formupdatedoan["nhiemvu"]);
                    if (doannv.Where(c => c.idnhanvien == idnhanvientemp && c.idnhiemvu == idnhiemvutemp).FirstOrDefault() != null)
                    {
                        loi = " Nhân viên với nhiệm vụ này đã có tồn tại!";
                        goto Back;
                    }
                    doannhanvien doannvtemp = new doannhanvien();
                    doannvtemp.iddoan     = doandulich.id;
                    doannvtemp.idnhanvien = idnhanvientemp;
                    doannvtemp.idnhiemvu  = idnhiemvutemp;
                    doannvtemp.nhanvien   = (new NhanVienBIZ()).find(idnhanvientemp);
                    doannvtemp.nhiemvu    = (new NhiemVuBIZ()).find(idnhiemvutemp);
                    doannv.Add(doannvtemp);
                    Session["doannhanvien"] = doannv;
                    goto Back;
                }
                if (Request.Form["luu"] != null)
                {
                    double     tongtienkhachsan = 0, tongtienan = 0, tongtienphuongtien = 0, tongtienchiphikhac = 0;
                    doandulich doantemp = doanbiz.find(doandulich.id);
                    if ((bool)Session["flagkhachsan"] == true)
                    {
                        doanksbiz.deleteByDoan(doandulich.id);
                        foreach (var item in doanks)
                        {
                            doankhachsan ks = new doankhachsan();
                            ks.iddoan     = item.iddoan;
                            ks.ngayden    = item.ngayden;
                            ks.sotien     = item.sotien;
                            ks.idkhachsan = item.idkhachsan;
                            doanksbiz.Add(ks);
                            tongtienkhachsan += item.sotien;
                        }
                        doantemp.tongtienkhachsan = tongtienkhachsan;
                    }
                    if ((bool)Session["flagphuongtien"] == true)
                    {
                        doanptbiz.deleteByDoan(doandulich.id);
                        foreach (var item in doanpt)
                        {
                            doanphuongtien pt = new doanphuongtien();
                            pt.idphuongtien = item.idphuongtien;
                            pt.iddoan       = item.iddoan;
                            pt.sotien       = item.sotien;
                            pt.ngay         = item.ngay;
                            doanptbiz.Add(pt);
                            tongtienphuongtien += item.sotien;
                        }
                        doantemp.tongtienphuongtien = tongtienphuongtien;
                    }
                    if ((bool)Session["flagbuaan"] == true)
                    {
                        doanbabiz.deleteByDoan(doandulich.id);
                        foreach (var item in doanba)
                        {
                            doanbuaan ba = new doanbuaan();
                            ba.idbuaan = item.idbuaan;
                            ba.iddoan  = item.iddoan;
                            ba.sotien  = item.sotien;
                            ba.ngay    = item.ngay;
                            doanbabiz.Add(ba);
                            tongtienan += item.sotien;
                        }
                        doantemp.tongtienan = tongtienan;
                    }
                    if ((bool)Session["flagphikhac"] == true)
                    {
                        doanchiphikhacbiz.deleteByDoan(doandulich.id);
                        foreach (var item in doanchiphikhac)
                        {
                            doanphikhac phikhac = new doanphikhac();
                            phikhac.iddoan = item.iddoan;
                            phikhac.name   = item.name;
                            phikhac.ngay   = item.ngay;
                            phikhac.note   = item.note;
                            phikhac.sotien = item.sotien;
                            doanchiphikhacbiz.Add(phikhac);
                            tongtienchiphikhac += item.sotien;
                        }
                        doantemp.tongtienchiphikhac = tongtienchiphikhac;
                    }
                    if ((bool)Session["flagnhanvien"] == true)
                    {
                        doannvbiz.deleteByDoan(doandulich.id);
                        foreach (var item in doannv)
                        {
                            doannhanvien nv = new doannhanvien();
                            nv.iddoan     = item.iddoan;
                            nv.idnhanvien = item.idnhanvien;
                            nv.idnhiemvu  = item.idnhiemvu;
                            doannvbiz.Add(nv);
                        }
                    }
                    if (doanbiz.Update(doantemp))
                    {
                        Session["thongbao"] = " Cập nhật thành công !";
                    }
                    else
                    {
                        Session["thongbao"] = " Cập nhật thất bại !";
                    }
                }
                return(RedirectToAction("index"));

Back:
                Session["loi"] = loi;
                return(RedirectToAction("ChitietDoandulich", "Doandulich", new { @id = doandulich.id }));
            }
            return(Redirect(Request.UrlReferrer.ToString()));
        }