Ejemplo n.º 1
0
        private void btnPrint_Click(object sender, EventArgs e)
        {
            if (radGridView.Rows.Count == 0)
            {
                return;
            }
            try
            {
                this.Cursor = Cursors.WaitCursor;
                Njit.Program.FastReportExtensions.Forms.PrintPreview form = new Njit.Program.FastReportExtensions.Forms.PrintPreview(Setting.Program.ThisProgram.GetReportPath("Report.frx"), Njit.Program.FastReportExtensions.Forms.PrintPreview.PrintSizes.A4, null, 1);
                form.ReportDocument.SetParameterValue("CompanyName", Setting.Archive.ThisProgram.LoadedArchiveSettings.OrganName);
                form.ReportDocument.SetParameterValue("ReportPrintDate", Njit.Common.PersianCalendar.GetDate(DateTime.Now));
                form.ReportDocument.SetParameterValue("ReportPrintTime", Njit.Common.PersianCalendar.GetTime());
                Njit.Program.Forms.GetValue f = new Njit.Program.Forms.GetValue("دریافت عنوان", "عنوان گزارش را وارد کنید:");
                if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    form.ReportDocument.SetParameterValue("Title", f.Value);
                }
                FastReport.ReportPage page     = form.ReportDocument.Pages[0] as FastReport.ReportPage;
                FastReport.DataBand   databand = page.Bands[0] as FastReport.DataBand;
                float width = databand.Width;
                foreach (var item in radGridView.Columns)
                {
                    FastReport.TextObject bandText = new FastReport.TextObject();
                    bandText.CreateUniqueName();
                    bandText.HorzAlign = FastReport.HorzAlign.Center;
                    int currentWidth = item.Width;
                    bandText.Bounds       = new RectangleF(width - currentWidth, 0.0f, currentWidth, databand.Height);
                    bandText.Border.Lines = FastReport.BorderLines.All;
                    //bandText.AutoWidth = true;
                    bandText.RightToLeft = true;
                    bandText.Font        = new System.Drawing.Font("B Nazanin", 9);
                    bandText.Text        = "[ReportData." + item.Name + "]";
                    databand.AddChild(bandText);
                    width -= item.Width;// bandText.CalcWidth();
                }

                //databand.AfterLayout += databand_AfterLayout;
                DataTable dt = (radGridView.DataSource as DataTable).Clone();
                dt.Rows.InsertAt(dt.NewRow(), 0);
                GetColumnsHeaders(dt.Rows[0]);
                foreach (DataRow row in (radGridView.DataSource as DataTable).Rows)
                {
                    dt.Rows.Add(row.ItemArray);
                }
                form.ReportDocument.RegisterData(dt, "ReportData");
                form.ReportDocument.GetDataSource("ReportData").Enabled = true;
                databand.DataSource = form.ReportDocument.GetDataSource("ReportData");
                form.ShowDialog(this);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }
