public void Update(DAL.HOSO_LUONG salarayDecison)
    {
        DAL.HOSO_LUONG tmp = GetByID(salarayDecison.ID);
        tmp.BacLuong                = salarayDecison.BacLuong;
        tmp.BacLuongNB              = salarayDecison.BacLuongNB;
        tmp.GhiChu                  = salarayDecison.GhiChu;
        tmp.HeSoLuong               = salarayDecison.HeSoLuong;
        tmp.LuongCung               = salarayDecison.LuongCung;
        tmp.LuongDongBHXH           = salarayDecison.LuongDongBHXH;
        tmp.MaLoaiLuong             = salarayDecison.MaLoaiLuong;
        tmp.NgayHieuLuc             = salarayDecison.NgayHieuLuc;
        tmp.NgayHuongLuong          = salarayDecison.NgayHuongLuong;
        tmp.NgayHuongLuongNB        = salarayDecison.NgayHuongLuongNB;
        tmp.NgayKetThucHieuLuc      = salarayDecison.NgayKetThucHieuLuc;
        tmp.NgayQuyetDinh           = salarayDecison.NgayQuyetDinh;
        tmp.PhanTramHuongLuong      = salarayDecison.PhanTramHuongLuong;
        tmp.LuongTrachNhiem         = salarayDecison.LuongTrachNhiem;
        tmp.PrKeyHoSo               = salarayDecison.PrKeyHoSo;
        tmp.prKeyHoSoNguoiQuyetDinh = salarayDecison.prKeyHoSoNguoiQuyetDinh;
        tmp.SoQuyetDinh             = salarayDecison.SoQuyetDinh;
        tmp.TenQuyetDinh            = salarayDecison.TenQuyetDinh;
        tmp.MaNgach                 = salarayDecison.MaNgach;
        tmp.TepTinDinhKem           = salarayDecison.TepTinDinhKem;
        tmp.TrangThai               = salarayDecison.TrangThai;
        tmp.PrKeyHoSoHopDong        = salarayDecison.PrKeyHoSoHopDong;
        Save();
        var hoso = new HoSoController().GetByPrKey(salarayDecison.PrKeyHoSo);

        new HoSoLuongController().UpDateLuongTheoQuyetDinhLuong(hoso.MA_CB);
    }
    public void Add(DAL.HOSO_LUONG salarayDecison)
    {
        dataContext.HOSO_LUONGs.InsertOnSubmit(salarayDecison);
        Save();
        var hoso = new HoSoController().GetByPrKey(salarayDecison.PrKeyHoSo);

        new HoSoLuongController().UpDateLuongTheoQuyetDinhLuong(hoso.MA_CB);
    }
    //private string GetCongThuc(ref List<bangtam.bangcongthuc> congthuc, string maca, decimal sanluonggio, int chisocot, int thamnien, string mabophan, string machucvu, string mavitricongviec)
    //{
    //    int prmax = -1, somax = -1;
    //    foreach (var item in congthuc.Where(p => p.TenCot == chisocot && p.ThamNien <= thamnien))
    //    {
    //        int dem = 0;
    //        if (item.MaBoPhan.IndexOf(mabophan) >= 0 && mabophan != "") dem++;
    //        if (item.ChucVu.IndexOf(machucvu) >= 0 && machucvu != "") dem++;
    //        if (item.ViTriCongViec.IndexOf(mavitricongviec) >= 0 && mavitricongviec != "") dem++;
    //        if (dem > somax) { prmax = item.PRKEY; somax = dem; }
    //    }

    //    bangtam.bangcongthuc obj = congthuc.OrderBy(p=>p.).FirstOrDefault(p => p.PRKEY == prmax);
    //    if (obj == null) return "";
    //    else if (obj.EditAble == false) return "";
    //    else return obj.CongThuc;
    //}

    private double GetLuong(string ma_cb)
    {
        //lấy tất cả những quyết định lương của ông có id= idnhanvienbaohiem
        List <DAL.HOSO_LUONG> tmp = dataContext.HOSO_LUONGs.Where(p => p.NgayHieuLuc <= DateTime.Now && p.TrangThai == "DaDuyet" && p.HOSO.MA_CB == ma_cb).ToList();

        //lấy quyết định lương gần đây nhất. bỏ qua việc xác nhận lỗi có 2 bản ghi cùng ngày hiệu lực
        DAL.HOSO_LUONG quyetdinhluong = tmp.SingleOrDefault(p => p.NgayHieuLuc == tmp.Max(v => v.NgayHieuLuc));
        return(quyetdinhluong == null ? 0 : (quyetdinhluong.LuongCung ?? 0));
    }