public CommissionTransactionPrintedDocumentTemplate(CommissionTransaction commission, byte[] templateFile)
        {
            TemplateFile = templateFile;
            _labelValues = new Dictionary <string, string>();

            _labelValues.Add("комиссия_пропись", MoneyToText.Convert(commission.Commission));
            _labelValues.Add("стоянка_пропись", MoneyToText.Convert(commission.Parking));
            _labelValues.Add("пропись_стоянка", MoneyToText.Convert(commission.Parking));
            _labelValues.Add("комиссия", commission.Commission.ToString());
            _labelValues.Add("стоянка", commission.Parking.ToString());
            _labelValues.Add("второй_месяц", commission.IsTwoMounth ? "со второго месяца" : string.Empty);

            _labelValues.Add("месяц_доверенность", commission.DateProxy?.Month.ToString());
            _labelValues.Add("месяц_ад", commission.DateProxy?.Month.ToString());
            _labelValues.Add("месяц", commission.Date.Month.ToString());
            _labelValues.Add("имя_мен", commission.User.FirstName);
            _labelValues.Add("фамилия_мен", commission.User.LastName);
            _labelValues.Add("отчество_мен", commission.User.MiddleName);
            _labelValues.Add("имя_р__мен", commission.User.FirstNameGenitive);
            _labelValues.Add("фамилия_р_мен", commission.User.LastNameGenitive);
            _labelValues.Add("отчество_р__мен", commission.User.MiddleNameGenitive);
            _labelValues.Add("номер_мен", commission.User.Number);
            _labelValues.Add("дата_мен", commission.User.Date.ToString("dd.MM.yyyy"));
            _labelValues.Add("номер", commission.Number.ToString());

            _labelValues.Add("дата", commission.Date.ToString("dd.MM.yyyy"));
            _labelValues.Add("дата_доверенность", commission.DateProxy?.ToString("dd.MM.yyyy"));
            _labelValues.Add("номер_доверенность", commission.NumberProxy);
            _labelValues.Add("номер_реестр", commission.NumberRegistry);
            _labelValues.Add("стоимость", commission.Price.ToString());
            _labelValues.Add("пропись", MoneyToText.Convert(commission.Price));

            if (commission.Seller != null)
            {
                _labelValues.Add("п_фио", ReportHelper.GetFullName(commission.Seller));
                _labelValues.Add("п_фио_сокр", ReportHelper.GetShortName(commission.Seller));
                _labelValues.Add("п_контрагент_и", ReportHelper.GetContractorName(commission.Seller));
                _labelValues.Add("п_контрагент_р", ReportHelper.GetContractorNameGenitive(commission.Seller));
                _labelValues.Add("п_подпись", ReportHelper.GetContractorSignature(commission.Seller));
            }
            else
            {
                _labelValues.Add("п_фио", null);
                _labelValues.Add("п_фио_сокр", null);
                _labelValues.Add("п_контрагент_и", null);
                _labelValues.Add("п_контрагент_р", null);
                _labelValues.Add("п_подпись", null);
            }

            //if (commission.Buyer != null)
            //{
            //    _labelValues.Add("по_фио", ReportHelper.GetFullName(commission.Buyer));
            //    _labelValues.Add("по_фио_сокр", ReportHelper.GetShortName(commission.Buyer));
            //    _labelValues.Add("по_контрагент_и", ReportHelper.GetContractorName(commission.Buyer));
            //    _labelValues.Add("по_контрагент_р", ReportHelper.GetContractorNameGenitive(commission.Buyer));
            //    _labelValues.Add("по_подпись", ReportHelper.GetContractorSignature(commission.Buyer));
            //}
            //else
            //{
            //    _labelValues.Add("по_фио", null);
            //    _labelValues.Add("по_фио_сокр", null);
            //    _labelValues.Add("по_контрагент_и", null);
            //    _labelValues.Add("по_контрагент_р", null);
            //    _labelValues.Add("по_подпись", null);
            //}

            if (commission.Owner != null)
            {
                _labelValues.Add("соб_фио", ReportHelper.GetFullName(commission.Owner));
                _labelValues.Add("соб_фио_сокр", ReportHelper.GetShortName(commission.Owner));
                _labelValues.Add("соб_контрагент_и", ReportHelper.GetContractorName(commission.Owner));
                _labelValues.Add("соб_контрагент_р", ReportHelper.GetContractorNameGenitive(commission.Owner));
                _labelValues.Add("соб_подпись", ReportHelper.GetContractorSignature(commission.Owner));
            }
            else
            {
                _labelValues.Add("соб_фио", null);
                _labelValues.Add("соб_фио_сокр", null);
                _labelValues.Add("соб_контрагент_и", null);
                _labelValues.Add("соб_контрагент_р", null);
                _labelValues.Add("соб_подпись", null);
            }

            _labelValues.Add("вид_тс", commission.Trancport.Type.Name);
            _labelValues.Add("год_тс", commission.Trancport.Year.ToString());
            _labelValues.Add("вин", commission.Trancport.Vin);
            _labelValues.Add("гос_номер_тс", commission.Trancport.Number);
            _labelValues.Add("дата_птс", commission.Trancport.DatePts?.ToString("dd.MM.yyyy"));
            _labelValues.Add("дата_cтс", commission.Trancport.DateSts?.ToString("dd.MM.yyyy"));
            _labelValues.Add("изготовитель_тс", commission.Trancport.Maker);
            _labelValues.Add("категория_тc", commission.Trancport.Category.Name);
            _labelValues.Add("кем_птс", commission.Trancport.ByPts);
            _labelValues.Add("кем_стс", commission.Trancport.BySts);
            _labelValues.Add("кузов", commission.Trancport.BodyNumber);
            _labelValues.Add("макс_масса", commission.Trancport.MaxMass);
            _labelValues.Add("марка_двиг", commission.Trancport.EngineMake);
            _labelValues.Add("марка_тс", commission.Trancport.Make.Name);
            _labelValues.Add("модель_тс", commission.Trancport.Model.Name);
            _labelValues.Add("масса", commission.Trancport.Mass);
            _labelValues.Add("мощность", commission.Trancport.Strong);
            _labelValues.Add("номер_птс", commission.Trancport.NumberPts);
            _labelValues.Add("номер_стс", commission.Trancport.NumberSts);
            _labelValues.Add("объем", commission.Trancport.Volume);
            _labelValues.Add("па", commission.Trancport.Pa);
            _labelValues.Add("серия_птс", commission.Trancport.SerialPts);
            _labelValues.Add("серия_стс", commission.Trancport.SerialSts);
            _labelValues.Add("типы_двигателей_тс", commission.Trancport.EngineType.Name);
            _labelValues.Add("цвет", commission.Trancport.Color);
            _labelValues.Add("шасси", commission.Trancport.ChassisNumber);
        }