Ejemplo n.º 2
0
        private void btnApply_Click(object sender, EventArgs e)
        {
            if (dateTimePicker1.Value == null)
            {
                MessageBox.Show("Пожалуйста, укажите дату продажи автомобиля", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            else if (cmbPerson.SelectedValue == null)
            {
                MessageBox.Show("Пожалуйста, укажите клиента", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            else if (cmbEmployee.SelectedValue == null)
            {
                MessageBox.Show("Пожалуйста, укажите сотрудника, осуществляющего продажу автомобиля", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            else if (String.IsNullOrEmpty(tbPrice.Text))
            {
                MessageBox.Show("Пожалуйста, укажите цену", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            else if (cmbPay.SelectedValue == null)
            {
                MessageBox.Show("Пожалуйста, укажите способ оплаты", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            try
            {
                Decimal.Parse(tbPrice.Text);
            }
            catch (Exception /*ex*/)
            {
                MessageBox.Show("Пожалуйста, укажите корректную цену продажи", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            try
            {
                autoDataSet.CHECK_SALE_PRICEDataTable checkData = checkAdapter.GetData(autoID, decimal.Parse(tbPrice.Text));
                autoDataSet.CHECK_SALE_PRICERow       checkRow  = checkData.Rows[0] as autoDataSet.CHECK_SALE_PRICERow;

                if (checkRow.OUT_RES != 0)
                {
                    if (MessageBox.Show("Цена продажи автомобиля меньше закупочной! Продолжить?", "Подтверждение продажи",
                                        MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No)
                    {
                        return;
                    }
                }

                saleAdapter.InsertQuery(dateTimePicker1.Value,
                                        Int32.Parse(cmbPerson.SelectedValue.ToString()),
                                        Int32.Parse(cmbEmployee.SelectedValue.ToString()),
                                        autoID,
                                        Decimal.Parse(tbPrice.Text),
                                        Int32.Parse(cmbPay.SelectedValue.ToString())
                                        );

                auto.autoDataSet.EMPLOYEERow employeeRow = ((cmbEmployee.SelectedItem as DataRowView).Row as auto.autoDataSet.EMPLOYEERow);
                DateTime empBD = employeeRow.PERSONRow.PERSON_BIRTHDAY;
                string   empPS = employeeRow.PERSONRow.PERSON_PASSPORT_SERIAL;
                string   empPN = employeeRow.PERSONRow.PERSON_PASSPORT_NUMBER;
                DateTime empPD = employeeRow.PERSONRow.PERSON_P_DATE;
                string   empPP = employeeRow.PERSONRow.PERSON_P_PLACE;

                auto.autoDataSet.PERSONRow client = ((cmbPerson.SelectedItem as DataRowView).Row as auto.autoDataSet.PERSONRow);
                DateTime cliBD = client.PERSON_BIRTHDAY;
                string   cliPS = client.PERSON_PASSPORT_SERIAL;
                string   cliPN = client.PERSON_PASSPORT_NUMBER;
                DateTime cliPD = client.PERSON_P_DATE;
                string   cliPP = client.PERSON_P_PLACE;

                FastReport.TextObject repEmpBD = report1.FindObject("repTxtEBD") as FastReport.TextObject;
                repEmpBD.Text = empBD.ToShortDateString();

                FastReport.TextObject repEmpPS = report1.FindObject("repTxtEPS") as FastReport.TextObject;
                repEmpPS.Text = empPS.ToString();

                FastReport.TextObject repEmpPN = report1.FindObject("repTxtEPN") as FastReport.TextObject;
                repEmpPN.Text = empPN.ToString();

                FastReport.TextObject repEmpPD = report1.FindObject("repTxtEPD") as FastReport.TextObject;
                repEmpPD.Text = empPD.ToShortDateString();

                FastReport.TextObject repEmpPP = report1.FindObject("repTxtEPP") as FastReport.TextObject;
                repEmpPP.Text = empPP;

                FastReport.TextObject repCliBD = report1.FindObject("repTxtCBD") as FastReport.TextObject;
                repCliBD.Text = cliBD.ToShortDateString();

                FastReport.TextObject repCliPS = report1.FindObject("repTxtCPS") as FastReport.TextObject;
                repCliPS.Text = cliPS.ToString();

                FastReport.TextObject repCliPN = report1.FindObject("repTxtCPN") as FastReport.TextObject;
                repCliPN.Text = cliPN.ToString();

                FastReport.TextObject repCliPD = report1.FindObject("repTxtCPD") as FastReport.TextObject;
                repCliPD.Text = cliPD.ToShortDateString();

                FastReport.TextObject repCliPP = report1.FindObject("repTxtCPP") as FastReport.TextObject;
                repCliPP.Text = cliPP;

                autoDataSet.AUTODataTable  table    = aUTOTableAdapter.GetDataByAutoID(autoID);
                auto.autoDataSet.AUTORow   aObj     = table.Rows[0] as autoDataSet.AUTORow;
                autoDataSet.MODELDataTable mdlTable = modelAdapter.GetDataByModelID(Int32.Parse(aObj.MODEL_ID.ToString()));
                string modelFull = (mdlTable.Rows[0] as auto.autoDataSet.MODELRow).MODEL_FULL.ToString();

                MessageBox.Show("Продажа успешно оформлена!", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);

                String file = File.ReadAllText("reports\\BuySale2.rdl");

                file = file.Replace("REP_DATE", dateTimePicker1.Value.ToShortDateString());
                FastReport.TextObject text = report1.FindObject("repTxtDate") as FastReport.TextObject;
                text.Text = dateTimePicker1.Value.ToShortDateString();

                auto.autoDataSet.PERSONRow obj = ((cmbPerson.SelectedItem as DataRowView).Row as auto.autoDataSet.PERSONRow);
                file = file.Replace("REP_PERSON", obj.PERSON_FULL.ToString());

                auto.autoDataSet.EMPLOYEERow emp      = ((cmbEmployee.SelectedItem as DataRowView).Row as auto.autoDataSet.EMPLOYEERow);
                FastReport.TextObject        employee = report1.FindObject("repTxtEmployee") as FastReport.TextObject;
                if (emp.EMPLOYEE_FULL.ToString().IndexOf(',') > 0)
                {
                    employee.Text = emp.EMPLOYEE_FULL.ToString().Substring(0, emp.EMPLOYEE_FULL.ToString().IndexOf(','));
                }
                else
                {
                    employee.Text = emp.EMPLOYEE_FULL.ToString();
                }

                FastReport.TextObject person = report1.FindObject("repTxtPerson") as FastReport.TextObject;
                person.Text = obj.PERSON_FULL.ToString();

                file = file.Replace("REP_MODEL", modelFull);

                FastReport.TextObject model = report1.FindObject("repTxtModel") as FastReport.TextObject;
                model.Text = modelFull;

                FastReport.TextObject modelPrice = report1.FindObject("repModelPrice") as FastReport.TextObject;
                modelPrice.Text = (mdlTable.Rows[0] as auto.autoDataSet.MODELRow).MODEL_PRICE.ToString() + " руб.";

                FastReport.TextObject engine = report1.FindObject("repTxtEngine") as FastReport.TextObject;
                engine.Text = (((System.Data.DataRowView)(cmbEngine.SelectedItem)).Row as autoDataSet.ENGINERow).ENGINE_FULL;

                FastReport.TextObject enginePrice = report1.FindObject("repEnginePrice") as FastReport.TextObject;
                enginePrice.Text = (((System.Data.DataRowView)(cmbEngine.SelectedItem)).Row as autoDataSet.ENGINERow).ENGINE_PRICE.ToString() + " руб.";

                FastReport.TextObject modification = report1.FindObject("repTxtModification") as FastReport.TextObject;
                modification.Text = (((System.Data.DataRowView)(cmbMod.SelectedItem)).Row as autoDataSet.MODIFICATIONRow).FULL;

                FastReport.TextObject modificationPrice = report1.FindObject("repModificationPrice") as FastReport.TextObject;
                modificationPrice.Text = (((System.Data.DataRowView)(cmbMod.SelectedItem)).Row as autoDataSet.MODIFICATIONRow).MODIFICATION_PRICE.ToString() + " руб.";

                auto.autoDataSet.AUTORow obj2 = aObj;

                file = file.Replace("REP_COLOR", obj2.AUTO_COLOR.ToString());

                FastReport.TextObject color = report1.FindObject("repTxtColor") as FastReport.TextObject;
                color.Text = obj2.AUTO_COLOR.ToString();

                file = file.Replace("REP_VIN", obj2.AUTO_VIN.ToString());

                FastReport.TextObject vin = report1.FindObject("repTxtVin") as FastReport.TextObject;
                vin.Text = obj2.AUTO_VIN.ToString();

                FastReport.TextObject vin2 = report1.FindObject("repTxtVin2") as FastReport.TextObject;
                vin2.Text = obj2.AUTO_VIN.ToString();

                file = file.Replace("REP_PRICE", tbPrice.Text + " руб.");

                FastReport.TextObject sum = report1.FindObject("repTxtSum") as FastReport.TextObject;
                sum.Text = tbPrice.Text + " руб.";

                FastReport.TextObject sum2 = report1.FindObject("repTxtSum2") as FastReport.TextObject;
                sum2.Text = txtCatalogPrice.Text + " руб.";

                FastReport.TextObject   priceMethod = report1.FindObject("repTxtPriceMethod") as FastReport.TextObject;
                auto.autoDataSet.PAYRow payRow      = ((cmbPay.SelectedItem as DataRowView).Row as auto.autoDataSet.PAYRow);
                priceMethod.Text = payRow.PAY_NAME;

                File.WriteAllText("reports\\BuySale2_tmp.rdl", file);

                string filepath = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), "reports\\BuySale2_tmp.rdl");
                //this.rdlViewer1.SourceFile = new Uri(filepath);
                //this.rdlViewer1.Rebuild();

                this.clientAdapter.Insert((int)(long)cmbPerson.SelectedValue, autoID);

                object count = autoCount.GetAutoCount(autoID);
                int    cnt   = (int)count;
                autoCount.UpdateAutoCount(--cnt, autoID);

                SaleEventForm_Load(sender, e);
                report1.Show();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ошибка оформления продажи. \n" + ex.Message, "Ошибка обработки", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 3
0
        public override void ImprimirEnOtroFormato()
        {
            string nombreArchivo = "";
            string logoEmpresa   = "";
            Bitmap imgLogo;

            FastReport.Base frBase;
            int             tipoNCF       = 0;
            int             diasCredito   = 0;
            double          montoACredito = 0;

            try
            {
                nombreArchivo = Environment.CurrentDirectory + @"\Reportes\factura.frx";

                tipoNCF       = objUtil.GetAsInt("Tipo_NCF", DTVistaData.Rows[0]);
                diasCredito   = objUtil.GetAsInt("Dias_Credito", DTVistaData.Rows[0]);
                montoACredito = objUtil.GetAsDouble("Monto_ACredito", DTVistaData.Rows[0]);

                using (FastReport.Report report = new FastReport.Report())
                {
                    report.Load(nombreArchivo);
                    report.RegisterData(DTVistaData, "VVENTAS_DETALLE");
                    report.RegisterData(DTOficina, "VEMPRESAS_OFICINAS");

                    //Vamos a asignar el logo
                    logoEmpresa = Environment.CurrentDirectory + @"\images\logo.png";
                    if (File.Exists(logoEmpresa))
                    {
                        imgLogo = (Bitmap)Image.FromFile(logoEmpresa);
                        FastReport.PictureObject ptLogo = report.FindObject("ptLogo") as FastReport.PictureObject;
                        ptLogo.Image = imgLogo;
                    }

                    if (tipoNCF <= 0)
                    {
                        frBase = report.FindObject("txtNCF");
                        if (frBase != null)
                        {
                            FastReport.TextObject txt = (frBase as FastReport.TextObject);
                            txt.Visible = false;
                        }
                    }

                    if ((diasCredito <= 0) || (montoACredito <= 0))
                    {
                        frBase = report.FindObject("txtFechaVence");
                        if (frBase != null)
                        {
                            FastReport.TextObject txt = (frBase as FastReport.TextObject);
                            txt.Visible = false;
                        }
                    }

                    report.PrintSettings.PrintMode = FastReport.PrintMode.Default;
                    report.Print();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }