/// <summary>
 /// Cập nhật lại thông tin ngày phép cho một nhân viên
 /// </summary>
 /// <param name="ngayPhep"></param>
 /// <param name="idDanhSachNgayPhep">Khóa chính của bảng DanhSachNgayPhep</param>
 public void TinhSoNgayPhep(DAL.DanhSachNgayPhep ngayPhep, int idDanhSachNgayPhep)
 {
     DAL.DanhSachNgayPhep obj = GetByID(idDanhSachNgayPhep);
     if (obj != null)
     {
         obj.ThoiHanSuDungNgayPhepNamTruoc = ngayPhep.ThoiHanSuDungNgayPhepNamTruoc;
         obj.ThoiHanSuDungNgayPhepDuocThem = ngayPhep.ThoiHanSuDungNgayPhepDuocThem;
         obj.SoNgayPhepNamTruoc            = ngayPhep.SoNgayPhepNamTruoc;
         obj.SoNgayPhepNamNay   = ngayPhep.SoNgayPhepNamNay;
         obj.SoNgayPhepDuocThem = ngayPhep.SoNgayPhepDuocThem;
         obj.SoNgayPhepCongDonToiDaTrongThang = ngayPhep.SoNgayPhepCongDonToiDaTrongThang;
         obj.Nam = ngayPhep.Nam;
         Save();
     }
 }
    /// <summary>
    /// Tính số ngày phép cho tất cả nhân viên
    /// Những nhân viên nào chưa có danh sách ngày phép thì tạo mới
    /// những nhân viên có rồi thì cập nhật lại thông tin
    /// </summary>
    /// <param name="ngayPhep"></param>
    /// <param name="maDonVi"></param>
    public void TinhSoNgayPhep(DAL.DanhSachNgayPhep ngayPhep, string maDonVi)
    {
        List <decimal> prKeyHOSO = new List <decimal>();
        int            start     = 0;
        int            limit     = 30;

        do
        {
            prKeyHOSO = (from t in dataContext.HOSOs
                         where t.MA_DONVI == maDonVi
                         select t.PR_KEY).Skip(start).Take(limit).ToList();
            foreach (var item in prKeyHOSO)
            {
                DAL.DanhSachNgayPhep fromdb = dataContext.DanhSachNgayPheps.Where(t => t.PrKeyHoSo == item && t.Nam == ngayPhep.Nam).FirstOrDefault();
                if (fromdb != null)
                {
                    fromdb.SoNgayPhepCongDonToiDaTrongThang = ngayPhep.SoNgayPhepCongDonToiDaTrongThang;
                    fromdb.SoNgayPhepNamNay = ngayPhep.SoNgayPhepNamNay;
                    fromdb.ThoiHanSuDungNgayPhepNamTruoc = ngayPhep.ThoiHanSuDungNgayPhepNamTruoc;
                    fromdb.ThoiHanSuDungNgayPhepDuocThem = ngayPhep.ThoiHanSuDungNgayPhepDuocThem;
                    fromdb.SoNgayPhepDuocThem            = ngayPhep.SoNgayPhepDuocThem;
                }
                else
                {
                    DAL.DanhSachNgayPhep tmp = new DAL.DanhSachNgayPhep()
                    {
                        CreatedBy   = ngayPhep.CreatedBy,
                        CreatedDate = DateTime.Now,
                        PrKeyHoSo   = item,
                        Nam         = ngayPhep.Nam,
                        SoNgayPhepCongDonToiDaTrongThang = ngayPhep.SoNgayPhepCongDonToiDaTrongThang,
                        SoNgayPhepNamNay = ngayPhep.SoNgayPhepNamNay,
                        ThoiHanSuDungNgayPhepNamTruoc = ngayPhep.ThoiHanSuDungNgayPhepNamTruoc,
                        ThoiHanSuDungNgayPhepDuocThem = ngayPhep.ThoiHanSuDungNgayPhepDuocThem,
                        SoNgayPhepDuocThem            = ngayPhep.SoNgayPhepDuocThem,
                    };
                    dataContext.DanhSachNgayPheps.InsertOnSubmit(tmp);
                }
                Save();
            }
            start += limit;
        } while (prKeyHOSO.Count() != 0);
    }
 public void UpdateNgayPhep(DAL.DanhSachNgayPhep item)
 {
     DAL.DanhSachNgayPhep oldObj = GetByID(item.ID);
     oldObj.SoNgayPhepDuocThem            = item.SoNgayPhepDuocThem;
     oldObj.ThoiHanSuDungNgayPhepNamTruoc = item.ThoiHanSuDungNgayPhepNamTruoc;
     oldObj.SoNgayPhepNamNay   = item.SoNgayPhepNamNay;
     oldObj.SoNgayPhepNamTruoc = item.SoNgayPhepNamTruoc;
     //cập nhật lại số ngày đã sử dụng theo tháng
     oldObj.Thang1  = item.Thang1;
     oldObj.Thang2  = item.Thang2;
     oldObj.Thang3  = item.Thang3;
     oldObj.Thang4  = item.Thang4;
     oldObj.Thang5  = item.Thang5;
     oldObj.Thang6  = item.Thang6;
     oldObj.Thang7  = item.Thang7;
     oldObj.Thang8  = item.Thang8;
     oldObj.Thang9  = item.Thang9;
     oldObj.Thang10 = item.Thang10;
     oldObj.Thang11 = item.Thang11;
     oldObj.Thang12 = item.Thang12;
     Save();
 }
 /// <summary>
 /// Loại bỏ 1 nhân viên ra khỏi bảng quản lý ngày phép
 /// </summary>
 /// <param name="ID">Khóa chính của bảng DanhSachNgayPhep</param>
 public void DeleteEmployee(int ID)
 {
     DAL.DanhSachNgayPhep existing = dataContext.DanhSachNgayPheps.Where(t => t.ID == ID).FirstOrDefault();
     dataContext.DanhSachNgayPheps.DeleteOnSubmit(existing);
     Save();
 }