public bool StartReport() { fmAccrStatement fmAccrStat = new fmAccrStatement(); if (fmAccrStat.ShowDialog() != DialogResult.OK) { return(false); } string error = string.Empty; DateTime datBeg = fmAccrStat.GetDateBegParam(); DateTime datEnd = fmAccrStat.GetDateEndParam(); EnumSalaryList typeForm = fmAccrStat.GetFormParam(); List <int> id_dep = fmAccrStat.GetIdCheckedDep(); Parameters[0] = new ReportParameter("MonthNameBeg", SalaryHelper.GetMonthNameById(datBeg.Month, EnumCaseWorld.Genetive)); Parameters[1] = new ReportParameter("MonthNameEnd", SalaryHelper.GetMonthNameById(datEnd.Month, EnumCaseWorld.Nominative)); LoadDataForPrint(datBeg, datEnd, typeForm, id_dep, out error); if (error != string.Empty) { MessageBox.Show("Помилка.\nТехнічна інформація: " + error, "Помилка"); return(false); } ReportDataSource report = new ReportDataSource("dsAccrStatement", _accrStatement); DataSources.Add(report); return(true); }
public bool StartReport() { fmSalaryList fmList = new fmSalaryList(_checkedId == null ? false : true); if (fmList.ShowDialog() != DialogResult.OK) { return(false); } string error = string.Empty; DateTime dat = fmList.GetDateParam(); EnumSalaryList typeForm = fmList.GetFormParam(); List <int> id_dep = fmList.GetIdCheckedDep(); LoadDataForPrint(dat, typeForm, id_dep, out error); if (error != string.Empty) { MessageBox.Show("Помилка.\nТехнічна інформація: " + error, "Помилка"); return(false); } ReportDataSource report = new ReportDataSource("dsSalaryList", _salaryList); DataSources.Add(report); return(true); }
private bool LoadDataForPrint(DateTime datBeg, DateTime datEnd, EnumSalaryList typeForm, List <int> id_dep, out string error) { error = string.Empty; List <PersCard> cards = _repoCard.GetAllCards(out error); if (error != string.Empty) { return(false); } List <Salary> salaries = _repoSalary.GetSalariesByParams(0, 0, datBeg, datEnd, out error); if (error != string.Empty) { return(false); } List <Vocation> vocs = _repoVocation.GetVocationsByParams(0, 0, datBeg, datEnd, out error); if (error != string.Empty) { return(false); } List <SickList> lists = _repoSickList.GetSickListsByParams(0, 0, datBeg, datEnd, out error); if (error != string.Empty) { return(false); } List <RefDep> deps = _repoDep.GetAllDeps(out error); if (error != string.Empty) { return(false); } List <AddAccr> addAccrs = _repoAddAccr.GetAddAccrByParams(0, 0, datBeg, datEnd, out error); if (error != string.Empty) { return(false); } List <RefTypeAddAccr> typeAddAccrs = _repoTypeAddAccr.GetAllTypeAddAccr(out error); if (error != string.Empty) { return(false); } for (DateTime dat = datBeg; dat <= datEnd; dat = dat.AddMonths(1)) { if (typeForm == EnumSalaryList.ByFirma) { _accrStatement.AddRange( (from card in cards join sal in salaries on card.PersCard_Id equals sal.Salary_PersCard_Id join dep in deps on sal.Salary_RefDep_Id equals dep.RefDep_Id where sal.Salary_Date == dat orderby card.PersCard_LName, card.PersCard_FName, card.PersCard_MName select new RPR_AccrStatement { PersCard_Name = SalaryHelper.GetLastNameWithInit(card.PersCard_LName, card.PersCard_MName, card.PersCard_FName), Month = dat.Month, RefDep_Id = dep == null ? 0 : dep.RefDep_Id, NameDep = dep == null ? string.Empty : dep.RefDep_Nm, Salary_Days = sal.Salary_Days, Salary_Hours = sal.Salary_Hours, Salary_BaseSm = sal.Salary_BaseSm, Salary_PensSm = sal.Salary_PensSm, Salary_GradeSm = sal.Salary_GradeSm, Salary_ExpSm = sal.Salary_ExpSm, Salary_OthSm = sal.Salary_OthSm, Salary_KTU = sal.Salary_KTU, Salary_KTUSm = sal.Salary_KTUSm, Salary_ResSm = sal.Salary_ResSm, Vocation_Days = 0, Vocation_Sm = 0, SickList_DaysTmpDis = 0, SickList_ResSm = 0, AddAccr_SmClc = 0, AddAccr_SmNoClc = 0, Accr_TotalSm = sal.Salary_ResSm }).ToList() ); _accrStatement.AddRange( (from card in cards join voc in vocs on card.PersCard_Id equals voc.Vocation_PersCard_Id join dep in deps on voc.Vocation_RefDep_Id equals dep.RefDep_Id where voc.Vocation_Date == dat orderby card.PersCard_LName, card.PersCard_FName, card.PersCard_MName select new RPR_AccrStatement { PersCard_Name = SalaryHelper.GetLastNameWithInit(card.PersCard_LName, card.PersCard_MName, card.PersCard_FName), Month = dat.Month, RefDep_Id = dep == null ? 0 : dep.RefDep_Id, NameDep = dep == null ? string.Empty : dep.RefDep_Nm, Salary_Days = 0, Salary_Hours = 0, Salary_BaseSm = 0, Salary_PensSm = 0, Salary_GradeSm = 0, Salary_ExpSm = 0, Salary_OthSm = 0, Salary_KTU = 0, Salary_KTUSm = 0, Salary_ResSm = 0, Vocation_Days = voc.Vocation_Days, Vocation_Sm = voc.Vocation_Sm, SickList_DaysTmpDis = 0, SickList_ResSm = 0, AddAccr_SmClc = 0, AddAccr_SmNoClc = 0, Accr_TotalSm = voc.Vocation_Sm }).ToList() ); _accrStatement.AddRange( (from card in cards join sick in lists on card.PersCard_Id equals sick.SickList_PersCard_Id join dep in deps on sick.SickList_RefDep_Id equals dep.RefDep_Id where sick.SickList_Date == dat orderby card.PersCard_LName, card.PersCard_FName, card.PersCard_MName select new RPR_AccrStatement { PersCard_Name = SalaryHelper.GetLastNameWithInit(card.PersCard_LName, card.PersCard_MName, card.PersCard_FName), Month = dat.Month, RefDep_Id = dep == null ? 0 : dep.RefDep_Id, NameDep = dep == null ? string.Empty : dep.RefDep_Nm, Salary_Days = 0, Salary_Hours = 0, Salary_BaseSm = 0, Salary_PensSm = 0, Salary_GradeSm = 0, Salary_ExpSm = 0, Salary_OthSm = 0, Salary_KTU = 0, Salary_KTUSm = 0, Salary_ResSm = 0, Vocation_Days = 0, Vocation_Sm = 0, SickList_DaysTmpDis = sick.SickList_DaysTmpDis, SickList_ResSm = sick.SickList_ResSm, AddAccr_SmClc = 0, AddAccr_SmNoClc = 0, Accr_TotalSm = sick.SickList_ResSm }).ToList() ); _accrStatement.AddRange( (from card in cards join addAccr in addAccrs on card.PersCard_Id equals addAccr.AddAccr_PersCard_Id join typeAddAccr in typeAddAccrs on addAccr.AddAccr_RefTypeAddAccr_Id equals typeAddAccr.RefTypeAddAccr_Id join dep in deps on addAccr.AddAccr_RefDep_Id equals dep.RefDep_Id where addAccr.AddAccr_Date == dat orderby card.PersCard_LName, card.PersCard_FName, card.PersCard_MName select new RPR_AccrStatement { PersCard_Name = SalaryHelper.GetLastNameWithInit(card.PersCard_LName, card.PersCard_MName, card.PersCard_FName), Month = dat.Month, RefDep_Id = dep == null ? 0 : dep.RefDep_Id, NameDep = dep == null ? string.Empty : dep.RefDep_Nm, Salary_Days = 0, Salary_Hours = 0, Salary_BaseSm = 0, Salary_PensSm = 0, Salary_GradeSm = 0, Salary_ExpSm = 0, Salary_OthSm = 0, Salary_KTU = 0, Salary_KTUSm = 0, Salary_ResSm = 0, Vocation_Days = 0, Vocation_Sm = 0, SickList_DaysTmpDis = 0, SickList_ResSm = 0, AddAccr_SmClc = ((typeAddAccr.RefTypeAddAccr_Flg & (int)EnumTypeAddAccr_Flg.TypeAddAccr_Clc) > 0) ? addAccr.AddAccr_Sm : 0, AddAccr_SmNoClc = ((typeAddAccr.RefTypeAddAccr_Flg & (int)EnumTypeAddAccr_Flg.TypeAddAccr_Clc) > 0) ? 0 : addAccr.AddAccr_Sm, Accr_TotalSm = ((typeAddAccr.RefTypeAddAccr_Flg & (int)EnumTypeAddAccr_Flg.TypeAddAccr_Clc) > 0) ? addAccr.AddAccr_Sm : 0, }).ToList() ); } else if (typeForm == EnumSalaryList.ByDep) { _accrStatement.AddRange( (from card in cards join sal in salaries on card.PersCard_Id equals sal.Salary_PersCard_Id join dep in deps on sal.Salary_RefDep_Id equals dep.RefDep_Id where sal.Salary_Date == dat && id_dep.Contains(sal.Salary_RefDep_Id) orderby card.PersCard_LName, card.PersCard_FName, card.PersCard_MName select new RPR_AccrStatement { PersCard_Name = SalaryHelper.GetLastNameWithInit(card.PersCard_LName, card.PersCard_MName, card.PersCard_FName), Month = dat.Month, RefDep_Id = dep == null ? 0 : dep.RefDep_Id, NameDep = dep == null ? string.Empty : dep.RefDep_Nm, Salary_Days = sal.Salary_Days, Salary_Hours = sal.Salary_Hours, Salary_BaseSm = sal.Salary_BaseSm, Salary_PensSm = sal.Salary_PensSm, Salary_GradeSm = sal.Salary_GradeSm, Salary_ExpSm = sal.Salary_ExpSm, Salary_OthSm = sal.Salary_OthSm, Salary_KTU = sal.Salary_KTU, Salary_KTUSm = sal.Salary_KTUSm, Salary_ResSm = sal.Salary_ResSm, Vocation_Days = 0, Vocation_Sm = 0, SickList_DaysTmpDis = 0, SickList_ResSm = 0, AddAccr_SmClc = 0, AddAccr_SmNoClc = 0, Accr_TotalSm = sal.Salary_ResSm }).ToList() ); _accrStatement.AddRange( (from card in cards join vocation in vocs on card.PersCard_Id equals vocation.Vocation_PersCard_Id join dep in deps on vocation.Vocation_RefDep_Id equals dep.RefDep_Id where vocation.Vocation_Date == dat && id_dep.Contains(vocation.Vocation_RefDep_Id) orderby card.PersCard_LName, card.PersCard_FName, card.PersCard_MName select new RPR_AccrStatement { PersCard_Name = SalaryHelper.GetLastNameWithInit(card.PersCard_LName, card.PersCard_MName, card.PersCard_FName), Month = dat.Month, RefDep_Id = dep == null ? 0 : dep.RefDep_Id, NameDep = dep == null ? string.Empty : dep.RefDep_Nm, Salary_Days = 0, Salary_Hours = 0, Salary_BaseSm = 0, Salary_PensSm = 0, Salary_GradeSm = 0, Salary_ExpSm = 0, Salary_OthSm = 0, Salary_KTU = 0, Salary_KTUSm = 0, Salary_ResSm = 0, Vocation_Days = vocation.Vocation_Days, Vocation_Sm = vocation.Vocation_Sm, SickList_DaysTmpDis = 0, SickList_ResSm = 0, AddAccr_SmClc = 0, AddAccr_SmNoClc = 0, Accr_TotalSm = vocation.Vocation_Sm }).ToList() ); _accrStatement.AddRange( (from card in cards join sick in lists on card.PersCard_Id equals sick.SickList_PersCard_Id join dep in deps on sick.SickList_RefDep_Id equals dep.RefDep_Id where sick.SickList_Date == dat && id_dep.Contains(sick.SickList_RefDep_Id) orderby card.PersCard_LName, card.PersCard_FName, card.PersCard_MName select new RPR_AccrStatement { PersCard_Name = SalaryHelper.GetLastNameWithInit(card.PersCard_LName, card.PersCard_MName, card.PersCard_FName), Month = dat.Month, RefDep_Id = dep == null ? 0 : dep.RefDep_Id, NameDep = dep == null ? string.Empty : dep.RefDep_Nm, Salary_Days = 0, Salary_Hours = 0, Salary_BaseSm = 0, Salary_PensSm = 0, Salary_GradeSm = 0, Salary_ExpSm = 0, Salary_OthSm = 0, Salary_KTU = 0, Salary_KTUSm = 0, Salary_ResSm = 0, Vocation_Days = 0, Vocation_Sm = 0, SickList_DaysTmpDis = sick.SickList_DaysTmpDis, SickList_ResSm = sick.SickList_ResSm, AddAccr_SmClc = 0, AddAccr_SmNoClc = 0, Accr_TotalSm = sick.SickList_ResSm }).ToList() ); _accrStatement.AddRange( (from card in cards join addAccr in addAccrs on card.PersCard_Id equals addAccr.AddAccr_PersCard_Id join typeAddAccr in typeAddAccrs on addAccr.AddAccr_RefTypeAddAccr_Id equals typeAddAccr.RefTypeAddAccr_Id join dep in deps on addAccr.AddAccr_RefDep_Id equals dep.RefDep_Id where addAccr.AddAccr_Date == dat && id_dep.Contains(addAccr.AddAccr_RefDep_Id) orderby card.PersCard_LName, card.PersCard_FName, card.PersCard_MName select new RPR_AccrStatement { PersCard_Name = SalaryHelper.GetLastNameWithInit(card.PersCard_LName, card.PersCard_MName, card.PersCard_FName), Month = dat.Month, RefDep_Id = dep == null ? 0 : dep.RefDep_Id, NameDep = dep == null ? string.Empty : dep.RefDep_Nm, Salary_Days = 0, Salary_Hours = 0, Salary_BaseSm = 0, Salary_PensSm = 0, Salary_GradeSm = 0, Salary_ExpSm = 0, Salary_OthSm = 0, Salary_KTU = 0, Salary_KTUSm = 0, Salary_ResSm = 0, Vocation_Days = 0, Vocation_Sm = 0, SickList_DaysTmpDis = 0, SickList_ResSm = 0, AddAccr_SmClc = ((typeAddAccr.RefTypeAddAccr_Flg & (int)EnumTypeAddAccr_Flg.TypeAddAccr_Clc) > 0) ? addAccr.AddAccr_Sm : 0, AddAccr_SmNoClc = ((typeAddAccr.RefTypeAddAccr_Flg & (int)EnumTypeAddAccr_Flg.TypeAddAccr_Clc) > 0) ? 0 : addAccr.AddAccr_Sm, Accr_TotalSm = ((typeAddAccr.RefTypeAddAccr_Flg & (int)EnumTypeAddAccr_Flg.TypeAddAccr_Clc) > 0) ? addAccr.AddAccr_Sm : 0, }).ToList() ); } } _accrStatement = (from accrStat in _accrStatement group accrStat by new { accrStat.Month, accrStat.PersCard_Name, accrStat.RefDep_Id, accrStat.NameDep } into gr select new RPR_AccrStatement { PersCard_Name = gr.Key.PersCard_Name, Month = gr.Key.Month, RefDep_Id = gr.Key.RefDep_Id, NameDep = gr.Key.NameDep, Salary_Days = gr.Sum(rec => rec.Salary_Days), Salary_Hours = gr.Sum(rec => rec.Salary_Hours), Salary_BaseSm = gr.Sum(rec => rec.Salary_BaseSm), Salary_PensSm = gr.Sum(rec => rec.Salary_PensSm), Salary_GradeSm = gr.Sum(rec => rec.Salary_GradeSm), Salary_ExpSm = gr.Sum(rec => rec.Salary_ExpSm), Salary_OthSm = gr.Sum(rec => rec.Salary_OthSm), Salary_KTU = gr.Sum(rec => rec.Salary_KTU), Salary_KTUSm = gr.Sum(rec => rec.Salary_KTUSm), Salary_ResSm = gr.Sum(rec => rec.Salary_ResSm), Vocation_Days = gr.Sum(rec => rec.Vocation_Days), Vocation_Sm = gr.Sum(rec => rec.Vocation_Sm), SickList_DaysTmpDis = gr.Sum(rec => rec.SickList_DaysTmpDis), SickList_ResSm = gr.Sum(rec => rec.SickList_ResSm), AddAccr_SmClc = gr.Sum(rec => rec.AddAccr_SmClc), AddAccr_SmNoClc = gr.Sum(rec => rec.AddAccr_SmNoClc), Accr_TotalSm = gr.Sum(rec => rec.Accr_TotalSm) }).ToList(); return(true); }
private bool LoadDataForPrint(DateTime dat, EnumSalaryList typeForm, List <int> id_dep, out string error) { error = string.Empty; List <PersCard> cards = _repoCard.GetAllCards(out error); if (error != string.Empty) { return(false); } List <Salary> salaries = _repoSalary.GetSalariesByParams(0, 0, dat, dat, out error); if (error != string.Empty) { return(false); } List <RefDep> deps = _repoDep.GetAllDeps(out error); if (error != string.Empty) { return(false); } List <Vocation> vocations = _repoVocation.GetVocationsByParams(0, 0, dat, dat, out error); if (error != string.Empty) { return(false); } List <SickList> sickLists = _repoSickList.GetSickListsByParams(0, 0, dat, dat, out error); if (error != string.Empty) { return(false); } List <LawContract> lawContracts = _repoLaw.GetLawContractsByParams(0, 0, dat, dat, out error); if (error != string.Empty) { return(false); } List <Payment> payments = _repoPayment.GetPaymentByParams(0, 0, dat, dat, out error); if (error != string.Empty) { return(false); } List <v_TypePayment> typePayment = TypePaymentHelper.GetTypePayment(); List <AddAccr> addAccrs = _repoAddAccr.GetAddAccrByParams(0, 0, dat, dat, out error); if (error != string.Empty) { return(false); } List <RefTypeAddAccr> typeAddAccrs = _repoTypeAddAccr.GetAllTypeAddAccr(out error); if (error != string.Empty) { return(false); } List <AddPayment> addPayment = _repoAddPayment.GetAddPaymentsByParams(0, 0, dat, dat, out error); if (error != string.Empty) { return(false); } List <RefTypeAddPayment> typeAddPayment = _repoTypeAddPayment.GetAllTypeAddPayments(out error); if (error != string.Empty) { return(false); } _acses = _repoAcs.GetAllACSByParam(dat, out error); if (error != string.Empty) { return(false); } if (typeForm == EnumSalaryList.ByFirma) { _paymentAccr = (from pay in payments join type in typePayment on pay.Payment_Type equals type.Id into typ from type in typ.DefaultIfEmpty() select new RPR_PaymentAccr { PersCard_Id = pay.Payment_PersCard_Id, TypeName = "Виплати", Name = type.Name, Sm = pay.Payment_Sm } ).ToList(); _paymentAccr.AddRange( (from accr in addAccrs join type in typeAddAccrs on accr.AddAccr_RefTypeAddAccr_Id equals type.RefTypeAddAccr_Id into typ from type in typ.DefaultIfEmpty() select new RPR_PaymentAccr { PersCard_Id = accr.AddAccr_PersCard_Id, TypeName = "Додаткові нарахування", Name = type.RefTypeAddAccr_Nm + " (" + ( ((type.RefTypeAddAccr_Flg & (int)EnumTypeAddAccr_Flg.TypeAddAccr_Clc) > 0) ? "Розрах." : "Не розрах.") + ")", Sm = accr.AddAccr_Sm } ) ); _paymentAccr.AddRange( (from addPay in addPayment join type in typeAddPayment on addPay.AddPayment_TypeAddPayment_Id equals type.RefTypeAddPayment_Id into typ from type in typ.DefaultIfEmpty() select new RPR_PaymentAccr { PersCard_Id = addPay.AddPayment_PersCard_Id, TypeName = "Додаткові виплати", Name = type.RefTypeAddPayment_Nm, Sm = addPay.AddPayment_Sm } ) ); _vocSickLaw = (from voc in vocations join dep in deps on voc.Vocation_RefDep_Id equals dep.RefDep_Id into dep from department in dep.DefaultIfEmpty() select new RPR_VocSickLaw { PersCard_Id = voc.Vocation_PersCard_Id, TypeName = "Відпускні", RefDep_Name = department.RefDep_Nm, Days = voc.Vocation_Days, Sm = voc.Vocation_Sm } ).ToList(); _vocSickLaw.AddRange( (from list in sickLists join dep in deps on list.SickList_RefDep_Id equals dep.RefDep_Id into dep from department in dep.DefaultIfEmpty() select new RPR_VocSickLaw { PersCard_Id = list.SickList_PersCard_Id, TypeName = "Лікарняні", RefDep_Name = department.RefDep_Nm, Days = list.SickList_DaysTmpDis, Sm = list.SickList_ResSm } ).ToList() ); _vocSickLaw.AddRange( (from contract in lawContracts join dep in deps on contract.LawContract_RefDep_Id equals dep.RefDep_Id into dep from department in dep.DefaultIfEmpty() select new RPR_VocSickLaw { PersCard_Id = contract.LawContract_PersCard_Id, TypeName = "Договора ЦПХ", RefDep_Name = department.RefDep_Nm, Days = contract.LawContract_Days, Sm = contract.LawContract_Sm } ).ToList() ); _salaryList = (from card in cards join salary in salaries on card.PersCard_Id equals salary.Salary_PersCard_Id into sal from salary in sal.DefaultIfEmpty() join acs in _acses on card.PersCard_Id equals acs.PersCard_Id into rec from acs in rec.DefaultIfEmpty() join dep in deps on(salary == null ? 0 : salary.Salary_RefDep_Id) equals dep.RefDep_Id into dep from department in dep.DefaultIfEmpty() select new RPR_SalaryList { PersCard_Id = card.PersCard_Id, PersCard_LName = card.PersCard_LName, PersCard_FName = card.PersCard_FName, PersCard_MName = card.PersCard_MName, PersCard_TIN = card.PersCard_TIN, Salary_DepName = department == null ? string.Empty : department.RefDep_Nm, SalBalance_BegMonthSm = acs == null ? 0 : acs.SalBalance_BegMonthSm, SalBalance_EndMonthSm = acs == null ? 0 : acs.SalBalance_EndMonthSm, Salary_Days = salary == null ? 0 : salary.Salary_Days, Salary_Hours = salary == null ? 0 : salary.Salary_Hours, Salary_BaseSm = salary == null ? 0 : salary.Salary_BaseSm, Salary_PensSm = salary == null ? 0 : salary.Salary_PensSm, Salary_GradeSm = salary == null ? 0 : salary.Salary_GradeSm, Salary_ExpSm = salary == null ? 0 : salary.Salary_ExpSm, Salary_OthSm = salary == null ? 0 : salary.Salary_OthSm, Salary_KTU = salary == null ? 0 : salary.Salary_KTU, Salary_KTUSm = salary == null ? 0 : salary.Salary_KTUSm, Salary_ResSm = salary == null ? 0 : salary.Salary_ResSm, Tax_Sm = acs == null ? 0 : acs.Tax_Sm, Prof_Sm = acs == null ? 0 : acs.Prof_Sm, Military_Sm = acs == null ? 0 : acs.Military_Sm, TotalDeduct_Sm = acs == null ? 0 : (acs.Tax_Sm + acs.Prof_Sm + acs.Military_Sm), NameMonth = SalaryHelper.GetMonthNameById(dat.Month, EnumCaseWorld.Nominative) }).ToList(); } else if (typeForm == EnumSalaryList.ByDep) { //Выплаты _paymentAccr = (from pay in payments join salary in salaries on pay.Payment_PersCard_Id equals salary.Salary_PersCard_Id join department in deps on salary.Salary_RefDep_Id equals department.RefDep_Id join type in typePayment on pay.Payment_Type equals type.Id into typ from type in typ.DefaultIfEmpty() where id_dep.Contains(department.RefDep_Id) select new RPR_PaymentAccr { PersCard_Id = pay.Payment_PersCard_Id, TypeName = "Виплати", Name = type.Name, Sm = pay.Payment_Sm } ).ToList(); _paymentAccr.AddRange( (from accr in addAccrs join salary in salaries on accr.AddAccr_PersCard_Id equals salary.Salary_PersCard_Id join department in deps on salary.Salary_RefDep_Id equals department.RefDep_Id join type in typeAddAccrs on(accr == null ? 0 : accr.AddAccr_RefTypeAddAccr_Id) equals type.RefTypeAddAccr_Id into typ from type in typ.DefaultIfEmpty() where id_dep.Contains(department.RefDep_Id) select new RPR_PaymentAccr { PersCard_Id = accr.AddAccr_PersCard_Id, TypeName = "Додаткові нарахування", Name = type.RefTypeAddAccr_Nm + " (" + ( ((type.RefTypeAddAccr_Flg & (int)EnumTypeAddAccr_Flg.TypeAddAccr_Clc) > 0) ? "Розрах." : "Не розрах.") + ")", Sm = accr.AddAccr_Sm } ) ); _paymentAccr.AddRange( (from addPay in addPayment join salary in salaries on addPay.AddPayment_PersCard_Id equals salary.Salary_PersCard_Id join department in deps on salary.Salary_RefDep_Id equals department.RefDep_Id join type in typeAddPayment on(addPay == null ? 0 : addPay.AddPayment_TypeAddPayment_Id) equals type.RefTypeAddPayment_Id into typ from type in typ.DefaultIfEmpty() where id_dep.Contains(department.RefDep_Id) select new RPR_PaymentAccr { PersCard_Id = addPay.AddPayment_PersCard_Id, TypeName = "Додаткові виплати", Name = type.RefTypeAddPayment_Nm, Sm = addPay.AddPayment_Sm } ) ); _vocSickLaw = (from voc in vocations join salary in salaries on voc.Vocation_PersCard_Id equals salary.Salary_PersCard_Id join department in deps on salary.Salary_RefDep_Id equals department.RefDep_Id where id_dep.Contains(department.RefDep_Id) select new RPR_VocSickLaw { PersCard_Id = voc.Vocation_PersCard_Id, TypeName = "Відпускні", RefDep_Name = department.RefDep_Nm, Days = voc.Vocation_Days, Sm = voc.Vocation_Sm } ).ToList(); _vocSickLaw.AddRange( (from list in sickLists join salary in salaries on list.SickList_PersCard_Id equals salary.Salary_PersCard_Id join department in deps on salary.Salary_RefDep_Id equals department.RefDep_Id where id_dep.Contains(department.RefDep_Id) select new RPR_VocSickLaw { PersCard_Id = list.SickList_PersCard_Id, TypeName = "Лікарняні", RefDep_Name = department.RefDep_Nm, Days = list.SickList_DaysTmpDis, Sm = list.SickList_ResSm } ).ToList() ); _vocSickLaw.AddRange( (from contract in lawContracts join salary in salaries on contract.LawContract_PersCard_Id equals salary.Salary_PersCard_Id join department in deps on salary.Salary_RefDep_Id equals department.RefDep_Id where id_dep.Contains(department.RefDep_Id) select new RPR_VocSickLaw { PersCard_Id = contract.LawContract_PersCard_Id, TypeName = "Договора ЦПХ", RefDep_Name = department.RefDep_Nm, Days = contract.LawContract_Days, Sm = contract.LawContract_Sm } ).ToList() ); _salaryList = (from card in cards join salary in salaries on card.PersCard_Id equals salary.Salary_PersCard_Id join department in deps on salary.Salary_RefDep_Id equals department.RefDep_Id join acs in _acses on card.PersCard_Id equals acs.PersCard_Id into rec from acs in rec.DefaultIfEmpty() where id_dep.Contains(salary.Salary_RefDep_Id) select new RPR_SalaryList { PersCard_Id = card.PersCard_Id, PersCard_LName = card.PersCard_LName, PersCard_FName = card.PersCard_FName, PersCard_MName = card.PersCard_MName, PersCard_TIN = card.PersCard_TIN, Salary_DepName = department == null ? string.Empty : department.RefDep_Nm, SalBalance_BegMonthSm = acs == null ? 0 : acs.SalBalance_BegMonthSm, SalBalance_EndMonthSm = acs == null ? 0 : acs.SalBalance_EndMonthSm, Salary_Days = salary == null ? 0 : salary.Salary_Days, Salary_Hours = salary == null ? 0 : salary.Salary_Hours, Salary_BaseSm = salary == null ? 0 : salary.Salary_BaseSm, Salary_PensSm = salary == null ? 0 : salary.Salary_PensSm, Salary_GradeSm = salary == null ? 0 : salary.Salary_GradeSm, Salary_ExpSm = salary == null ? 0 : salary.Salary_ExpSm, Salary_OthSm = salary == null ? 0 : salary.Salary_OthSm, Salary_KTU = salary == null ? 0 : salary.Salary_KTU, Salary_KTUSm = salary == null ? 0 : salary.Salary_KTUSm, Salary_ResSm = salary == null ? 0 : salary.Salary_ResSm, Tax_Sm = acs == null ? 0 : acs.Tax_Sm, Prof_Sm = acs == null ? 0 : acs.Prof_Sm, Military_Sm = acs == null ? 0 : acs.Military_Sm, TotalDeduct_Sm = acs == null ? 0 : (acs.Tax_Sm + acs.Prof_Sm + acs.Military_Sm), NameMonth = SalaryHelper.GetMonthNameById(dat.Month, EnumCaseWorld.Nominative) }).ToList(); } else if (typeForm == EnumSalaryList.ByPersCard) { _paymentAccr = (from pay in payments join type in typePayment on pay.Payment_Type equals type.Id into typ from type in typ.DefaultIfEmpty() where _checkedId.Contains(pay.Payment_PersCard_Id) select new RPR_PaymentAccr { PersCard_Id = pay.Payment_PersCard_Id, TypeName = "Виплати", Name = type.Name, Sm = pay.Payment_Sm } ).ToList(); _paymentAccr.AddRange( (from accr in addAccrs join type in typeAddAccrs on accr.AddAccr_RefTypeAddAccr_Id equals type.RefTypeAddAccr_Id into typ from type in typ.DefaultIfEmpty() where _checkedId.Contains(accr.AddAccr_PersCard_Id) select new RPR_PaymentAccr { PersCard_Id = accr.AddAccr_PersCard_Id, TypeName = "Додаткові нарахування", Name = type.RefTypeAddAccr_Nm + " (" + ( ((type.RefTypeAddAccr_Flg & (int)EnumTypeAddAccr_Flg.TypeAddAccr_Clc) > 0) ? "Розрах." : "Не розрах.") + ")", Sm = accr.AddAccr_Sm } ) ); _paymentAccr.AddRange( (from addPay in addPayment join type in typeAddPayment on addPay.AddPayment_TypeAddPayment_Id equals type.RefTypeAddPayment_Id into typ from type in typ.DefaultIfEmpty() where _checkedId.Contains(addPay.AddPayment_PersCard_Id) select new RPR_PaymentAccr { PersCard_Id = addPay.AddPayment_PersCard_Id, TypeName = "Додаткові виплати", Name = type.RefTypeAddPayment_Nm, Sm = addPay.AddPayment_Sm } ) ); _vocSickLaw = (from voc in vocations join dep in deps on voc.Vocation_RefDep_Id equals dep.RefDep_Id into dep from department in dep.DefaultIfEmpty() where _checkedId.Contains(voc.Vocation_PersCard_Id) select new RPR_VocSickLaw { PersCard_Id = voc.Vocation_PersCard_Id, TypeName = "Відпускні", RefDep_Name = department.RefDep_Nm, Days = voc.Vocation_Days, Sm = voc.Vocation_Sm } ).ToList(); _vocSickLaw.AddRange( (from list in sickLists join dep in deps on list.SickList_RefDep_Id equals dep.RefDep_Id into dep from department in dep.DefaultIfEmpty() where _checkedId.Contains(list.SickList_PersCard_Id) select new RPR_VocSickLaw { PersCard_Id = list.SickList_PersCard_Id, TypeName = "Лікарняні", RefDep_Name = department.RefDep_Nm, Days = list.SickList_DaysTmpDis, Sm = list.SickList_ResSm } ).ToList() ); _vocSickLaw.AddRange( (from contract in lawContracts join dep in deps on contract.LawContract_RefDep_Id equals dep.RefDep_Id into dep from department in dep.DefaultIfEmpty() where _checkedId.Contains(contract.LawContract_PersCard_Id) select new RPR_VocSickLaw { PersCard_Id = contract.LawContract_PersCard_Id, TypeName = "Договора ЦПХ", RefDep_Name = department.RefDep_Nm, Days = contract.LawContract_Days, Sm = contract.LawContract_Sm } ).ToList() ); _salaryList = (from card in cards join salary in salaries on card.PersCard_Id equals salary.Salary_PersCard_Id into sal from salary in sal.DefaultIfEmpty() join acs in _acses on card.PersCard_Id equals acs.PersCard_Id into rec from acs in rec.DefaultIfEmpty() join dep in deps on(salary == null ? 0 : salary.Salary_RefDep_Id) equals dep.RefDep_Id into dep from department in dep.DefaultIfEmpty() where _checkedId.Contains(card.PersCard_Id) select new RPR_SalaryList { PersCard_Id = card.PersCard_Id, PersCard_LName = card.PersCard_LName, PersCard_FName = card.PersCard_FName, PersCard_MName = card.PersCard_MName, PersCard_TIN = card.PersCard_TIN, Salary_DepName = department == null ? string.Empty : department.RefDep_Nm, SalBalance_BegMonthSm = acs == null ? 0 : acs.SalBalance_BegMonthSm, SalBalance_EndMonthSm = acs == null ? 0 : acs.SalBalance_EndMonthSm, Salary_Days = salary == null ? 0 : salary.Salary_Days, Salary_Hours = salary == null ? 0 : salary.Salary_Hours, Salary_BaseSm = salary == null ? 0 : salary.Salary_BaseSm, Salary_PensSm = salary == null ? 0 : salary.Salary_PensSm, Salary_GradeSm = salary == null ? 0 : salary.Salary_GradeSm, Salary_ExpSm = salary == null ? 0 : salary.Salary_ExpSm, Salary_OthSm = salary == null ? 0 : salary.Salary_OthSm, Salary_KTU = salary == null ? 0 : salary.Salary_KTU, Salary_KTUSm = salary == null ? 0 : salary.Salary_KTUSm, Salary_ResSm = salary == null ? 0 : salary.Salary_ResSm, Tax_Sm = acs == null ? 0 : acs.Tax_Sm, Prof_Sm = acs == null ? 0 : acs.Prof_Sm, Military_Sm = acs == null ? 0 : acs.Military_Sm, TotalDeduct_Sm = acs == null ? 0 : (acs.Tax_Sm + acs.Prof_Sm + acs.Military_Sm), NameMonth = SalaryHelper.GetMonthNameById(dat.Month, EnumCaseWorld.Nominative) }).ToList(); } return(true); }