private void CalcularTotales() { try { Sesion sesion = (Sesion)Session["Sesion" + Session.SessionID]; List <NotaCreditoDet> lista = this.ListaProductosNotaCreditoEspecial; double importeTotal = 0; float porcDescuento1 = HD_Descuento1.Value != string.Empty ? Convert.ToInt32(HD_Descuento1.Value) : 0; float porcDescuento2 = HD_Descuento2.Value != string.Empty ? Convert.ToInt32(HD_Descuento2.Value) : 0; for (int i = 0; i < lista.Count; i++) { NotaCreditoDet factura = lista[i]; importeTotal += factura.Ncr_Importe; } CN_CatCentroDistribucion cn_cd = new CN_CatCentroDistribucion(); double iva = 0; cn_cd.ConsultarIva(sesion.Id_Emp, sesion.Id_Cd_Ver, ref iva, sesion.Emp_Cnx); txtImporte.Text = importeTotal.ToString(); importeTotal = porcDescuento1 > 0 ? (importeTotal - (importeTotal * (porcDescuento1 / 100))) : importeTotal; importeTotal = porcDescuento2 > 0 ? (importeTotal - (importeTotal * (porcDescuento2 / 100))) : importeTotal; txtSubTotal.Text = importeTotal.ToString(); txtIVA.Text = HD_IVAfacturacion.Value.Trim() != string.Empty ? (importeTotal * iva / 100).ToString() : "0";//(importeTotal * (Convert.ToSingle(HD_IVAfacturacion.Value.Trim()) / 100)).ToString() : "0"; txtTotal.Value = txtSubTotal.Value.Value + txtIVA.Value.Value; } catch (Exception ex) { throw ex; } }
protected void ListaProductosFacturaEspecial_AgregarProducto(NotaCreditoDet factura_prod) { List <NotaCreditoDet> lista = this.ListaProductosNotaCreditoEspecial; lista.Add(factura_prod); this.ListaProductosNotaCreditoEspecial = lista; this.CalcularTotales(); }
protected void ListaProductosFacturaEspecial_ModificarProducto(NotaCreditoDet factura_prod, int index) { List <NotaCreditoDet> lista = this.ListaProductosNotaCreditoEspecial; //buscar producto de factura en la lista NotaCreditoDet factura = lista[index]; if (factura.Id_Prd == factura_prod.Id_Prd) { lista[index] = factura_prod; } this.ListaProductosNotaCreditoEspecial = lista; this.CalcularTotales(); }
protected void rgNotaCreditoEspecialDet_InsertCommand(object sender, GridCommandEventArgs e) { NotaCreditoDet facturaDet = new NotaCreditoDet(); try { GridEditableItem insertedItem = (GridEditableItem)e.Item; Sesion sesion = (Sesion)Session["Sesion" + Session.SessionID]; facturaDet.Id_Emp = sesion.Id_Emp; facturaDet.Id_Cd = sesion.Id_Cd_Ver; facturaDet.Id_Ncr = 0; //se debe volver asignar cuando se guarda la orden de compra, cuando actualiza queda igual facturaDet.Id_NcrDet = 0; facturaDet.Id_CteExt = Convert.ToInt32(this.HD_Cliente.Value); //cliente de datos generales de la factura facturaDet.Id_Prd = Convert.ToInt32((insertedItem.FindControl("cmbProducto") as RadComboBox).SelectedValue); facturaDet.Ncr_Cant = 0; facturaDet.Clp_Release = (insertedItem.FindControl("txtClp_ReleaseEdit") as RadTextBox).Text; //float precioPartida = Convert.ToSingle((insertedItem["Ncr_Precio"].FindControl("txtNcr_Precio") as RadNumericTextBox).Text.Replace("$", string.Empty)); //(insertedItem["Ncr_Importe"].FindControl("lblNcr_ImporteEdit") as Label).Text = precioPartida.ToString("C"); facturaDet.Ncr_Importe = (insertedItem.FindControl("txtNcr_Importe") as RadNumericTextBox).Value != null ? (insertedItem["Ncr_Importe"].FindControl("txtNcr_Importe") as RadNumericTextBox).Value.Value : 0; facturaDet.Ncr_Precio = 0; //datos del producto de la orden de compra facturaDet.Producto = new Producto(); facturaDet.Producto.Id_Prd = Convert.ToInt32((insertedItem.FindControl("cmbProducto") as RadComboBox).SelectedValue); facturaDet.Producto.Prd_Descripcion = (insertedItem.FindControl("cmbProducto") as RadComboBox).Text; facturaDet.Producto.Id_Emp = sesion.Id_Emp; facturaDet.Producto.Id_Cd = sesion.Id_Cd_Ver; facturaDet.Producto.Prd_DescripcionEspecial = (insertedItem.FindControl("txtPrd_Descripcion") as RadTextBox).Text; facturaDet.Producto.Prd_Presentacion = (insertedItem.FindControl("txtPrd_Presentacion") as RadTextBox).Text; facturaDet.Producto.Prd_UniNe = (insertedItem.FindControl("txtPrd_UniNe") as RadTextBox).Text; facturaDet.Id_Emp = sesion.Id_Emp; facturaDet.Id_Cd = sesion.Id_Cd_Ver; facturaDet.Producto.Id_PrdEsp = (insertedItem.FindControl("txtId_PrdEsp") as RadTextBox).Text; ///<------ //agregar producto de orden de compra a la lista this.ListaProductosFacturaEspecial_AgregarProducto(facturaDet); } catch (Exception ex) { string mensaje = string.Concat(ex.Message, "rgFacturaEspecial_insert_error"); ErrorManager(ex, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name); } }
private void Inicializar() { try { Sesion sesion = (Sesion)Session["Sesion" + Session.SessionID]; if (!Convert.ToBoolean(Request.QueryString["Modificar"])) { RadToolBar1.Items[1].Visible = false; } this.HD_Cliente.Value = Request.QueryString["Id_Cte"].ToString(); this.HD_ImporteTotal.Value = Request.QueryString["Ncr_ImporteTotal"].ToString(); this.HD_IVAfacturacion.Value = Request.QueryString["IVA_Ncr"].ToString(); HdId_NcrSerie.Value = Request.QueryString["Id_NcrSerie"].ToString(); string folio = Request.QueryString["Folio"].ToString(); if (Session["NcreditoEspecialGuardada" + Session.SessionID].ToString() != "1") { ListaProductosNotaCreditoEspecial = new List <NotaCreditoDet>(); } if (ListaProductosNotaCreditoEspecial != null && ListaProductosNotaCreditoEspecial.Count > 0) { if (ListaProductosNotaCreditoEspecial[0].Producto.Prd_DescripcionEspecial == null) { ListaProductosNotaCreditoEspecial[0].Producto.Prd_DescripcionEspecial = ""; } ListaProductosNotaCreditoEspecial[0].Producto.Prd_DescripcionEspecial = (ListaProductosNotaCreditoEspecial[0].Producto.Prd_DescripcionEspecial.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries)).Length > 0 ? (ListaProductosNotaCreditoEspecial[0].Producto.Prd_DescripcionEspecial.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries))[0] : ""; } else { ListaProductosNotaCreditoEspecial = new List <NotaCreditoDet>(); NotaCredito nota = new NotaCredito(); nota.Id_Emp = sesion.Id_Emp; nota.Id_Cd = sesion.Id_Cd_Ver; nota.Id_Ncr = !string.IsNullOrEmpty(folio) ? Convert.ToInt32(folio) : 0; nota.Id_NcrSerie = this.HdId_NcrSerie.Value.Trim(); List <NotaCreditoDet> listaProdFacturaEspecialFinal = new List <NotaCreditoDet>(); if (!string.IsNullOrEmpty(folio)) { new CN_CapNotaCredito().ConsultaNotaCreditoEspecialDetalle(ref listaProdFacturaEspecialFinal , sesion.Emp_Cnx , sesion.Id_Emp , sesion.Id_Cd_Ver , Convert.ToInt32(folio) , this.HdId_NcrSerie.Value.Trim() , Convert.ToInt32(this.HD_Cliente.Value)); } if (listaProdFacturaEspecialFinal.Count != 0) { ListaProductosNotaCreditoEspecial = listaProdFacturaEspecialFinal; } else { //// ------------------------------------------------------------------------------------------- //// obtener claves de productos de Remision original //// ------------------------------------------------------------------------------------------- string clavesProducto = string.Empty; foreach (DataRow dr in dt_detalles.Rows) { clavesProducto = clavesProducto + dr["Id_Prd"] + "|"; } // ------------------------------------------------------------------------------------------- // consulta productos de factura especial en el catalogo de Cliente-Producto en base a los productos de la factura original // ------------------------------------------------------------------------------------------- List <NotaCreditoDet> listaProdFacturaEspecial = new List <NotaCreditoDet>(); if (!string.IsNullOrEmpty(this.HD_Cliente.Value)) { new CN_CatClienteProd().ConsultaClienteProd_NCreditoEspecial(ref listaProdFacturaEspecial , sesion.Emp_Cnx , sesion.Id_Emp , sesion.Id_Cd_Ver , Convert.ToInt32(this.HD_Cliente.Value) , clavesProducto); } // ------------------------------------------------------------------------------------------- // Crear partidas adicionales de remision si es que la descripción viene con separadores "|" // ------------------------------------------------------------------------------------------- for (int i = 0; i < listaProdFacturaEspecial.Count; i++) { NotaCreditoDet remisionDet = listaProdFacturaEspecial[i]; remisionDet.Id_CteExt = Convert.ToInt32(this.HD_Cliente.Value);//actualiza el cliente de la partida que es el cliente de la fact. original string[] descripcion = remisionDet.Producto.Prd_DescripcionEspecial.Split(new char[] { '|' }); for (int j = 0; j < descripcion.Length; j++) { NotaCreditoDet remisionCopia = new NotaCreditoDet(); remisionCopia.Producto = new Producto(); remisionCopia.Id_CteExt = Convert.ToInt32(this.HD_Cliente.Value); remisionCopia.Id_Prd = remisionDet.Id_Prd; remisionCopia.Producto.Id_PrdEsp = remisionDet.Producto.Id_PrdEsp; remisionCopia.Producto.Prd_Descripcion = remisionDet.Producto.Prd_Descripcion; remisionCopia.Producto.Prd_Presentacion = remisionDet.Producto.Prd_Presentacion; remisionCopia.Producto.Prd_UniNe = remisionDet.Producto.Prd_UniNe; remisionCopia.Producto.Prd_InvFinal = remisionDet.Producto.Prd_InvFinal; remisionCopia.Producto.Prd_DescripcionEspecial = remisionDet.Producto.Prd_DescripcionEspecial;// descripcion[j]; remisionCopia.Id_Emp = sesion.Id_Emp; remisionCopia.Id_Cd = sesion.Id_Cd_Ver; if (j == 0) { try { remisionCopia.Ncr_Importe = Convert.ToInt32(dt_detalles.Select("Id_Prd=" + remisionDet.Id_Prd)[0]["Ncr_Importe"]); } catch { remisionCopia.Ncr_Importe = 0; } } else { remisionCopia.Ncr_Importe = 0; } ListaProductosNotaCreditoEspecial.Add(remisionCopia); } } } } double ancho = 0; foreach (GridColumn gc in rgNotaCreditoEspecialDet.Columns) { if (gc.Display) { ancho = ancho + gc.HeaderStyle.Width.Value; } } rgNotaCreditoEspecialDet.Width = Unit.Pixel(Convert.ToInt32(ancho)); rgNotaCreditoEspecialDet.MasterTableView.Width = Unit.Pixel(Convert.ToInt32(ancho)); this.CalcularTotales(); this.rgNotaCreditoEspecialDet.Rebind(); } catch (Exception ex) { throw ex; } }