protected void Page_Load(object sender, EventArgs e)
    {
        if (ListChamCong == null || ListChamCongCurrent == null) return;
        ListChamCong = ListChamCong;
        Today = string.IsNullOrEmpty(NgayXuatBen)
                    ? DateTime.Now
                    : Convert.ToDateTime(NgayXuatBen, new CultureInfo("Vi-vn"));

        SoChuyenNo = ListChamCong.Count(x => x.TrangThaiNo == 1);
        if (ListChamCong.Any() && !ShowFullMonth)
        {
            TuNgay = ListChamCong.Last().Ngay;
        }

        var tuNgayDauThang = new DateTime(TuNgay.Year, TuNgay.Month, 1);
        var denNgayCuoiThang = new DateTime(DenNgay.Year, DenNgay.Month, 1).AddMonths(1).AddDays(-1);

        var listCanTruyThu = ListCanTruyThu(ListChamCong, LoaiBieuDo);
        Thangs = new List<ListThang>();
        var listNgay = new List<LichItem>();
        var listNgayTangCuong = new List<LichItem>();
        var item = new LichItem();
        for (var xDay = tuNgayDauThang; xDay <= denNgayCuoiThang; xDay = xDay.AddMonths(1))
        {
            var xNgayCuoiThang = new DateTime(xDay.Year, xDay.Month, 1).AddMonths(1);
            listNgay=new List<LichItem>();
            listNgayTangCuong=new List<LichItem>();
            for (var d = xDay; d < xNgayCuoiThang; d = d.AddDays(1))
            {
                var chamCongBinhThuong = ListChamCong.FirstOrDefault(x => x.Ngay == d && !x.TangCuong);
                var chamCongTangCuong = ListChamCong.FirstOrDefault(x => x.Ngay == d && x.TangCuong);
                var itemCanTruyThu = listCanTruyThu.FirstOrDefault(x => x.Day == d);
                var chamCongsCurrentBinhThuong = ListChamCongCurrent.FirstOrDefault(x => x.Ngay == d && !x.TangCuong);
                var chamCongsCurrentTangCuong = ListChamCongCurrent.FirstOrDefault(x => x.Ngay == d && x.TangCuong);

                item = new LichItem { Day = d };
                item.Clickable = true;

                // Chỉ tính chấm công đã trả nợ
                if (itemCanTruyThu != null)
                {
                    item.KieuChamCong = 7;
                }

                if (chamCongBinhThuong !=null)
                {
                    // Xác định chấm công này đã được lãnh đạo duyệt hay chưa
                    var kieuChamCong = chamCongBinhThuong.Loai != 3 ? chamCongBinhThuong.Loai : (chamCongBinhThuong.Duyet ? 3 : 5);
                    if(chamCongBinhThuong.TrangThaiNo==1)
                    {
                        kieuChamCong = 6;
                    }
                    item.Item = chamCongBinhThuong;
                    item.KieuChamCong = kieuChamCong;
                    item.SoChuyen = 1;
                    item.GhiChu = chamCongBinhThuong.GhiChu;
                    item.TangCuong = chamCongBinhThuong.TangCuong;
                    item.Clickable = false;
                }
                if (chamCongsCurrentBinhThuong != null)
                {
                    item.Item = chamCongsCurrentBinhThuong;
                    item.KieuChamCong = chamCongsCurrentBinhThuong.Loai;
                    item.SoChuyen += 1;
                    item.TRUYTHU_ID = chamCongsCurrentBinhThuong.TRUYTHU_ID;
                    item.PHOI_ID = chamCongsCurrentBinhThuong.PHOI_ID;
                    item.TangCuong = chamCongsCurrentBinhThuong.TangCuong;
                    item.Clickactive = true;
                }
                listNgay.Add(item);

                item = new LichItem() { Day = d };
                item.Clickable = true;
                if (chamCongTangCuong != null)
                {
                    // Xác định chấm công này đã được lãnh đạo duyệt hay chưa
                    var kieuChamCong = chamCongTangCuong.Loai != 3 ? chamCongTangCuong.Loai : (chamCongTangCuong.Duyet ? 3 : 5);
                    if (chamCongTangCuong.TrangThaiNo == 1)
                    {
                        kieuChamCong = 6;
                    }
                    item.Item = chamCongTangCuong;
                    item.KieuChamCong = kieuChamCong;
                    item.SoChuyen = 1;
                    item.GhiChu = chamCongTangCuong.GhiChu;
                    item.TangCuong = chamCongTangCuong.TangCuong;
                    item.Clickable = false;
                }
                //Ngày chấm công hiện tại
                if (chamCongsCurrentTangCuong != null)
                {
                    item.Item = chamCongsCurrentTangCuong;
                    item.KieuChamCong = chamCongsCurrentTangCuong.Loai;
                    item.SoChuyen += 1;
                    item.TRUYTHU_ID = chamCongsCurrentTangCuong.TRUYTHU_ID;
                    item.PHOI_ID = chamCongsCurrentTangCuong.PHOI_ID;
                    item.TangCuong = chamCongsCurrentTangCuong.TangCuong;
                    item.Clickactive = true;
                }
                listNgayTangCuong.Add(item);
            }

            Thangs.Add(new ListThang()
            {
                Ngay = listNgay,
                NgayTangCuong = listNgayTangCuong,
                Thang = xDay.Month,
                Tong = listNgay.Sum(x => x.SoChuyen),
                TongBieuDo = TongSoChuyeBieuDo(LoaiBieuDo, xDay.Year, xDay.Month)
            });
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (ListChamCong == null || ListChamCongCurrent == null) return;
        Today = string.IsNullOrEmpty(NgayXuatBen)
                    ? DateTime.Now
                    : Convert.ToDateTime(NgayXuatBen, new CultureInfo("Vi-vn"));

        SoChuyenNo = ListChamCong.Count(x => x.TrangThaiNo == 1);

        ListChamCong = ListChamCong.Where(x => x.TrangThaiNo != 1).ToList();

        var month = Today.Month;
        var year = Today.Year;
        var prevMonth = month == 1 ? 12 : month - 1;
        PrevMonth = new List<LichItem>();
        CurrentMonth = new List<LichItem>();

        var mongMotThangTruoc = new DateTime(month == 1 ? year + -1 : year, prevMonth, 1);
        var mongMotThangNay = new DateTime(year, month, 1);
        var mongMotThangSau = new DateTime(month == 12 ? year + 1 : year, month == 12 ? 1 : month + 1, 1);

        PrevMonthLabel = prevMonth;
        CurrentMonthLabel = month;
        Thangs=new List<ListThang>();

        var listCanTruyThu = ListCanTruyThu(ListChamCong, LoaiBieuDo);

        for (var d = mongMotThangTruoc; d < mongMotThangNay; d = d.AddDays(1))
        {
            var chamCongList = ListChamCong.Where(x => x.Ngay == d);
            var item = new LichItem {Day = d};
            var chamCongs = chamCongList as List<ChamCong> ?? chamCongList.ToList();
            var itemCanTruyThu = listCanTruyThu.FirstOrDefault(x => x.Day == d);

            if (itemCanTruyThu!=null)
            {
                item.KieuChamCong = 4;
            }

            if(chamCongs.Any())
            {
                var chamCongsItem = chamCongs[0];
                // Xác định chấm công này đã được lãnh đạo duyệt hay chưa
                var kieuChamCong = chamCongsItem.Loai != 3 ? chamCongsItem.Loai : (chamCongsItem.Duyet ? 3 : 5);
                item.List.AddRange(chamCongs);
                item.KieuChamCong = kieuChamCong;
                item.SoChuyen = chamCongs.Count;
            }

            var chamCongsCurrent = ListChamCongCurrent.Where(x => x.Ngay == d).ToList();
            if (chamCongsCurrent.Any())
            {
                item.List.AddRange(chamCongsCurrent);
                item.KieuChamCong = chamCongsCurrent[0].Loai;
                item.SoChuyen += chamCongsCurrent.Count;
                item.TRUYTHU_ID = chamCongsCurrent[0].TRUYTHU_ID;
                item.PHOI_ID = chamCongsCurrent[0].PHOI_ID;
                item.Clickactive = true;
            }

            PrevMonth.Add(item);
        }

        Thangs.Add(new ListThang()
                       {
                           Ngay = PrevMonth
                           , Thang = prevMonth
                           ,
                           Tong = PrevMonth.Sum(x => x.SoChuyen)
                           ,
                           TongBieuDo = TongSoChuyeBieuDo(LoaiBieuDo,year,prevMonth)
                       });

        for (var d = mongMotThangNay; d < mongMotThangSau; d = d.AddDays(1))
        {
            var chamCongList = ListChamCong.Where(x => x.Ngay == d);
            var item = new LichItem { Day = d };
            var chamCongs = chamCongList as List<ChamCong> ?? chamCongList.ToList();

            var itemCanTruyThu = listCanTruyThu.FirstOrDefault(x => x.Day == d);

            if (itemCanTruyThu != null)
            {
                item.KieuChamCong = 4;
            }

            if (chamCongs.Any())
            {
                var chamCongsItem = chamCongs[0];
                // Xác định chấm công này đã được lãnh đạo duyệt hay chưa
                var kieuChamCong = chamCongsItem.Loai != 3 ? chamCongsItem.Loai : (chamCongsItem.Duyet ? 3 : 5);
                item.List.AddRange(chamCongs);
                item.KieuChamCong = kieuChamCong;
                item.SoChuyen = chamCongs.Count;
            }

            var chamCongsCurrent = ListChamCongCurrent.Where(x => x.Ngay == d).ToList();
            if (chamCongsCurrent.Any())
            {
                item.List.AddRange(chamCongsCurrent);
                item.KieuChamCong = chamCongsCurrent[0].Loai;
                item.SoChuyen += chamCongsCurrent.Count;
                item.Clickactive = true;
                item.TRUYTHU_ID = chamCongsCurrent[0].TRUYTHU_ID;
                item.PHOI_ID = chamCongsCurrent[0].PHOI_ID;
            }
            CurrentMonth.Add(item);
        }

        Thangs.Add(new ListThang()
        {
            Ngay = CurrentMonth
            ,
            Thang = month
            , Tong = CurrentMonth.Sum( x => x.SoChuyen)
            ,
            TongBieuDo = TongSoChuyeBieuDo(LoaiBieuDo, year, month)
        });
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        var cqId = Security.CqId;
        TuyenId = Request["ID"];
        TuNgay = Request["Thang"];

        if (string.IsNullOrEmpty(TuyenId)) TuyenId = "2";
        if (string.IsNullOrEmpty(TuNgay)) TuNgay = string.Format("{0:MM}/{0:yyyy}", DateTime.Now);
        var thangStr = TuNgay.Split(new char[] { '/' });
        var thangInt = Convert.ToInt32(thangStr[0]);
        var namInt = Convert.ToInt32(thangStr[1]);

        var tuNgay = new DateTime(namInt, thangInt, 1).AddDays(-1);
        var denNgay = tuNgay.AddMonths(1);
        var newListXe = new List<Xe>();
        var item = new LichItem();
        var listNgay = new List<LichItem>();
        var listChamCong = new List<ChamCong>();
        var startRener = DateTime.Now;
        var endRender = DateTime.Now; // Kết thúc render
        using (var con = DAL.con())
        {
            Item = TuyenDal.SelectById(con, Convert.ToInt32(TuyenId));
            var listXe = XeDal.SelectByTuyenId(con, Item.ID);

            foreach (var xe in listXe)
            {
                listChamCong = ChamCongDal.SelectByXeTuNgayCqId(con, cqId, tuNgay.ToString("dd/MM/yyyy"), denNgay.ToString("dd/MM/yyyy"), xe.ID);
                listNgay = new List<LichItem>();
                for (var d = tuNgay.AddDays(1); d <= denNgay; d = d.AddDays(1))
                {
                    item = new LichItem() {Day = d};
                    var ngayChamCong = listChamCong.Where(x => x.Ngay == d);
                    if (ngayChamCong.Any())
                    {
                        var chamCongBinhThuong = ngayChamCong.FirstOrDefault();
                        if (chamCongBinhThuong != null)
                        {
                            // Xác định chấm công này đã được lãnh đạo duyệt hay chưa
                            var kieuChamCong = chamCongBinhThuong.Loai != 3 ? chamCongBinhThuong.Loai : (chamCongBinhThuong.Duyet ? 3 : 5);
                            if (chamCongBinhThuong.TrangThaiNo == 1)
                            {
                                kieuChamCong = 6;
                            }
                            item.Item = chamCongBinhThuong;
                            item.KieuChamCong = kieuChamCong;
                            item.SoChuyen = ngayChamCong.Count();
                            item.GhiChu = chamCongBinhThuong.GhiChu;
                            item.TangCuong = chamCongBinhThuong.TangCuong;
                            item.Clickable = false;
                        }
                    }
                    listNgay.Add(item);
                }
                xe.ListChamCong = listChamCong;
                xe.ListLichItem = listNgay;
                newListXe.Add(xe);
            }

        }
        endRender = DateTime.Now; // Kết thúc render
        BangChamCongTheoCoQuan_List.Ngay = listNgay;
        BangChamCongTheoCoQuan_List.List = newListXe;
        BangChamCongTheoCoQuan_List.Item = Item;
        BangChamCongTheoCoQuan_List.TuNgay = TuNgay;
    }
Example #4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        var cqId    = Security.CqId;
        var tuyenId = Request["Id"];
        var thang   = Request["Thang"];

        if (string.IsNullOrEmpty(tuyenId))
        {
            tuyenId = "5";
        }
        if (string.IsNullOrEmpty(thang))
        {
            thang = string.Format("{0:MM}/{0:yyyy}", DateTime.Now);
        }
        var thangStr = thang.Split(new char[] { '/' });
        var thangInt = Convert.ToInt32(thangStr[0]);
        var namInt   = Convert.ToInt32(thangStr[1]);

        var tuNgay       = new DateTime(namInt, thangInt, 1).AddDays(-1);
        var denNgay      = tuNgay.AddMonths(1);
        var newListXe    = new List <Xe>();
        var item         = new LichItem();
        var listNgay     = new List <LichItem>();
        var listChamCong = new List <ChamCong>();
        var startRener   = DateTime.Now;
        var endRender    = DateTime.Now; // Kết thúc render

        using (var con = DAL.con())
        {
            Item = TuyenDal.SelectById(con, Convert.ToInt32(tuyenId));
            var listXe = XeDal.SelectByTuyenId(con, Item.ID);

            foreach (var xe in listXe)
            {
                listChamCong = ChamCongDal.SelectByXeTuNgayCqId(con, cqId, tuNgay.ToString("dd/MM/yyyy"), denNgay.ToString("dd/MM/yyyy"), xe.ID);
                listNgay     = new List <LichItem>();
                for (var d = tuNgay.AddDays(1); d <= denNgay; d = d.AddDays(1))
                {
                    item = new LichItem()
                    {
                        Day = d
                    };
                    var ngayChamCong = listChamCong.Where(x => x.Ngay == d);
                    if (ngayChamCong.Any())
                    {
                        var chamCongBinhThuong = ngayChamCong.FirstOrDefault();
                        if (chamCongBinhThuong != null)
                        {
                            // Xác định chấm công này đã được lãnh đạo duyệt hay chưa
                            var kieuChamCong = chamCongBinhThuong.Loai != 3 ? chamCongBinhThuong.Loai : (chamCongBinhThuong.Duyet ? 3 : 5);
                            if (chamCongBinhThuong.TrangThaiNo == 1)
                            {
                                kieuChamCong = 6;
                            }
                            item.Item         = chamCongBinhThuong;
                            item.KieuChamCong = kieuChamCong;
                            item.SoChuyen     = ngayChamCong.Count();
                            item.GhiChu       = chamCongBinhThuong.GhiChu;
                            item.TangCuong    = chamCongBinhThuong.TangCuong;
                            item.Clickable    = false;
                        }
                    }
                    listNgay.Add(item);
                }
                xe.ListChamCong = listChamCong;
                xe.ListLichItem = listNgay;
                newListXe.Add(xe);
            }
        }
        endRender = DateTime.Now; // Kết thúc render
        BangChamCongTheoCoQuan_List.Ngay   = listNgay;
        BangChamCongTheoCoQuan_List.List   = newListXe;
        BangChamCongTheoCoQuan_List.Item   = Item;
        BangChamCongTheoCoQuan_List.TuNgay = TuNgay = thang;
    }