Exemplo n.º 1
0
        protected void gvConceptosFacturacion_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            string ddlcliente      = Request.Form["ddlTipoCliente"];
            string ddlTipoClientes = ddlTipoCliente.Value;

            try
            {
                if ((e.Row.RowState & DataControlRowState.Edit) > 0)
                {
                    // Reviso si estoy en el detalle de items
                    if (e.Row.RowType == DataControlRowType.DataRow)
                    {
                        dsConceptoFacturacion.ConceptoRow dr = (dsConceptoFacturacion.ConceptoRow)((DataRowView)e.Row.DataItem).Row;

                        //Comento la edicion del combo, no va a poder cambiar el combo editar el concepto, o agrega uno nuevo o elimina, si puede cambiar el campo hs dias si es el tipo de tarifario.
                        DropDownList ddlConceptoFacturacion = (DropDownList)e.Row.FindControl("ddlConceptoFacturacion");
                        SisPackController.LlenarCombos.ConceptoFacturacionParaEmision(ddlConceptoFacturacion, "Elija un concepto de facturación", AgenciaConectadaID, Convert.ToInt32(ddlTipoCliente.Value));
                        ddlConceptoFacturacion.SelectedValue = dr.ConceptoFacturacionID == 0 ? "" : dr.ConceptoFacturacionID.ToString();

                        /*Por cada row voy a verificar si el concepto de facturacion "RequiereIngreso Dias/Horas" (depende del tipotarifario)*/
                        if ((dr.TipoTarifarioConceptoFacturableID == (int)NegociosSisPackInterface.SisPack.TipoTarifarioConceptoFacturable.Tarifariospordías) || (dr.TipoTarifarioConceptoFacturableID == (int)NegociosSisPackInterface.SisPack.TipoTarifarioConceptoFacturable.Tarifariosporhoras)) // Celda 2:  Indica que requiere ingreso de dias horas por el tarifario.
                        {
                            RequiredFieldValidator rfv1 = e.Row.FindControl("RequiredtxtHorasDias") as RequiredFieldValidator;
                            rfv1.Enabled = true;

                            TextBox txtHorasDias = (TextBox)e.Row.FindControl("txtHorasDias");
                            txtHorasDias.Enabled   = true;
                            txtHorasDias.BackColor = System.Drawing.Color.White;
                        }

                        /*Por cada row voy a verificar si el concepto de facturacion "Requiere Nro Precinto"*/
                        try
                        {
                            if (dr.RequiereDatosObligatorio == true)
                            {
                                RequiredFieldValidator rfv1 = e.Row.FindControl("RequiredtxtNroPrecinto") as RequiredFieldValidator;
                                rfv1.Enabled = true;

                                TextBox txtNroPrecinto = (TextBox)e.Row.FindControl("txtNroPrecinto");
                                txtNroPrecinto.Enabled   = true;
                                txtNroPrecinto.BackColor = System.Drawing.Color.White;
                            }
                        }
                        catch { }
                    }
                }
            }
            catch (Exception ex)
            {
                string script = string.Empty;
                errores.Visible = true;
                errores.Text    = ex.Message;
                ScriptManager.RegisterClientScriptBlock(this.upd1, upd1.GetType(), "muestraMensaje4", script, true);

                //((ErrorWeb)this.phErrores.Controls[0]).setMensaje(ex.Message);
            }
        }
Exemplo n.º 2
0
        private void NuevoConcepto()
        {
            try
            {
                /* Agregar una fila vacía a la grilla. */
                dsConceptoFacturacion.ConceptoDataTable ds = (dsConceptoFacturacion.ConceptoDataTable)Session["dtConceptoFacturacion"];
                dsConceptoFacturacion.ConceptoRow       dr = ds.NewConceptoRow();

                /* Inicializar los valores */
                dr.ConceptoFacturacionID = 0;
                dr.Cantidad     = 0;
                dr.NroPrecinto  = string.Empty;
                dr.CodigoBarras = string.Empty;
                dr.TipoTarifarioConceptoFacturableID = 0;
                dr.EsNuevo = true;
                ds.Rows.InsertAt(dr, 0);
                Session["dtConceptoFacturacion"] = ds;

                /* Para que el registro aparezca al inicio de la grilla. */
                gvConceptosFacturacion2.PageIndex = 0;
                gvConceptosFacturacion2.EditIndex = 0;

                gvConceptosFacturacion2.DataSource = ds;
                gvConceptosFacturacion2.DataBind();

                ds = null;
                dr = null;
                butNuevoConcepto.Enabled = false;
                //butIngresoConceptos.Enabled = false;
                errores.Visible = false;
                errores.Text    = "";
            }
            catch (Exception ex)
            {
                string script = string.Empty;
                errores.Visible = true;
                errores.Text    = ex.Message;
                ScriptManager.RegisterClientScriptBlock(this.upd1, upd1.GetType(), "muestraMensaje4", script, true);
                return;
            }
        }
