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(); } /* * ; */ }
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) { } } }