Beispiel #2
0
        private void btnPrint_Click(object sender, EventArgs e)
        {
            try
            {
                string exeFolder  = Application.StartupPath;
                string reportPath = Path.Combine(exeFolder, @"Reports\RevenueRpt.rdlc");

                //
                using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["ATVEntities"].ConnectionString))
                {
                    SqlDataAdapter da = null;

                    try
                    {
                        string query = "";
                        if (byMonth)
                        {
                            query = "select ct.Code, ct.CustomerName, sum(pd.Cost)AS Cost, sum(pd.Cost) - (sum(pd.Cost) * ct.Discount / 100) AS TotalCost " +
                                    "from ProductScheduleShow pd inner join ContractItem cti on pd.ContractDetailId = cti.Id " +
                                    "inner join [Contract] ct on ct.Code = cti.ContractCode " +
                                    "where YEAR(ShowDate) = @rptYear and MONTH(ShowDate) = @rptMonth group by ct.Code, ct.CustomerName, ct.Discount";
                        }

                        if (!byMonth)
                        {
                            query = "select ct.Code, ct.CustomerName, sum(pd.Cost)AS Cost, sum(pd.Cost) - (sum(pd.Cost) * ct.Discount / 100) AS TotalCost " +
                                    "from ProductScheduleShow pd inner join ContractItem cti on pd.ContractDetailId = cti.Id " +
                                    "inner join [Contract] ct on ct.Code = cti.ContractCode " +
                                    "where YEAR(ShowDate) = @rptYear and (MONTH(ShowDate) in ( ";

                            switch (cboPeriod.SelectedValue)
                            {
                            case 1: query += "1, 2, 3"; break;

                            case 2: query += "4, 5, 6"; break;

                            case 3: query += "7, 8, 9"; break;

                            case 4: query += "10, 11, 12"; break;
                            }

                            query += " )) group by ct.Code, ct.CustomerName, ct.Discount";
                        }

                        var cmd = new SqlCommand(query, con);
                        cmd.Parameters.Add(new SqlParameter("@rptYear", this.dtpFromMonth.Value.Year));
                        if (byMonth)
                        {
                            cmd.Parameters.Add(new SqlParameter("@rptMonth", this.dtpFromMonth.Value.Month));
                        }

                        da = new SqlDataAdapter(cmd);
                        DataTable dt = new DataTable();
                        da.Fill(dt);

                        List <ViewModel.RevenueRM> reportData = Utilities.ConvertDataTable <ViewModel.RevenueRM>(dt);

                        DateTime today     = Utilities.GetServerDateTimeNow();
                        string   strToday  = Utilities.DateToFormatVNDate(today);
                        var      totalCost = (decimal)reportData.Sum(r => r.Cost);
                        string   strTotal  = MoneyToText.NumberToTextVN(totalCost);

                        ReportParameterCollection reportParameters = new ReportParameterCollection();
                        reportParameters.Add(new ReportParameter("strMonthYear", this.dtpFromMonth.Value.Month + "/" + this.dtpFromMonth.Value.Year));
                        reportParameters.Add(new ReportParameter("strReportDate", strToday));
                        reportParameters.Add(new ReportParameter("strTotal", strTotal));

                        rptViewer.LocalReport.ReportPath = reportPath;
                        rptViewer.LocalReport.DataSources.Clear();
                        rptViewer.LocalReport.SetParameters(reportParameters);
                        rptViewer.LocalReport.DataSources.Add(new ReportDataSource("dsRevenues", dt));
                        rptViewer.RefreshReport();
                        Logging.LogBusiness(string.Format("{0} {1} {2}",
                                                          Common.Session.GetUserName(),
                                                          Common.Constants.LogAction.ExportData, "báo cáo doanh thu"),
                                            Common.Constants.BusinessLogType.ExportData);
                    }
                    catch (Exception)
                    {
                        throw;
                    }
                    finally
                    {
                        if (da != null)
                        {
                            da.Dispose();
                        }
                    }
                };
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        public AktTransactionPrintedDocumentTemplate(CreditTransaction transaction, byte[] templateFile)
        {
            TemplateFile = templateFile;
            _labelValues = new Dictionary <string, string>();
            _labelValues.Add("банк_кредитор", transaction.Creditor.Name);
            _labelValues.Add("пропись_итого_комиссия",
                             MoneyToText.Convert(((transaction.CreditSumm -
                                                   (transaction.RealPrice - transaction.DownPaymentCashbox)) -
                                                  transaction.ReportInsurance - transaction.Rollback +
                                                  transaction.CommissionCashbox)));
            _labelValues.Add("итого_комиссия",
                             ((transaction.CreditSumm - (transaction.RealPrice - transaction.DownPaymentCashbox)) -
                              transaction.ReportInsurance - transaction.Rollback + transaction.CommissionCashbox).ToString());
            _labelValues.Add("остаток_в_сумме",
                             (transaction.CreditSumm - (transaction.RealPrice - transaction.DownPaymentCashbox)).ToString());
            _labelValues.Add("пропись_остаток_в_сумме",
                             MoneyToText.Convert(transaction.CreditSumm -
                                                 (transaction.RealPrice - transaction.DownPaymentCashbox)));
            _labelValues.Add("к_выдаче_продавцу", (transaction.RealPrice - transaction.DownPaymentCashbox).ToString());
            _labelValues.Add("пропись_к_выдаче_продавцу",
                             MoneyToText.Convert(transaction.RealPrice - transaction.DownPaymentCashbox));
            _labelValues.Add("пропись_комиссия_касса", MoneyToText.Convert(transaction.CommissionCashbox));
            _labelValues.Add("пропись_сумма_кредит", MoneyToText.Convert(transaction.CreditSumm));
            _labelValues.Add("пропись_первый_взнос", MoneyToText.Convert(transaction.DownPayment));
            _labelValues.Add("пропись_стоимость_банк", MoneyToText.Convert(transaction.PriceBank));
            _labelValues.Add("реквизит", transaction.Requisit.Name);
            _labelValues.Add("бик_реквизит", transaction.Requisit.Bik);
            _labelValues.Add("рс_реквизит", transaction.Requisit.Ros_schet);
            _labelValues.Add("кс_реквизит", transaction.Requisit.Kor_schet);
            _labelValues.Add("в_банке_реквизит", transaction.Requisit.InBank);

            _labelValues.Add("месяц_доверенность", transaction.DateProxy?.Month.ToString());
            _labelValues.Add("месяц_ад", transaction.DateAgent?.Month.ToString());
            _labelValues.Add("месяц", transaction.Date.Month.ToString());
            _labelValues.Add("имя_мен", transaction.User.FirstName);
            _labelValues.Add("фамилия_мен", transaction.User.LastName);
            _labelValues.Add("отчество_мен", transaction.User.MiddleName);
            _labelValues.Add("имя_р__мен", transaction.User.FirstNameGenitive);
            _labelValues.Add("фамилия_р_мен", transaction.User.LastNameGenitive);
            _labelValues.Add("отчество_р__мен", transaction.User.MiddleNameGenitive);
            _labelValues.Add("номер_мен", transaction.User.Number);
            _labelValues.Add("дата_мен", transaction.User.Date.ToString("dd.MM.yyyy"));
            _labelValues.Add("номер", transaction.Number.ToString());

            _labelValues.Add("дата_да", transaction.DateAgent?.ToString("dd.MM.yyyy"));
            _labelValues.Add("дата", transaction.Date.ToString("dd.MM.yyyy"));
            _labelValues.Add("дата_доверенность", transaction.DateProxy?.ToString("dd.MM.yyyy"));
            _labelValues.Add("номер_доверенность", transaction.NumberProxy);
            _labelValues.Add("номер_реестр", transaction.NumberRegistry);
            _labelValues.Add("стоимость", transaction.Price.ToString());
            _labelValues.Add("пропись", MoneyToText.Convert(transaction.Price));

            _labelValues.Add("стоимость_банк", transaction.PriceBank.ToString());
            _labelValues.Add("первый_взнос", transaction.DownPayment.ToString());
            _labelValues.Add("сумма_кредит", transaction.CreditSumm.ToString());
            _labelValues.Add("стоимость_реальная", transaction.RealPrice.ToString());
            _labelValues.Add("первый_взнос_касса", transaction.DownPaymentCashbox.ToString());
            _labelValues.Add("отчёт_по_страховым", transaction.ReportInsurance.ToString());
            _labelValues.Add("откат", transaction.Rollback.ToString());
            _labelValues.Add("источник", transaction.Source);
            _labelValues.Add("комиссия_Касса", transaction.CommissionCashbox.ToString());

            if (transaction.Seller != null)
            {
                _labelValues.Add("п_фио", ReportHelper.GetFullName(transaction.Seller));
                _labelValues.Add("п_фио_сокр", ReportHelper.GetShortName(transaction.Seller));
                _labelValues.Add("п_контрагент_и", ReportHelper.GetContractorName(transaction.Seller));
                _labelValues.Add("п_контрагент_р", ReportHelper.GetContractorNameGenitive(transaction.Seller));
                _labelValues.Add("п_подпись", ReportHelper.GetContractorSignature(transaction.Seller));
            }
            else
            {
                _labelValues.Add("п_фио", null);
                _labelValues.Add("п_фио_сокр", null);
                _labelValues.Add("п_контрагент_и", null);
                _labelValues.Add("п_контрагент_р", null);
                _labelValues.Add("п_подпись", null);
            }

            if (transaction.Buyer != null)
            {
                _labelValues.Add("по_фио", ReportHelper.GetFullName(transaction.Buyer));
                _labelValues.Add("по_фио_сокр", ReportHelper.GetShortName(transaction.Buyer));
                _labelValues.Add("по_контрагент_и", ReportHelper.GetContractorName(transaction.Buyer));
                _labelValues.Add("по_контрагент_р", ReportHelper.GetContractorNameGenitive(transaction.Buyer));
                _labelValues.Add("по_подпись", ReportHelper.GetContractorSignature(transaction.Buyer));
            }
            else
            {
                _labelValues.Add("по_фио", null);
                _labelValues.Add("по_фио_сокр", null);
                _labelValues.Add("по_контрагент_и", null);
                _labelValues.Add("по_контрагент_р", null);
                _labelValues.Add("по_подпись", null);
            }

            if (transaction.Owner != null)
            {
                _labelValues.Add("соб_фио", ReportHelper.GetFullName(transaction.Owner));
                _labelValues.Add("соб_фио_сокр", ReportHelper.GetShortName(transaction.Owner));
                _labelValues.Add("соб_контрагент_и", ReportHelper.GetContractorName(transaction.Owner));
                _labelValues.Add("соб_контрагент_р", ReportHelper.GetContractorNameGenitive(transaction.Owner));
                _labelValues.Add("соб_подпись", ReportHelper.GetContractorSignature(transaction.Owner));
            }
            else
            {
                _labelValues.Add("соб_фио", null);
                _labelValues.Add("соб_фио_сокр", null);
                _labelValues.Add("соб_контрагент_и", null);
                _labelValues.Add("соб_контрагент_р", null);
                _labelValues.Add("соб_подпись", null);
            }

            _labelValues.Add("вид_тс", transaction.Trancport.Type.Name);
            _labelValues.Add("год_тс", transaction.Trancport.Year.ToString());
            _labelValues.Add("вин", transaction.Trancport.Vin);
            _labelValues.Add("гос_номер_тс", transaction.Trancport.Number);
            _labelValues.Add("дата_птс", transaction.Trancport.DatePts?.ToString("dd.MM.yyyy"));
            _labelValues.Add("дата_cтс", transaction.Trancport.DateSts?.ToString("dd.MM.yyyy"));
            _labelValues.Add("изготовитель_тс", transaction.Trancport.Maker);
            _labelValues.Add("категория_тc", transaction.Trancport.Category.Name);
            _labelValues.Add("кем_птс", transaction.Trancport.ByPts);
            _labelValues.Add("кем_стс", transaction.Trancport.BySts);
            _labelValues.Add("кузов", transaction.Trancport.BodyNumber);
            _labelValues.Add("макс_масса", transaction.Trancport.MaxMass);
            _labelValues.Add("марка_двиг", transaction.Trancport.EngineMake);
            _labelValues.Add("марка_тс", transaction.Trancport.Make.Name);
            _labelValues.Add("модель_тс", transaction.Trancport.Model.Name);
            _labelValues.Add("масса", transaction.Trancport.Mass);
            _labelValues.Add("мощность", transaction.Trancport.Strong);
            _labelValues.Add("номер_птс", transaction.Trancport.NumberPts);
            _labelValues.Add("номер_стс", transaction.Trancport.NumberSts);
            _labelValues.Add("объем", transaction.Trancport.Volume);
            _labelValues.Add("па", transaction.Trancport.Pa);
            _labelValues.Add("серия_птс", transaction.Trancport.SerialPts);
            _labelValues.Add("серия_стс", transaction.Trancport.SerialSts);
            _labelValues.Add("типы_двигателей_тс", transaction.Trancport.EngineType.Name);
            _labelValues.Add("цвет", transaction.Trancport.Color);
            _labelValues.Add("шасси", transaction.Trancport.ChassisNumber);
        }
        private void btnPrint_Click(object sender, EventArgs e)
        {
            try
            {
                string exeFolder  = Application.StartupPath;
                string reportPath = Path.Combine(exeFolder, @"Reports\LiabilitiesReport.rdlc");

                //
                using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["ATVEntities"].ConnectionString))
                {
                    SqlDataAdapter da = null;

                    try
                    {
                        string query = "SELECT	ci.ProductName, ps.TimeSlot, ps.TimeSlotCode, ps.ShowTime, ps.TimeSlotLength, ps.Quantity, ps.Cost, ps.Cost * ps.Quantity as TotalCost, ct.Discount, ps.Cost * ps.Quantity - (ps.Cost * ps.Quantity * ct.Discount / 100) as FinalCost "+
                                       "FROM ContractItem ci INNER JOIN ( " +
                                       "SELECT  ContractDetailId, TimeSlot, TimeSlotCode, ShowTime, TimeSlotLength, Cost, COUNt(Id) as Quantity " +
                                       "FROM    ProductScheduleShow " +
                                       "WHERE   YEAR(ShowDate) = @rptYear " +
                                       "AND MONTH(ShowDate) = @rptMonth " +
                                       "GROUP BY ContractDetailId, TimeSlot, TimeSlotCode, ShowTime, TimeSlotLength, Cost) ps on ci.Id = ps.ContractDetailId " +
                                       "INNER JOIN[Contract] ct on ci.ContractCode = ct.Code " +
                                       "WHERE ct.CustomerCode = @rptCustomerCode AND ci.StatusId = " + Constants.CommonStatus.ACTIVE + " " +
                                       "GROUP BY ci.ProductName, ps.TimeSlot, ps.TimeSlotCode, ps.ShowTime, ps.TimeSlotLength, ps.Cost, ci.TotalCost, ct.Discount, ct.Cost, ps.Quantity";
                        var cmd = new SqlCommand(query, con);
                        cmd.Parameters.Add(new SqlParameter("@rptYear", this.dtpMonth.Value.Year));
                        cmd.Parameters.Add(new SqlParameter("@rptMonth", this.dtpMonth.Value.Month));
                        cmd.Parameters.Add(new SqlParameter("@rptCustomerCode", cboCustomer.SelectedValue));

                        da = new SqlDataAdapter(cmd);
                        DataTable dt = new DataTable();
                        da.Fill(dt);

                        List <ViewModel.LiabilitiesRM> reportData = Utilities.ConvertDataTable <ViewModel.LiabilitiesRM>(dt);

                        DateTime today           = Utilities.GetServerDateTimeNow();
                        string   strToday        = Utilities.DateToFormatVNDate(today);
                        var      firstDayOfMonth = new DateTime(this.dtpMonth.Value.Year, this.dtpMonth.Value.Month, 1);
                        var      lastDayOfMonth  = firstDayOfMonth.AddMonths(1).AddDays(-1);
                        string   customerName    = new CustomerService().GetNameByCode(cboCustomer.SelectedValue.ToString());
                        var      finalCost       = (decimal)reportData.Sum(r => r.FinalCost);
                        string   strTotal        = MoneyToText.NumberToTextVN(finalCost);

                        ReportParameterCollection reportParameters = new ReportParameterCollection();
                        reportParameters.Add(new ReportParameter("strMonthYear", this.dtpMonth.Value.Month + "/" + this.dtpMonth.Value.Year));
                        reportParameters.Add(new ReportParameter("strReportFromDate", firstDayOfMonth.ToShortDateString()));
                        reportParameters.Add(new ReportParameter("strReportToDate", lastDayOfMonth.ToShortDateString()));
                        reportParameters.Add(new ReportParameter("strTotal", strTotal));
                        reportParameters.Add(new ReportParameter("strCustomerName", customerName));

                        rptViewer.LocalReport.ReportPath = reportPath;
                        rptViewer.LocalReport.DataSources.Clear();
                        rptViewer.LocalReport.SetParameters(reportParameters);
                        rptViewer.LocalReport.DataSources.Add(new ReportDataSource("dsLiabilities", dt));
                        rptViewer.RefreshReport();

                        Logging.LogBusiness(string.Format("{0} {1} {2}",
                                                          Common.Session.GetUserName(),
                                                          Common.Constants.LogAction.ExportData, "báo cáo công nợ của khách hàng " + cboCustomer.SelectedValue.ToString() + " trong " + this.dtpMonth.Value.Month + "/" + this.dtpMonth.Value.Year),
                                            Common.Constants.BusinessLogType.ExportData);
                    }
                    catch (Exception)
                    {
                        throw;
                    }
                    finally
                    {
                        if (da != null)
                        {
                            da.Dispose();
                        }
                    }
                };
            }
            catch (Exception ex)
            {
                throw;
            }
        }