Exemplo n.º 3
0
        private void butIngresoConceptos_Click(object sender, System.EventArgs e)
        {
            txtActualizarUnidadVenta.Text = "0";
            try
            {
                if (Session["DsDetalleConceptosFacturacionAAgregar"] != null)
                {
                    /* Recorrer todos los registros de la grilla y actualizar los campos */

                    dsConceptoFacturacion.ConceptoDataTable dsConceptos        = new dsConceptoFacturacion.ConceptoDataTable();
                    dsConceptoFacturacion.ConceptoDataTable dsConceptosAgregar = new dsConceptoFacturacion.ConceptoDataTable();
                    dsConceptos        = (dsConceptoFacturacion.ConceptoDataTable)Session["dtConceptoFacturacion"];
                    dsConceptosAgregar = (dsConceptoFacturacion.ConceptoDataTable)Session["DsDetalleConceptosFacturacionAAgregar"];

                    // Recorro cada concepto a agregar
                    foreach (dsConceptoFacturacion.ConceptoRow item in dsConceptosAgregar)
                    {
                        // Desarrollo de Emision de Conceptos con Codigos de Barras, se solicito que los conceptos se puedan repetir
                        // Verifico que el concepto no este ya en sesion con el mismo codigo de barras
                        if ((dsConceptos.Select("CodigoBarras like '" + (item.CodigoBarras).ToString().Trim() + "'").Length == 0) || item.CodigoBarras == string.Empty)
                        {
                            //Si no esta lo agrego
                            dsConceptoFacturacion.ConceptoRow dr = dsConceptos.NewConceptoRow();

                            /* Inicializar los valores */
                            dr.ConceptoFacturacionID = item.ConceptoFacturacionID;
                            dr.Cantidad     = item.Cantidad;
                            dr.NroPrecinto  = item.NroPrecinto;
                            dr.CodigoBarras = item.CodigoBarras;
                            dr.HorasDias    = item.HorasDias;
                            dr.Descripcion  = item.Descripcion;

                            try
                            {
                                dr.TipoTarifarioConceptoFacturableID = item.TipoTarifarioConceptoFacturableID;
                                dr.RequiereDatosObligatorio          = item.RequiereDatosObligatorio;
                                // Si el concepto requiere datos obligatorios
                                if (item.RequiereDatosObligatorio)
                                {
                                    // Coloco el nro de precinto
                                    //txtPrecintoSeguridad.Text = item.NroPrecinto;
                                    //Inserto el tipo de bulto Bolsa de seguridad
                                    if (ddlTipoBulto.Items.FindByValue("3") == null)
                                    {
                                        ddlTipoBulto.Items.Add(new ListItem("Bolsa de Seguridad", "3"));
                                        ddlTipoBulto.DataBind();
                                        ddlTipoBulto.SelectedValue = "3";
                                        ddlTipoBulto.Enabled       = false;
                                    }
                                }
                            }
                            catch (Exception)
                            {
                                throw;
                            }

                            dsConceptos.Rows.InsertAt(dr, 0);
                            gvConceptosFacturacion2.EditIndex  = -1;
                            Session["dtConceptoFacturacion"]   = dsConceptos;
                            gvConceptosFacturacion2.DataSource = dsConceptos;
                            gvConceptosFacturacion2.DataBind();
                            dr = null;
                        }
                    }
                    Session["DsDetalleConceptosFacturacionAAgregar"] = null;
                }
            }
            catch (Exception ex)
            {
                // ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(ex.Message);
            }
        }
