public bool StartReport() { fmPaymentStatement fmPayStat = new fmPaymentStatement(); if (fmPayStat.ShowDialog() != DialogResult.OK) { return(false); } string error = string.Empty; DateTime dat = fmPayStat.GetDateParam(); EnumPaymentStatement enumPayStat = fmPayStat.GetFormParam(); List <int> id_typePayment = fmPayStat.GetIdCheckedTypePayment(); List <int> id_typeAddPayment = fmPayStat.GetIdCheckedTypeAddPayment(); LoadDataForPrint(dat, enumPayStat, id_typePayment, id_typeAddPayment, out error); if (error != string.Empty) { MessageBox.Show("Помилка.\nТехнічна інформація: " + error, "Помилка"); return(false); } Parameters[0] = new ReportParameter("MonthName", SalaryHelper.GetMonthNameById(dat.Month, EnumCaseWorld.Nominative)); Parameters[1] = new ReportParameter("SumTotalRep", (_paymentStatement.Sum(rec => rec.Payment_Sm) + _addPaymentStatement.Sum(rec => rec.AddPayment_Sm)).ToString("0.00")); ReportDataSource report = new ReportDataSource("dsPaymentStatement", _paymentStatement); ReportDataSource report2 = new ReportDataSource("dsAddPaymentStatement", _addPaymentStatement); DataSources.Add(report); DataSources.Add(report2); return(true); }
private bool LoadDataForPrint(DateTime dat, EnumPaymentStatement payStat, List <int> id_payment, List <int> id_addPayment, out string error) { error = string.Empty; List <PersCard> cards = _repoCard.GetAllCards(out error); if (error != string.Empty) { return(false); } DateTime datBeg = new DateTime(dat.Year, dat.Month, 1); DateTime datEnd = new DateTime(dat.Year, dat.Month, DateTime.DaysInMonth(dat.Year, dat.Month)); List <v_TypePayment> vTypePayment = TypePaymentHelper.GetTypePayment(); List <Payment> payments = _repoPayment.GetPaymentByParams(0, 0, datBeg, datEnd, out error); if (error != string.Empty) { return(false); } List <RefTypeAddPayment> typeAddPayments = _repoRefTypeAddPayment.GetAllTypeAddPayments(out error); if (error != string.Empty) { return(false); } List <AddPayment> addPayments = _repoAddPayment.GetAddPaymentsByParams(0, 0, datBeg, datEnd, out error); if (error != string.Empty) { return(false); } if (payStat == EnumPaymentStatement.AllPayment) { _paymentStatement = (from card in cards join payment in payments on card.PersCard_Id equals payment.Payment_PersCard_Id join typePayment in vTypePayment on payment.Payment_Type equals typePayment.Id where payment.Payment_Date.Year == dat.Year && payment.Payment_Date.Month == dat.Month select new RPR_PaymentStatement { PersCard_Name = SalaryHelper.GetLastNameWithInit(card.PersCard_LName, card.PersCard_MName, card.PersCard_FName), PersCard_TIN = card.PersCard_TIN, Payment_Type = typePayment.Id, Payment_TypeName = typePayment.Name, Payment_Amt = payment.Payment_Amt, Payment_Price = payment.Payment_Price, Payment_Sm = payment.Payment_Sm }).ToList(); _addPaymentStatement = (from card in cards join addPayment in addPayments on card.PersCard_Id equals addPayment.AddPayment_PersCard_Id join typeAddPayment in typeAddPayments on addPayment.AddPayment_TypeAddPayment_Id equals typeAddPayment.RefTypeAddPayment_Id where addPayment.AddPayment_Date.Year == dat.Year && addPayment.AddPayment_Date.Month == dat.Month select new RPR_AddPaymentStatement { PersCard_Name = SalaryHelper.GetLastNameWithInit(card.PersCard_LName, card.PersCard_MName, card.PersCard_FName), PersCard_TIN = card.PersCard_TIN, AddPayment_Type = typeAddPayment.RefTypeAddPayment_Id, AddPayment_TypeName = typeAddPayment.RefTypeAddPayment_Nm, AddPayment_Sm = addPayment.AddPayment_Sm }).ToList(); } else { _paymentStatement = (from card in cards join payment in payments on card.PersCard_Id equals payment.Payment_PersCard_Id join typePayment in vTypePayment on payment.Payment_Type equals typePayment.Id where payment.Payment_Date.Year == dat.Year && payment.Payment_Date.Month == dat.Month && id_payment.Contains(typePayment.Id) select new RPR_PaymentStatement { PersCard_Name = SalaryHelper.GetLastNameWithInit(card.PersCard_LName, card.PersCard_MName, card.PersCard_FName), PersCard_TIN = card.PersCard_TIN, Payment_Type = typePayment.Id, Payment_TypeName = typePayment.Name, Payment_Amt = payment.Payment_Amt, Payment_Price = payment.Payment_Price, Payment_Sm = payment.Payment_Sm }).ToList(); _addPaymentStatement = (from card in cards join addPayment in addPayments on card.PersCard_Id equals addPayment.AddPayment_PersCard_Id join typeAddPayment in typeAddPayments on addPayment.AddPayment_TypeAddPayment_Id equals typeAddPayment.RefTypeAddPayment_Id where addPayment.AddPayment_Date.Year == dat.Year && addPayment.AddPayment_Date.Month == dat.Month && id_addPayment.Contains(typeAddPayment.RefTypeAddPayment_Id) select new RPR_AddPaymentStatement { PersCard_Name = SalaryHelper.GetLastNameWithInit(card.PersCard_LName, card.PersCard_MName, card.PersCard_FName), PersCard_TIN = card.PersCard_TIN, AddPayment_Type = typeAddPayment.RefTypeAddPayment_Id, AddPayment_TypeName = typeAddPayment.RefTypeAddPayment_Nm, AddPayment_Sm = addPayment.AddPayment_Sm }).ToList(); } return(true); }