private void PrintRadButton_Click(object sender, EventArgs e)
        {
            if (this.InvoiceRadGridView.SelectedRows.Count == 0)
            {
                RadMessageBox.Show(null, "Debe seleccionar una factura para realizar esta operación", "JOSIAS INDUSTRIAL SRL", MessageBoxButtons.OK, RadMessageIcon.Info);
                return;
            }
            else
            {
                ;
                _idInvoiceToEdit = Convert.ToInt32(InvoiceRadGridView.CurrentRow.Cells["InvoiceID"].Value);

                ReportViewForm.InvoiceReportView invoiceReportForm = new ReportViewForm.InvoiceReportView(this._serviceInvoiceBL.FindInvoiceToReport(iv => iv.InvoiceID == _idInvoiceToEdit.Value));
                invoiceReportForm.ShowDialog();
            }

            /*
             * ;
             */
        }
Пример #2
0
        private void ValidateToSave(TYPE_OF_SAVE_ENUM type)
        {
            _sbErrores.Clear();
            bool isError = false;

            if (SearchCustomerComboBox.SelectedIndex == -1)
            {
                AddError("Introduzca cliente");
                isError = true;
            }
            if (EmployeesComboBox.SelectedIndex == 0)
            {
                AddError("Seleccione un vendedor");
                isError = true;
            }
            if (TypeOfPayComboBox.SelectedIndex == 0)
            {
                AddError("Seleccione método de pago");
                isError = true;
            }
            if (RefInvoiceRadMaskedEditBox.Value.ToString().Equals("00000"))
            {
                AddError("Introduzca la factura de referencia");
                isError = true;
            }
            //Validate with Database
            if (this._stateForm == StateForm.NEW)
            {
                if (this._serviceInvoiceBL.isExitReferenceInvoice(RefInvoiceRadMaskedEditBox.Value.ToString()))
                {
                    AddError("La factura de referencia ya está registrada");
                    isError = true;
                }
            }
            if (InvoiceDetailsRadGridView.Rows.Count <= 0)
            {
                AddError("Introduzca un producto minimo para realizar la fáctura");
                isError = true;
            }


            //Grabando la cabezera de la factura
            if (isError)
            {
                DisplayError();
            }
            else
            {
                if (this._stateForm == StateForm.NEW)
                {
                    #region Create a new Invoice
                    try
                    {
                        var _invoiceTemp = new Invoice();
                        _invoiceTemp.InvoiceNumber         = Convert.ToInt32(InvoiceNumberRadTextBox.Text);
                        _invoiceTemp.CustomerID            = this.CurrentCustomerToSelected.CustomerID;
                        _invoiceTemp.EmployeeID            = Convert.ToInt32(EmployeesComboBox.SelectedValue);
                        _invoiceTemp.InvoiceDate           = InvoiceDateRadDateTimePicker.Value;
                        _invoiceTemp.BodegaID              = 1;
                        _invoiceTemp.TypeOfPayID           = Convert.ToInt32(TypeOfPayComboBox.SelectedValue);
                        _invoiceTemp.ReferenceInvoice      = RefInvoiceRadMaskedEditBox.Value.ToString();
                        _invoiceTemp.ExpirationInvoiceDate = ExpirationInvoiceDateRadDateTimePicker.Value;

                        if (CommentRadTextBox.Text != string.Empty)
                        {
                            _invoiceTemp.Comments = CommentRadTextBox.Text;
                        }
                        //TAXID AND DISCOUNT
                        if (TaxIDComboBox.SelectedIndex != 0)
                        {
                            _invoiceTemp.TaxID = Convert.ToInt32(TaxIDComboBox.SelectedValue);
                        }

                        if (Convert.ToDouble(DiscountRadMaskedEditBox.Value) != 0)
                        {
                            _invoiceTemp.DisCount = Convert.ToDouble(DiscountRadMaskedEditBox.Value);
                        }

                        //Grabando el Kardex
                        foreach (InvoiceDetailGridModel item in this._invoiceDetailGridModel)
                        {
                            var ActualStock = this._serviceProductBL.GetStockByProductIDAndBodegaID(item.ProductID, 1);
                            var kardexVenta = new Kardex();
                            kardexVenta.RegisterDate     = InvoiceDateRadDateTimePicker.Value;
                            kardexVenta.TypeOfMove       = String.Format("Venta-{0}", InvoiceNumberRadTextBox.Text);
                            kardexVenta.KardexOut        = item.Quantity;
                            kardexVenta.KardexStock      = (ActualStock.Value - item.Quantity);
                            kardexVenta.ProductDetailsID = item.ProductDetailID;

                            var _invoiceDetails = new InvoiceDetail();
                            _invoiceDetails.InvoiceID       = _invoiceTemp.InvoiceID;
                            _invoiceDetails.ProductDetailID = item.ProductDetailID;
                            _invoiceDetails.UnitPrice       = item.UnitPrice;
                            _invoiceDetails.Quantity        = item.Quantity;
                            _invoiceDetails.Kardex          = kardexVenta;

                            _invoiceTemp.InvoiceDetails.Add(_invoiceDetails);
                            this._serviceProductBL.UpdateStockByProductIDAndBodegaID((ActualStock.Value - item.Quantity), item.ProductID, 1);
                        }
                        InvoiceSave   = this._serviceInvoiceBL.Add(_invoiceTemp);
                        isInvoiceSave = true;
                        RadMessageBox.Show("Fáctura procesada satisfactoriamente, Pulse Ok para continuar.", "JOSIAS INDUSTRIAL SRL", MessageBoxButtons.OK, RadMessageIcon.Info);
                        this._currentParentForm.FillInvoiceDetailsRadGridView();
                        if (type == TYPE_OF_SAVE_ENUM.SAVE_PRINT)
                        {
                            //RadMessageBox.Show("Imprimiento documentoooo");
                            if (InvoiceSave != null)
                            {
                                ReportViewForm.InvoiceReportView invoiceReportForm = new ReportViewForm.InvoiceReportView(this._serviceInvoiceBL.FindInvoiceToReport(iv => iv.InvoiceID == InvoiceSave.InvoiceID));
                                invoiceReportForm.ShowDialog();
                            }

                            this.Close();
                        }
                        else if (type == TYPE_OF_SAVE_ENUM.SAVE_EXIT)
                        {
                            this.Close();
                        }

                        return;
                    }
                    catch (Exception ex)
                    {
                        RadMessageBox.Show("Error Ocurrido : Contactar al administrador de Sistema", "JOSIAS INDUSTRIAL SRL", MessageBoxButtons.OK, RadMessageIcon.Error, ex.Message);
                        isInvoiceSave = false;
                        return;
                    }
                    #endregion
                }
                else if (this._stateForm == StateForm.EDIT)
                {
                    #region Fragmento de codigo para editar Factura
                    //Revisar el flujo de Modificar una factura.
                    try
                    {
                        if (CommentRadTextBox.Text != string.Empty)
                        {
                            this._currentInvoiceToEdit.Comments = CommentRadTextBox.Text;
                        }
                        //TAXID AND DISCOUNT
                        if (TaxIDComboBox.SelectedIndex != 0)
                        {
                            this._currentInvoiceToEdit.TaxID = Convert.ToInt32(TaxIDComboBox.SelectedValue);
                        }

                        if (Convert.ToDouble(DiscountRadMaskedEditBox.Value) != 0)
                        {
                            this._currentInvoiceToEdit.DisCount = Convert.ToDouble(DiscountRadMaskedEditBox.Value);
                        }
                        //Edit
                        //Grabando el Kardex
                        ICollection <InvoiceDetail> listInvoiceDetail = new List <InvoiceDetail>();
                        foreach (InvoiceDetailGridModel item in this._invoiceDetailGridModel)
                        {
                            var kardexVenta = new Kardex();
                            kardexVenta.RegisterDate     = InvoiceDateRadDateTimePicker.Value;
                            kardexVenta.TypeOfMove       = String.Format("Venta-{0}", InvoiceNumberRadTextBox.Text);
                            kardexVenta.KardexOut        = item.Quantity;
                            kardexVenta.KardexStock      = 0;
                            kardexVenta.ProductDetailsID = item.ProductDetailID;

                            var _invoiceDetails = new InvoiceDetail();
                            _invoiceDetails.InvoiceID       = this._currentInvoiceToEdit.InvoiceID;
                            _invoiceDetails.ProductDetailID = item.ProductDetailID;
                            _invoiceDetails.UnitPrice       = item.UnitPrice;
                            _invoiceDetails.Quantity        = item.Quantity;
                            _invoiceDetails.Kardex          = kardexVenta;

                            listInvoiceDetail.Add(_invoiceDetails);
                        }



                        //APPLY UPDATE
                        this._serviceInvoiceBL.Update(this._currentInvoiceToEdit, listInvoiceDetail);
                        isInvoiceSave = true;
                        RadMessageBox.Show("Fáctura procesada satisfactoriamente, Pulse Ok para continuar.", "JOSIAS INDUSTRIAL SRL", MessageBoxButtons.OK, RadMessageIcon.Info);
                        this._currentParentForm.FillInvoiceDetailsRadGridView();
                        if (type == TYPE_OF_SAVE_ENUM.SAVE_PRINT)
                        {
                            RadMessageBox.Show("Imprimiento documentoooo");
                            this.Close();
                        }
                        else if (type == TYPE_OF_SAVE_ENUM.SAVE_EXIT)
                        {
                            this.Close();
                        }

                        return;
                    }
                    catch (Exception ex)
                    {
                        RadMessageBox.Show("Error Ocurrido : Contactar al administrador de Sistema", "JOSIAS INDUSTRIAL SRL", MessageBoxButtons.OK, RadMessageIcon.Error, ex.Message);
                        isInvoiceSave = false;
                        return;
                    }

                    #endregion
                }
                else if (this._stateForm == StateForm.SEE_MORE)
                {
                }
            }
        }