Exemplo n.º 4
0
        private void CargarConceptosModalidadEntrega()
        {
            try
            {
                IConceptoFacturacion  concepto           = ConceptoFacturacionFactory.GetConceptoFacturacion();
                dsConceptoFacturacion dsConceptosAgregar = new dsConceptoFacturacion();

                if (Session["dtConceptoFacturacionModalidadEntrega"] == null)
                {
                    /*Recargar la session. */
                    //el 0 cambiarlo por el tipo de cliente real
                    dsConceptosAgregar = concepto.GetListConceptosParaEmisionModalidadEntregaByAgenciaID(AgenciaConectadaID, 0);
                }
                else
                {
                    /*No se realiza nuevamente la consulta*/
                    dsConceptosAgregar = (dsConceptoFacturacion)Session["dtConceptoFacturacionModalidadEntrega"];
                }

                // Recorro cada concepto a agregar
                foreach (dsConceptoFacturacion.ConceptoRow item in dsConceptosAgregar.Concepto)
                {
                    if (dtConceptoFacturacion != null)
                    {
                        // Desarrollo de Emision de Conceptos con Codigos de Barras. Se permite repetir el concepto
                        /*Por cada fila ver que no este ya en sesion el código de barras, y agregarla*/
                        //if (dtConceptoFacturacion.Select("CodigoBarras like '" + (item.CodigoBarras).ToString().Trim() + "'").Length == 0)
                        //{
                        //Si no esta lo agrego
                        dsConceptoFacturacion.ConceptoRow dr = dsConceptosAgregar.Concepto.NewConceptoRow();

                        /* Inicializar los valores */
                        dr.ConceptoFacturacionID = item.ConceptoFacturacionID;
                        dr.Cantidad    = item.Cantidad;
                        dr.NroPrecinto = item.NroPrecinto;
                        //dr.HorasDias = item.HorasDias;
                        dr.Descripcion  = item.Descripcion;
                        dr.CodigoBarras = item.CodigoBarras;
                        dtConceptoFacturacion.AddConceptoRow(item.ConceptoFacturacionID, item.Descripcion, 0, 0, 0, item.NroPrecinto, item.TipoTarifarioConceptoFacturableID, item.RequiereDatosObligatorio, 0, false, item.CodigoBarras);
                        dtConceptoFacturacion.AcceptChanges();
                        Session["dtConceptoFacturacion"] = dtConceptoFacturacion;

                        dr = null;
                        //}
                    }
                    // Esta variable es para que no todas las agencias vayan al servidor cuando cambia la modalidad de entrega, solo van a cargar los que tienen al menos un concepto de facturacion que se carga con la modalidad de entrega.
                    txtCargarConceptosEnModalidadEntrega.Text = "1";
                }
                /*Cargar en session el resultado final*/
                //Session["dtConceptoFacturacion"] = dtConceptoFacturacion;
                /*Bindear la grilla*/
                BindGridConceptosFacturacion(0);
                errores.Visible = false;
                errores.Text    = "";
            }
            catch (Exception ex)
            {
                string script = string.Empty;
                errores.Visible = true;
                errores.Text    = (ex.Message);
                ScriptManager.RegisterClientScriptBlock(this.upd1, upd1.GetType(), "muestraMensaje4", script, true);
                return;
            }
        }
