private void CalcularTotales() { List <NotaCargoDet> lista = this.ListaProductosNotaCargo; 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++) { NotaCargoDet factura = lista[i]; importeTotal += factura.Nca_Importe; } Sesion sesion = (Sesion)Session["Sesion" + Session.SessionID]; //HabilitarControlesTotales(true); txtImporte.Text = importeTotal.ToString(); importeTotal = porcDescuento1 > 0 ? (importeTotal - (importeTotal * (porcDescuento1 / 100))) : importeTotal; importeTotal = porcDescuento2 > 0 ? (importeTotal - (importeTotal * (porcDescuento2 / 100))) : importeTotal; txtSubTotal.Text = importeTotal.ToString(); 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); txtIVA.Text = HD_IVAfacturacion.Value.Trim() != string.Empty ? (importeTotal * iva / 100).ToString() : "0"; txtTotal.Text = (Convert.ToSingle(txtSubTotal.Text) + Convert.ToSingle(txtIVA.Text)).ToString(); //HabilitarControlesTotales(false); }
protected void ListaProductosFacturaEspecial_ModificarProducto(NotaCargoDet factura_prod, int index) { List <NotaCargoDet> lista = this.ListaProductosNotaCargo; //buscar producto de factura en la lista NotaCargoDet factura = lista[index]; if (factura.Id_Prd == factura_prod.Id_Prd) { lista[index] = factura_prod; } this.ListaProductosNotaCargo = lista; this.CalcularTotales(); }
protected void ListaProductosFacturaEspecial_AgregarProducto(NotaCargoDet factura_prod) { List <NotaCargoDet> lista = this.ListaProductosNotaCargo; ////buscar producto de factura en la lista para ver si ya existe //for (int i = 0; i < lista.Count; i++) //{ // NotaCargoDet factura = lista[i]; // if (factura.Id_Prd == factura_prod.Id_Prd)//si el producto es el mismo // { // throw new Exception("rgFacturaEspecial_insert_repetida"); // } //} lista.Add(factura_prod); this.ListaProductosNotaCargo = lista; this.CalcularTotales(); }
protected void rgNotaCargoEspecialDet_UpdateCommand(object sender, GridCommandEventArgs e) { NotaCargoDet facturaDet = new NotaCargoDet(); 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_Nca = 0; //se debe volver asignar cuando se guarda la orden de compra, cuando actualiza queda igual facturaDet.Id_NcaDet = 0; facturaDet.Id_CteExt = Convert.ToInt32(this.HD_Cliente.Value); //cliente de datos generales de la factura facturaDet.Id_Prd = Convert.ToInt32((insertedItem.FindControl("txtId_Prd") as RadNumericTextBox).Value); facturaDet.Nca_Importe = Convert.ToDouble((insertedItem.FindControl("txtNca_Importe") as RadNumericTextBox).Value.HasValue ? (insertedItem.FindControl("txtNca_Importe") as RadNumericTextBox).Value : 0); facturaDet.Clp_Release = (insertedItem.FindControl("txtClp_ReleaseEdit") as RadTextBox).Text; //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.Id_Emp = sesion.Id_Emp; facturaDet.Producto.Id_Cd = sesion.Id_Cd_Ver; facturaDet.Producto.Id_PrdEsp = (insertedItem.FindControl("txtId_PrdEsp") as RadTextBox).Text; ///<------ facturaDet.Producto.Prd_Descripcion = (insertedItem.FindControl("cmbProducto") as RadComboBox).Text; 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; //agregar producto de orden de compra a la lista this.ListaProductosFacturaEspecial_ModificarProducto(facturaDet, e.Item.ItemIndex); } catch (Exception ex) { string mensaje = string.Concat(ex.Message, "rgFacturaEspecial_insert_error"); this.DisplayMensajeAlerta(mensaje); } }
private void Inicializar() { try { if (!Convert.ToBoolean(Request.QueryString["Modificar"])) { RadToolBar1.Items[1].Visible = false; } Sesion sesion = (Sesion)Session["Sesion" + Session.SessionID]; this.HD_Cliente.Value = Request.QueryString["Id_Cte"].ToString(); this.HD_ImporteTotal.Value = Request.QueryString["Nca_ImporteTotal"].ToString(); this.HD_IVAfacturacion.Value = Request.QueryString["IVA_Nca"].ToString(); this.HdId_NcaSerie.Value = Request.QueryString["Id_NcaSerie"].ToString(); string folio = Request.QueryString["Folio"].ToString(); if (Session["NcargoEspecialGuardada" + Session.SessionID].ToString() != "1") { ListaProductosNotaCargo = new List <NotaCargoDet>(); } if (ListaProductosNotaCargo != null && ListaProductosNotaCargo.Count > 0) { ListaProductosNotaCargo[0].Producto.Prd_DescripcionEspecial = (ListaProductosNotaCargo[0].Producto.Prd_DescripcionEspecial.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries)).Length > 0 ? (ListaProductosNotaCargo[0].Producto.Prd_DescripcionEspecial.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries))[0] : ""; } else { ListaProductosNotaCargo = new List <NotaCargoDet>(); NotaCargo nota = new NotaCargo(); nota.Id_Emp = sesion.Id_Emp; nota.Id_Cd = sesion.Id_Cd_Ver; nota.Id_Nca = !string.IsNullOrEmpty(folio) ? Convert.ToInt32(folio) : 0; List <NotaCargoDet> listaProdFacturaEspecialFinal = new List <NotaCargoDet>(); if (!string.IsNullOrEmpty(folio)) { new CN_CapNotaCargo().ConsultaNotaCargoEspecialDetalle(ref listaProdFacturaEspecialFinal , sesion.Emp_Cnx , sesion.Id_Emp , sesion.Id_Cd_Ver , Convert.ToInt32(folio) , HdId_NcaSerie.Value , Convert.ToInt32(this.HD_Cliente.Value)); } if (listaProdFacturaEspecialFinal.Count != 0) { ListaProductosNotaCargo = 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 <NotaCargoDet> listaProdFacturaEspecial = new List <NotaCargoDet>(); if (!string.IsNullOrEmpty(this.HD_Cliente.Value)) { new CN_CatClienteProd().ConsultaClienteProd_NCargoEspecial(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++) { NotaCargoDet 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++) { NotaCargoDet remisionCopia = new NotaCargoDet(); //remisionCopia = (RemisionDet)remisionDet; 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.Id_Prd = remisionDet.Producto.Id_Prd; 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 = descripcion[j]; remisionCopia.Id_Emp = sesion.Id_Emp; remisionCopia.Id_Cd = sesion.Id_Cd_Ver; if (j == 0) { try { remisionCopia.Nca_Importe = Convert.ToInt32(dt_detalles.Select("Id_Prd=" + remisionDet.Id_Prd)[0]["Nca_Importe"]); } catch { remisionCopia.Nca_Importe = 0; } } else { remisionCopia.Nca_Importe = 0; } ListaProductosNotaCargo.Add(remisionCopia); } } } } double ancho = 0; foreach (GridColumn gc in rgNotaCargoEspecialDet.Columns) { if (gc.Display) { ancho = ancho + gc.HeaderStyle.Width.Value; } } rgNotaCargoEspecialDet.Width = Unit.Pixel(Convert.ToInt32(ancho)); rgNotaCargoEspecialDet.MasterTableView.Width = Unit.Pixel(Convert.ToInt32(ancho)); this.CalcularTotales(); this.rgNotaCargoEspecialDet.Rebind(); } catch (Exception ex) { throw ex; } }