Exemplo n.º 5
0
        protected void butConfirmar_Click(object sender, System.EventArgs e)
        {
            ICodigoBarras cbc = CodigoBarrasFactory.GetCodigoBarras();

            foreach (GridViewRow item in gvConceptosFacturacion.Rows)
            {
                if (((CheckBox)item.Cells[0].FindControl("chkAsignar")).Checked)
                {
                    string cb = ((TextBox)item.FindControl("txtCodigoBarras")).Text;
                    if (cbc.validaCBProducto(cb) > 0)
                    {
                        string script = string.Empty;
                        script += "alert('El código de barras " + cb + " no es válido para esta sección ya que está vinculado a un Concepto Facturable. Debe ingresarlo en la sección de Conceptos Facturables');\n";
                        ScriptManager.RegisterClientScriptBlock(this.upnlGrilla, upnlGrilla.GetType(), "muestraMensaje1", script, true);
                        return;
                    }
                    ///*Si se marco el concepto, verifico que se haya ingresado una cantidad*/
                    //RequiredFieldValidator rfv = item.FindControl("RequiredtxtCantidad") as RequiredFieldValidator;
                    //rfv.Enabled = true;

                    /*Por cada row voy a verificar si el concepto de facturacion "RequiereDatosObligatorios" (NroPrecinto)*/
                    if (Convert.ToBoolean(item.Cells[2].Text)) // Celda 2: Indica si requiere datos obligatorios. Valido el campo NroPrecinto
                    {
                        RequiredFieldValidator rfv1 = item.FindControl("RequiredtxtNroPrecinto") as RequiredFieldValidator;
                        rfv1.Enabled = true;
                    }

                    /*Por cada row voy a verificar si el concepto de facturacion "RequiereIngresoDias/Horas" (depende del tipotarifario)*/
                    if ((Utiles.Validaciones.obtieneEntero(item.Cells[3].Text) == (int)NegociosSisPackInterface.SisPack.TipoTarifarioConceptoFacturable.Tarifariospordías) || (Utiles.Validaciones.obtieneEntero(item.Cells[3].Text) == (int)NegociosSisPackInterface.SisPack.TipoTarifarioConceptoFacturable.Tarifariosporhoras)) // Celda 2: Indica que requiere ingreso de dias horas por el tarifario.
                    {
                        RequiredFieldValidator rfv2 = item.FindControl("RequiredtxtHorasDias") as RequiredFieldValidator;
                        rfv2.Enabled = true;
                    }

                    if (((TextBox)item.FindControl("txtCodigoBarras")).Text != string.Empty) // Celda 4: Se ingreso un codigo de barras.
                    {
                        ICodigoBarras codigoBarra = CodigoBarrasFactory.GetCodigoBarras();
                        if (codigoBarra.ValidarCodigoBarras(((TextBox)item.FindControl("txtCodigoBarras")).Text, AgenciaID, ClienteID) == false)
                        {
                            string script = string.Empty;
                            script += "alert('El código de barras " + ((TextBox)item.FindControl("txtCodigoBarras")).Text + " no es válido.');\n";

                            ScriptManager.RegisterClientScriptBlock(this.upnlGrilla, upnlGrilla.GetType(), "muestraMensaje1", script, true);
                            return;
                        }
                    }
                }
            }


            /*Valido la pagina*/
            Page.Validate();
            if (!Page.IsValid)
            {
                return;
            }

            dsConceptoFacturacion.ConceptoDataTable dsDetalle = new dsConceptoFacturacion.ConceptoDataTable();

            dsDetalle = new dsConceptoFacturacion.ConceptoDataTable();

            foreach (GridViewRow item in gvConceptosFacturacion.Rows)
            {
                if (((CheckBox)item.Cells[0].FindControl("chkAsignar")).Checked)
                {
                    dsConceptoFacturacion.ConceptoRow dr = null;
                    //dsConceptoFacturacion.ConceptoRow dr = new dsConceptoFacturacion.ConceptoRow();
                    dr = dsDetalle.NewConceptoRow();
                    dr.ConceptoFacturacionID = Utiles.Validaciones.obtieneEntero(item.Cells[1].Text);

                    TextBox txtCantidad = (TextBox)item.FindControl("txtCantidad");
                    dr.Cantidad = Utiles.Validaciones.obtieneEntero(txtCantidad.Text);

                    TextBox txtNroPrecinto = (TextBox)item.FindControl("txtNroPrecinto");
                    dr.NroPrecinto = txtNroPrecinto.Text;

                    TextBox txtHorasDias = (TextBox)item.FindControl("txtHorasDias");
                    dr.HorasDias = Utiles.Validaciones.obtieneDouble(txtHorasDias.Text);

                    dr.RequiereDatosObligatorio = Convert.ToBoolean(item.Cells[2].Text);

                    dr.TipoTarifarioConceptoFacturableID = Utiles.Validaciones.obtieneEntero(item.Cells[3].Text);

                    Label lblDescripcion = (Label)item.FindControl("lblConceptoFacturacionDescrip");
                    dr.Descripcion = lblDescripcion.Text;

                    TextBox txtCodigoBarras = (TextBox)item.FindControl("txtCodigoBarras");
                    dr.CodigoBarras = txtCodigoBarras.Text;

                    dsDetalle.AddConceptoRow(dr);
                }
            }

            Session["DsDetalleConceptosFacturacionAAgregar"] = dsDetalle;

            StringBuilder scriptFinal = new StringBuilder();

            scriptFinal.Append("<script type=\"text/javascript\">\n");
            scriptFinal.Append("window.close();\n");
            scriptFinal.Append("</script>");
            Page.RegisterStartupScript("DatosRegistrados", scriptFinal.ToString());
        }