예제 #1
0
        private void butAceptar_Click(object sender, System.EventArgs e)
        {
            this.tblRangos.Visible  = true;
            this.butAceptar.Enabled = false;

            //deshabilito unidad de venta y servicios
            this.ddlProducto.Enabled         = false;
            this.ddlTiempoEntrega.Enabled    = false;
            this.ddlServicio.Enabled         = false;
            this.lstModalidadEntrega.Enabled = false;
            this.ddlServicios.Enabled        = false;
            this.ddlConcepto.Enabled         = false;
            this.radioUV.Enabled             = false;
            this.radioServicio.Enabled       = false;
            this.radioConcepto.Enabled       = false;

            ICodigoBarras codigoBarras = CodigoBarrasFactory.GetCodigoBarras();

            if (this.radioUV.Checked)
            {
                codigoBarras.UnidadVentaID      = Utiles.Validaciones.obtieneEntero(this.txtServicioSelec.Text);
                codigoBarras.ModalidadEntregaID = Utiles.Validaciones.obtieneEntero(this.txtModalidadEntregaSelec.Text);
                this.lblCantCodigos.Text        = Convert.ToString(codigoBarras.CantidadCodigosBarrasAsignados());
            }
            else if (this.radioServicio.Checked)
            {
                codigoBarras.ServicioID  = Utiles.Validaciones.obtieneEntero(this.ddlServicios.SelectedValue);
                this.lblCantCodigos.Text = Convert.ToString(codigoBarras.CantidadCodigosBarrasAsignados());
            }
            else if (this.radioConcepto.Checked)
            {
                codigoBarras.ConceptoFacturacionID = Utiles.Validaciones.obtieneEntero(this.ddlConcepto.SelectedValue);
                this.lblCantCodigos.Text           = Convert.ToString(codigoBarras.CantidadCodigosBarrasAsignados());
            }
        }
        private void BindGrid(int currentPage)
        {
            try
            {
                SisPackController.AdministrarGrillas.Configurar(dtgCodigos, "CodigoBarras", this.CantidadOpciones);
                dtgCodigos.ShowFooter                  = true;
                dtgCodigos.FooterStyle.CssClass        = "TextoBold";
                dtgCodigos.FooterStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
                ICodigoBarras codigos = CodigoBarrasFactory.GetCodigoBarras();
                codigos.AgenciaID  = Utiles.Validaciones.obtieneEntero(this.busqAgencia.AgenciaID);
                codigos.ClienteID  = Utiles.Validaciones.obtieneEntero(this.busqCliente.ClienteID);
                codigos.VendedorID = Utiles.Validaciones.obtieneEntero(this.busqVendedor.VendedorID);
                int todos = 0;
                if (this.rbtAgencias.Checked)
                {
                    todos = 1;
                }
                else if (this.rbtVendedores.Checked)
                {
                    todos = 2;
                }
                else if (this.rbtClientes.Checked)
                {
                    todos = 3;
                }
                else if (this.rbtTodos.Checked)
                {
                    todos = 4;
                }

                DsTarifaPreventaCodigoBarras ds = codigos.GetTarifaPreventaCB(this.txtDesde.Text, this.txtHasta.Text, this.UnidadNegocioID, todos);
                Session["DsTarifaPreventaCB"] = ds;

                dtgCodigos.DataSource       = ds.Datos;
                dtgCodigos.CurrentPageIndex = currentPage;
                dtgCodigos.DataBind();
            }
            catch (Exception ex)
            {
                ManejaErrores(ex);
            }
        }
예제 #3
0
        protected void validCodigoBarras_ServerValidate(object source, ServerValidateEventArgs args)
        {
            args.IsValid = false;
            if (txtCodigoBarras.Text != string.Empty)
            {
                ICodigoBarras codigoBarra = CodigoBarrasFactory.GetCodigoBarras();

                Int32 _conceptoFacturacionID = -1;
                if (ddlConceptoFacturacion.SelectedIndex > -1)
                {
                    _conceptoFacturacionID = Convert.ToInt32(ddlConceptoFacturacion.SelectedValue);
                }

                if (codigoBarra.ValidarCodigoBarraConceptoFacturacion(txtCodigoBarras.Text, AgenciaConectadaID, ClienteFacturacion1.ClienteCorporativoID ?? 0, _conceptoFacturacionID) == true)
                {
                    args.IsValid = true;
                }
            }
            else
            {
                args.IsValid = true;
            }
        }
예제 #4
0
        private void GuardarConcepto(GridViewCommandEventArgs e)
        {
            try
            {
                GridViewRow item         = this.gvConceptosFacturacion2.Rows[this.gvConceptosFacturacion2.EditIndex];
                TextBox     CodigoBarras = (TextBox)item.FindControl("txtCodigoBarrasConcepto");

                //para que valide que el CB ingresado no corresponde a una unidad de venta FQ18/01/2015
                ICodigoBarras cb = CodigoBarrasFactory.GetCodigoBarras();
                if (cb.validaCBProducto(CodigoBarras.Text) > 0)
                {
                    string script = string.Empty;

                    errores.Visible = true;
                    errores.Text    = ("El código de barras " + CodigoBarras.Text + " no es válido para esta sección ya que está vinculado a una Unidad de Venta o Servicio. Debe ingresarlo en la sección de Codigo de Barras");
                    ScriptManager.RegisterClientScriptBlock(this.upd1, upd1.GetType(), "muestraMensaje4", script, true);
                    return;
                }

                /* Obtener los datos de la grilla. */
                dtConceptoFacturacion = (dsConceptoFacturacion.ConceptoDataTable)Session["dtConceptoFacturacion"];

                /* Posicionarse en el registro deseado. */
                dsConceptoFacturacion.ConceptoRow dr;
                dr = (dsConceptoFacturacion.ConceptoRow)dtConceptoFacturacion.Rows[Convert.ToInt32(e.CommandArgument)];

                IConceptoFacturacion conceptoFacturacion = ConceptoFacturacionFactory.GetConceptoFacturacion();
                //conceptoFacturacion.ConceptoFacturacionId = dr.ConceptoFacturacionID;

                DropDownList concepto = (DropDownList)item.FindControl("ddlConceptoFacturacion");
                string       selValue = concepto.SelectedValue;
                dr.ConceptoFacturacionID = selValue == "" ? 0 : Convert.ToInt32(selValue);
                dr.Descripcion           = concepto.SelectedItem.Text.Trim();

                if (dr.ConceptoFacturacionID == 0)
                {
                    string script = string.Empty;
                    script         += "alert('Debe seleccionar un concepto de facturación.');\n";
                    errores.Visible = true;
                    errores.Text    = " El código de barras " + CodigoBarras.Text + " no es válido.";
                    ScriptManager.RegisterClientScriptBlock(this.upd1, upd1.GetType(), "muestraMensaje4", script, true);

                    return;
                }

                ICodigoBarras codigoBarra = CodigoBarrasFactory.GetCodigoBarras();
                if (CodigoBarras.Text.Length > 0 && CodigoBarras.Text != string.Empty)
                {
                    txtClienteIDD.Text = "0";
                    int ClienteCoorporativoID = Convert.ToInt32(txtClienteIDD.Text);
                    // valida que el codigo se haya asignado a la agencia o al cliente
                    if (codigoBarra.ValidarCodigoBarras(CodigoBarras.Text, AgenciaConectadaID, ClienteCoorporativoID) == false)
                    {
                        string script = string.Empty;

                        errores.Visible = true;
                        errores.Text    = " El código de barras " + CodigoBarras.Text + " no es válido.";

                        ScriptManager.RegisterClientScriptBlock(this.upd1, upd1.GetType(), "muestraMensaje4", script, true);
                        return;
                    }

                    // valida que no se ingrese el mismo codigo mas de una vez
                    if ((this.dtConceptoFacturacion.Select("CodigoBarras like '" + CodigoBarras.Text + "'").Length > 0) && CodigoBarras.Text != string.Empty)
                    {
                        string script = string.Empty;

                        errores.Visible = true;
                        errores.Text    = "a se ha ingresado el código de barras " + CodigoBarras.Text + ".";

                        ScriptManager.RegisterClientScriptBlock(this.upd1, upd1.GetType(), "muestraMensaje4", script, true);
                        return;
                    }
                }
                conceptoFacturacion.GetOne(dr.ConceptoFacturacionID);
                TextBox NroPrecinto = (TextBox)item.FindControl("txtNroPrecinto");
                TextBox HorasDias   = (TextBox)item.FindControl("txtHorasDias");

                if (((conceptoFacturacion.RequiereDatosObligatorio ?? false) == true) && (NroPrecinto.Text == string.Empty))
                {
                    string script = string.Empty;
                    // script += "alert('Debe ingresar un número de precinto para el servicio.');\n";

                    //((ErrorWeb)this.phErrores.Controls[0]).setMensaje("Debe ingresar un número de precinto para el servicio.");
                    errores.Visible = true;
                    errores.Text    = "Debe ingresar un número de precinto para el servicio.";

                    ScriptManager.RegisterClientScriptBlock(this.upd1, upd1.GetType(), "muestraMensaje4", script, true);
                    return;
                }


                // Si tiene tarifario por horas o dias, habilitar el textbox de horas/dias
                if (((conceptoFacturacion.TipoTarifarioConceptoFacturableID == (int)NegociosSisPackInterface.SisPack.TipoTarifarioConceptoFacturable.Tarifariosporhoras) || (conceptoFacturacion.TipoTarifarioConceptoFacturableID == (int)NegociosSisPackInterface.SisPack.TipoTarifarioConceptoFacturable.Tarifariospordías)) && (HorasDias.Text == string.Empty))
                {
                    string script = string.Empty;
                    // script += "alert('Debe ingresar la cantidad de horas o días para el servicio.');\n";

                    //  ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("Debe ingresar la cantidad de horas o días para el servicio.");
                    errores.Text = "Debe ingresar la cantidad de horas o días para el servicio.";
                    ScriptManager.RegisterClientScriptBlock(this.upd1, upd1.GetType(), "muestraMensaje4", script, true);
                    return;
                }

                dr.HorasDias    = HorasDias.Text.Trim().Equals("") ? 0 : Utiles.Validaciones.obtieneEntero(HorasDias.Text.Trim());
                dr.NroPrecinto  = NroPrecinto.Text.Trim().Equals("") ? string.Empty : NroPrecinto.Text.Trim();
                dr.CodigoBarras = CodigoBarras.Text.Trim().Equals("") ? string.Empty : CodigoBarras.Text.Trim();
                dtConceptoFacturacion[Convert.ToInt32(e.CommandArgument)].HorasDias                         = dr.HorasDias;
                dtConceptoFacturacion[Convert.ToInt32(e.CommandArgument)].Descripcion                       = dr.Descripcion;
                dtConceptoFacturacion[Convert.ToInt32(e.CommandArgument)].NroPrecinto                       = dr.NroPrecinto;
                dtConceptoFacturacion[Convert.ToInt32(e.CommandArgument)].CodigoBarras                      = dr.CodigoBarras;
                dtConceptoFacturacion[Convert.ToInt32(e.CommandArgument)].ConceptoFacturacionID             = dr.ConceptoFacturacionID;
                dtConceptoFacturacion[Convert.ToInt32(e.CommandArgument)].TipoTarifarioConceptoFacturableID = conceptoFacturacion.TipoTarifarioConceptoFacturableID ?? 0;
                dtConceptoFacturacion[Convert.ToInt32(e.CommandArgument)].RequiereDatosObligatorio          = conceptoFacturacion.RequiereDatosObligatorio ?? false;
                dtConceptoFacturacion[Convert.ToInt32(e.CommandArgument)].EsNuevo = false;

                if (dr.RequiereDatosObligatorio)
                {
                    //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;
                    }
                }

                dr = null;
                conceptoFacturacion = null;

                gvConceptosFacturacion2.EditIndex = -1;
                Session["dtConceptoFacturacion"]  = dtConceptoFacturacion;
                BindGridConceptosFacturacion(gvConceptosFacturacion2.PageIndex);
                butNuevoConcepto.Enabled = true;
                //butIngresoConceptos.Enabled = true;

                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;
                //                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(ex.Message);
            }
        }
예제 #5
0
        public List <datos> ValidaOrdenes(string nombrep, string AgenciaConcet)
        {
            var persons = new List <datos>();
            //elimina las llaves
            string prueba1 = nombrep.Replace("}", " ");
            string prueba  = prueba1.Replace("{", " ");
            //elimina los puntos
            string datos = prueba.Replace(":", " ");

            DsHojaRutaRepartidorOrdenes.DatosCBDataTable dso = new DsHojaRutaRepartidorOrdenes.DatosCBDataTable();
            string[] separadas;

            string[] CadaLinea;

            separadas = datos.Split('$');

            int tamaño = separadas.Count();

            for (int i = 0; i < separadas.Count(); i++)
            {
                CadaLinea = separadas[i].Split(new string[] { ",\"" }, StringSplitOptions.None);

                string ConceptoOrdenID = CadaLinea[0].Replace("OrdenRetiroConceptoFacturacion", " ");

                if (ConceptoOrdenID != "")
                {
                    string OrdenRetiro     = CadaLinea[1].Replace("ordenRetiro", " ");
                    string OrdenRetiroBien = OrdenRetiro.ToString().Replace('"', ' ').Trim();

                    string descripcion     = CadaLinea[2].Replace("descripProducto", " ");
                    string descripcionBien = descripcion.ToString().Replace('"', ' ').Trim();

                    string importe     = CadaLinea[3].Replace("Importe", " ");
                    string importeBien = importe.ToString().Replace('"', ' ').Trim();

                    string cb     = CadaLinea[4].Replace("CB", " ");
                    string cbBien = cb.ToString().Replace('"', ' ').Trim();


                    string ConceptoOrdenIDBien = ConceptoOrdenID.ToString().Replace('"', ' ').Trim();

                    dso.AddDatosCBRow(OrdenRetiroBien, descripcionBien, importeBien, cbBien, ConceptoOrdenIDBien);
                }
            }


            try
            {
                foreach (DsHojaRutaRepartidorOrdenes.DatosCBRow drr in dso.Rows)
                {
                    if (drr.CodigoBarras != "0")
                    {
                        ICodigoBarras cb2       = CodigoBarrasFactory.GetCodigoBarras();
                        string        NroCodigo = cb2.GetDatosByOrdenRetiroConceptoFacturacion(Convert.ToInt32(drr.OrdenRetiroConceptoFacturacion));


                        if (NroCodigo != drr.CodigoBarras)
                        {
                            int conceptoid = 0;
                            int clienteid  = 0;
                            int uv         = 0;

                            IOrdenRetiro  or   = OrdenRetiroFactory.GetOrdenRetiroFactory();
                            DsOrdenRetiro dsor = new DsOrdenRetiro();
                            or.OrdenRetiroID = Convert.ToInt32(drr.OrdenRetiroID);
                            dsor             = or.ClienteCorporativoinOR();

                            foreach (DsOrdenRetiro.DatosOrdenCBRow drror in dsor.DatosOrdenCB)
                            {
                                clienteid  = drror.IsClienteIDNull() ? 0 : Convert.ToInt32(drror.ClienteID);
                                uv         = drror.IsUnidadVentaIDNull() ? 0 : Convert.ToInt32(drror.UnidadVentaID);
                                conceptoid = drror.IsConceptoFacturacionIDNull() ? 0 : Convert.ToInt32(drror.ConceptoFacturacionID);
                            }
                            ICodigoBarras cb = CodigoBarrasFactory.GetCodigoBarras();

                            if (clienteid == 0)//el codigo de barra tiene que salir de la agencia
                            {
                                cb.ConceptoFacturacionID = conceptoid;
                                cb.AgenciaID             = Convert.ToInt32(AgenciaConcet);
                                cb.OrdenRetiroID         = Convert.ToInt32(drr.OrdenRetiroID);
                                cb.UnidadVentaID         = uv;
                                if (cb.ValidaCBbyAgenciaID(drr.CodigoBarras) == 0)
                                {
                                    throw new Exception(" Codigo de barra " + drr.CodigoBarras + " inválido");
                                }
                            }
                            else
                            {
                                //tiene que sacar del stock del del cliente corporativo

                                cb.ConceptoFacturacionID = conceptoid;
                                cb.ClienteID             = Convert.ToInt32(clienteid);
                                cb.OrdenRetiroID         = Convert.ToInt32(drr.OrdenRetiroID);
                                cb.UnidadVentaID         = uv;


                                if (cb.ValidaCBbyClienteID(drr.CodigoBarras) == 0)
                                {
                                    throw new Exception(" Codigo de barra " + drr.CodigoBarras + " inválido");
                                }
                            }
                        }
                    }
                    else
                    {
                        throw new Exception("Debe ingresar un Código de Barras.");
                    }
                    datos person = new datos
                    {
                        OrdenRetiroConceptoFacturacion = Convert.ToInt32(drr.OrdenRetiroConceptoFacturacion),
                        ordenRetiro     = Convert.ToInt32(drr.OrdenRetiroID),
                        descripProducto = drr.Descripcion,
                        Importe         = Convert.ToDouble(drr.ImporteConcepto),
                        CB = drr.CodigoBarras
                    };
                    persons.Add(person);
                }
            }
            catch (Exception ex)
            {
                string mensaje = ex.Message;

                if (mensaje.Trim() == "Codigo de barra <INPUT style= WIDTH  96%  id=1_  class= editable inline-edit-cell ui-widget-content ui-corner-all  role=textbox name=  rowid= 1 > inválido")
                {
                    throw new Exception("Guardar cambios antes de validar.");
                }
                else
                {
                    throw new Exception(ex.Message);
                }
                // if(mensaje=""
            }



            return(persons);
        }
예제 #6
0
        public List <datos> GuardarOrdenes(string nombrep, string AgenciaConcet)
        {
            var persons = new List <datos>();
            //elimina las llaves
            string prueba1 = nombrep.Replace("}", " ");
            string prueba  = prueba1.Replace("{", " ");
            //elimina los puntos
            string datos = prueba.Replace(":", " ");

            DsHojaRutaRepartidorOrdenes.DatosCBDataTable dso = new DsHojaRutaRepartidorOrdenes.DatosCBDataTable();
            string[] separadas;

            string[] CadaLinea;

            separadas = datos.Split('$');

            int tamaño = separadas.Count();

            for (int i = 0; i < separadas.Count(); i++)
            {
                CadaLinea = separadas[i].Split(',');



                string ConceptoOrdenID = CadaLinea[0].Replace("OrdenRetiroConceptoFacturacion", " ");

                if (ConceptoOrdenID != "")
                {
                    string OrdenRetiro     = CadaLinea[1].Replace("ordenRetiro", " ");
                    string OrdenRetiroBien = OrdenRetiro.ToString().Replace('"', ' ').Trim();

                    string descripcion     = CadaLinea[2].Replace("descripProducto", " ");
                    string descripcionBien = descripcion.ToString().Replace('"', ' ').Trim();

                    string importe     = CadaLinea[3].Replace("Importe", " ");
                    string importeBien = importe.ToString().Replace('"', ' ').Trim();

                    string cb     = CadaLinea[4].Replace("CB", " ");
                    string cbBien = cb.ToString().Replace('"', ' ').Trim();

                    string ConceptoOrdenIDBien = ConceptoOrdenID.ToString().Replace('"', ' ').Trim();

                    dso.AddDatosCBRow(OrdenRetiroBien, descripcionBien, importeBien, cbBien, ConceptoOrdenIDBien);
                }
            }



            foreach (DsHojaRutaRepartidorOrdenes.DatosCBRow drr in dso.Rows)
            {
                ICodigoBarras cb        = CodigoBarrasFactory.GetCodigoBarras();
                string        NroCodigo = cb.GetDatosByOrdenRetiroConceptoFacturacion(Convert.ToInt32(drr.OrdenRetiroConceptoFacturacion));

                if (NroCodigo != drr.CodigoBarras)//quiere decir que se realizaron modificaciones en el numero de los CB
                //Se tiene que dar de baja el que tenia anteriormente y usar el que estan cargando.
                {
                    int conceptoid = 0;
                    int clienteid  = 0;
                    int uv         = 0;

                    IOrdenRetiro  or   = OrdenRetiroFactory.GetOrdenRetiroFactory();
                    DsOrdenRetiro dsor = new DsOrdenRetiro();
                    or.OrdenRetiroID = Convert.ToInt32(drr.OrdenRetiroID);
                    dsor             = or.ClienteCorporativoinOR();

                    foreach (DsOrdenRetiro.DatosOrdenCBRow drror in dsor.DatosOrdenCB)
                    {
                        clienteid  = drror.IsClienteIDNull() ? 0 : Convert.ToInt32(drror.ClienteID);
                        uv         = drror.IsUnidadVentaIDNull() ? 0 : Convert.ToInt32(drror.UnidadVentaID);
                        conceptoid = drror.IsConceptoFacturacionIDNull() ? 0 : Convert.ToInt32(drror.ConceptoFacturacionID);
                    }


                    if (clienteid == 0)//el codigo de barra tiene que salir de la agencia
                    {
                        cb.ConceptoFacturacionID = conceptoid;
                        cb.AgenciaID             = Convert.ToInt32(AgenciaConcet);
                        cb.OrdenRetiroID         = Convert.ToInt32(drr.OrdenRetiroID);
                        cb.UnidadVentaID         = uv;
                        cb.ClienteID             = 0;
                        //pasa primero el cb viejo y despues el nuevo

                        if (cb.CambiaEstadoCBOrdenRetiro(NroCodigo, drr.CodigoBarras, drr.OrdenRetiroConceptoFacturacion) == false)
                        {
                            throw new Exception("Codigo de barra" + drr.CodigoBarras + " inválido");
                        }
                    }
                    else
                    {//tiene que descontar del cliente corporativo
                        cb.ConceptoFacturacionID = conceptoid;
                        cb.ClienteID             = Convert.ToInt32(clienteid);
                        cb.OrdenRetiroID         = Convert.ToInt32(drr.OrdenRetiroID);
                        cb.UnidadVentaID         = uv;
                        cb.AgenciaID             = 0;
                        if (cb.CambiaEstadoCBOrdenRetiro(NroCodigo, drr.CodigoBarras, drr.OrdenRetiroConceptoFacturacion) == false)
                        {
                            throw new Exception("Codigo de barra " + drr.CodigoBarras + " inválido");
                        }
                    }
                }
                datos person = new datos
                {
                    OrdenRetiroConceptoFacturacion = Convert.ToInt32(drr.OrdenRetiroConceptoFacturacion),
                    ordenRetiro     = Convert.ToInt32(drr.OrdenRetiroID),
                    descripProducto = drr.Descripcion,
                    Importe         = Convert.ToDouble(drr.ImporteConcepto),
                    CB = drr.CodigoBarras
                };
                persons.Add(person);
            }


            return(persons);
        }
예제 #7
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());
        }
예제 #8
0
        private void BindGridAsignados(int currentPage)
        {
            DataSet ds = new DataSet();

            SisPackController.AdministrarGrillas.Configurar(this.hgCodigoBarras, "UnidadVentaID", this.CantidadOpciones);
            hgCodigoBarras.AllowPaging = false;
            DateTime fechaDesde = this.txtFechaDesde.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaDesde.Text) : Utiles.Fechas.FormatFechaDDMMYYYY("01/01/1900");
            DateTime fechaHasta = this.txtFechaHasta.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaHasta.Text) : Utiles.Fechas.FormatFechaDDMMYYYY("01/01/1900");

            // obtengo las unidades de ventas
            ICodigoBarras codigoBarras = CodigoBarrasFactory.GetCodigoBarras();

            codigoBarras.UnidadVentaID = Utiles.Validaciones.obtieneEntero(this.ddlUnidadVenta.SelectedValue);
            int categoriaUVentaID = Utiles.Validaciones.obtieneEntero(this.ddlCategoriaUVenta.SelectedValue);

            codigoBarras.ConceptoFacturacionID = Utiles.Validaciones.obtieneEntero(this.ddlConceptoFacturacion.SelectedValue);
            int             categoriaConceptoFacturacionID = Utiles.Validaciones.obtieneEntero(this.ddlCategoriaConceptoFacturacion.SelectedValue);
            DsUnidadesVenta dsUnidadVenta = codigoBarras.GetUnidadVentaCodigoBarrasAsignado(fechaDesde, fechaHasta, categoriaUVentaID, categoriaConceptoFacturacionID);

            ds.Tables.Add(dsUnidadVenta.Datos.Clone());
            ds.Tables[0].TableName = "UnidadVenta";

            foreach (System.Data.DataRow row in dsUnidadVenta.Datos.Rows)
            {
                ds.Tables["UnidadVenta"].ImportRow(row);
            }

            // obtengo las guias por cada unidad de venta
            DsTarifaCodigoBarrasGuia dsTarifas = codigoBarras.GetTarifasCodigoBarrasGuiaAsignadas(fechaDesde, fechaHasta);

            ds.Tables.Add(dsTarifas.Datos.Clone());
            ds.Tables[1].TableName = "Tarifas";

            foreach (System.Data.DataRow row in dsTarifas.Datos.Rows)
            {
                ds.Tables["Tarifas"].ImportRow(row);
            }

            // relaciono la tabla "UnidadVenta" con "Tarifas", a través de UnidadVentaID
            DataColumn dc1 = ds.Tables[0].Columns["UnidadVentaID"];
            DataColumn dc2 = ds.Tables[1].Columns["UnidadVentaID"];

            DataRelation dr = new DataRelation("UnidadVentaID_Tarifas", dc1, dc2, false);

            ds.Relations.Add(dr);

            // obtengo los codigos de barras utilizados por guia
            DsTarifaCodigoBarrasGuia dsDetalleCodigos = codigoBarras.GetDetalleCodigoBarrasGuiaAsignada(fechaDesde, fechaHasta);

            ds.Tables.Add(dsDetalleCodigos.Datos.Clone());
            ds.Tables[2].TableName = "DetalleCodigos";

            foreach (System.Data.DataRow row in dsDetalleCodigos.Datos.Rows)
            {
                ds.Tables["DetalleCodigos"].ImportRow(row);
            }

            // relaciono la tabla "Tarifas" con "DetalleCodigos", a través de GuiaID
            dc1 = ds.Tables[1].Columns["GuiaID"];
            dc2 = ds.Tables[2].Columns["GuiaID"];

            dr = new DataRelation("GuiaID_Detalle", dc1, dc2, false);
            ds.Relations.Add(dr);

            this.hgCodigoBarras.DataSource = ds;
            this.hgCodigoBarras.DataMember = "UnidadVenta";
            this.hgCodigoBarras.DataBind();
        }
        private void BindGridMovimientos(int currentPage)
        {
            BaseValidator bv;
            BaseValidator bv1;

            bv         = (BaseValidator)this.phValidUVenta.FindControl("validUnidadVenta");
            bv.Enabled = true;
            bv.Validate();
            // Se comenta por desarrollo de conceptos de facturacion con codigos de barras. se puede seleccionar un concepto o una unidad de venta
            //if (!bv.IsValid)
            //    return;

            bv1         = (BaseValidator)this.phValidConcepto.FindControl("validConcepto");
            bv1.Enabled = true;
            bv1.Validate();
            if (!bv.IsValid && !bv1.IsValid)
            {
                return;
            }

            int UnidadVentaID = Utiles.Validaciones.obtieneEntero(ddlUnidadVenta.SelectedValue);

            if (UnidadVentaID == 0)
            {
                bv.IsValid = false;
            }

            int ConceptoFacturacionID = Utiles.Validaciones.obtieneEntero(ddlConceptoFacturacion.SelectedValue);

            if (ConceptoFacturacionID == 0)
            {
                bv1.IsValid = false;
            }

            if (!bv.IsValid && !bv1.IsValid)
            {
                return;
            }

            bv         = (BaseValidator)this.phValidFechaDesde.FindControl("validFechaDesde");
            bv.Enabled = true;
            bv.Validate();
            if (!bv.IsValid)
            {
                return;
            }
            bv         = (BaseValidator)this.phValidFechaHasta.FindControl("validFechaHasta");
            bv.Enabled = true;
            bv.Validate();
            if (!bv.IsValid)
            {
                return;
            }

            SisPackController.AdministrarGrillas.Configurar(dtgCodigosMovimientos, null, this.CantidadOpciones, true, true);

            ICodigoBarras oCodigos = CodigoBarrasFactory.GetCodigoBarras();

            DateTime desde      = (this.txtFechaDesde.Text == "") ? DateTime.Parse("01/01/1900") : Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaDesde.Text);
            DateTime hasta      = (this.txtFechaHasta.Text == "") ? DateTime.Parse("01/01/2100") : Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaHasta.Text);
            int      estado     = (this.optAsignados.Checked) ? 2 : (this.optPrevendido.Checked) ? 3 : 0;
            int      cliente    = 0;
            int      agencia    = 0;
            int      vendedor   = 0;
            string   clientes   = "N";
            string   agencias   = "N";
            string   vendedores = "N";

            if (this.rbtAgencias.Checked)
            {
                agencia  = (this.busqAgencia.AgenciaID == "") ? 0 : Convert.ToInt32(this.busqAgencia.AgenciaID);
                agencias = "S";
            }

            if (this.rbtClientes.Checked)
            {
                cliente  = (this.busqCliente.ClienteID == "") ? 0 : Convert.ToInt32(this.busqCliente.ClienteID);
                clientes = "S";
            }

            if (this.rbtVendedores.Checked)
            {
                vendedor   = (this.busqVendedor.VendedorID == "") ? 0 : Convert.ToInt32(this.busqVendedor.VendedorID);
                vendedores = "S";
            }

            if (this.rbtTodos.Checked)
            {
                cliente    = 0;
                agencia    = 0;
                vendedor   = 0;
                clientes   = "S";
                agencias   = "S";
                vendedores = "S";
            }

            int unidadVentaID         = (ddlUnidadVenta.SelectedValue == "") ? 0 : Convert.ToInt32(ddlUnidadVenta.SelectedValue);
            int conceptoFacturacionID = (ddlConceptoFacturacion.SelectedValue == "") ? 0 : Convert.ToInt32(ddlConceptoFacturacion.SelectedValue);

            DsCodigoBarrasUltimosMovimientos dsCodigos = oCodigos.GetUltimosMovimientos(desde, hasta, estado, cliente, agencia, vendedor, unidadVentaID, clientes, agencias, vendedores, conceptoFacturacionID);

            this.dtgCodigosMovimientos.DataSource = dsCodigos;
            Session["DsCodigos"] = dsCodigos;

            dtgCodigosMovimientos.CurrentPageIndex = currentPage;
            dtgCodigosMovimientos.DataBind();

            bv         = (BaseValidator)this.phValidFechaDesde.FindControl("validFechaDesde");
            bv.Enabled = false;


            bv         = (BaseValidator)this.phValidFechaHasta.FindControl("validFechaHasta");
            bv.Enabled = false;

            bv         = (BaseValidator)this.phValidUVenta.FindControl("validUnidadVenta");
            bv.Enabled = false;

            bv         = (BaseValidator)this.phValidUVenta.FindControl("validConcepto");
            bv.Enabled = false;
        }
예제 #10
0
        private void butAceptar_Click(object sender, System.EventArgs e)
        {
            try
            {
                DsCodigoBarrasGuia ds = (DsCodigoBarrasGuia)Session["DsCodigoBarras"];

                //concateno los codigos de barras
                string codigos            = "";
                string servicios          = "";
                int    i                  = 0;
                string unidadVentaID      = "";
                string tiempoEntregaID    = "";
                string productoID         = "";
                string modalidadEntregaID = "";

                foreach (DsCodigoBarrasGuia.DatosRow dr in ds.Datos.Rows)
                {
                    if (dr.ServicioID != 0)
                    {
                        servicios += dr.ServicioID.ToString();
                    }
                    else
                    {
                        servicios += "0";
                    }

                    codigos += dr.CodigoBarras;
                    if (i < ds.Datos.Rows.Count - 1)
                    {
                        codigos += ",";
                    }

                    if (i < ds.Datos.Rows.Count - 1 && dr.ServicioID != 0)
                    {
                        servicios += ",";
                    }
                    if (dr.UnidadVentaID.ToString() != "0")
                    {
                        unidadVentaID = dr.UnidadVentaID.ToString();
                    }
                    if (dr.TiempoEntregaID.ToString() != "0")
                    {
                        tiempoEntregaID = dr.TiempoEntregaID.ToString();
                    }
                    if (dr.ProductoID.ToString() != "0")
                    {
                        productoID = dr.ProductoID.ToString();
                    }
                    if (dr.ModalidadEntregaID.ToString() != "0")
                    {
                        modalidadEntregaID = dr.ModalidadEntregaID.ToString();
                    }

                    i++;
                }

                //verifico que todos los codigos de barras tengan el mismo estado (asignado o prevendido)
                ICodigoBarras codigoBarras = CodigoBarrasFactory.GetCodigoBarras();
                codigoBarras.VerificaEstadoCodigoBarras(codigos);                 //si falla, arroja una excepcion, sino, sigue sin problemas


                this.txtUVentaSelec.Text     = unidadVentaID == "" ? "0" : unidadVentaID;
                this.txtTiempoEntregaID.Text = tiempoEntregaID == "" ? "0" : tiempoEntregaID;
                this.txtProductoID.Text      = productoID == "" ? "0" : productoID;
                //this.txtServicioIDSel.Text = servicios == "" ? "0" : servicios; //dr.ServicioID.ToString();
                this.txtModalidadEntregaID.Text = modalidadEntregaID == "" ? "0" : modalidadEntregaID;


                // solo se elije un codigo de barra, que está asociado a una unidad de venta
                if (this.txtUVentaSelec.Text != "0" && Utiles.Validaciones.obtieneEntero(this.txtCantServicios.Text) == 0)
                {
                    BindProducto();
                    BindTiempoEntregaUV(Utiles.Validaciones.obtieneEntero(this.txtUVentaSelec.Text));                     //dr.UnidadVentaID
                    BindServicioUV();

                    if (this.txtPrevendido.Text == "1")
                    {
                        BindModalidadEntregaByID(Utiles.Validaciones.obtieneEntero(this.txtModalidadEntregaID.Text));
                    }
                    else
                    {
                        BindModalidadEntregaByUnidadVentaID(Convert.ToInt32(unidadVentaID));
                    }
                }
                // solo se elije un codigo de barras, que está asociado a uno o mas servicio
                else if (this.txtUVentaSelec.Text == "0" && Utiles.Validaciones.obtieneEntero(this.txtCantServicios.Text) != 0)
                {
                    BindProductoByCodigo(codigos);
                    BindTiempoEntrega();
                    BindServicio();
                    BindModalidadEntrega();
                }
                // se elije un codigo de barras asociado a una UV, y uno o mas codigos de barras asociados a un servicio
                else if (this.txtUVentaSelec.Text != "0" && Utiles.Validaciones.obtieneEntero(this.txtCantServicios.Text) != 0)
                {
                    BindProductoByCodigoCombinado(codigos);
                    BindTiempoEntregaUV(Utiles.Validaciones.obtieneEntero(this.txtUVentaSelec.Text));
                    BindServicioAmbos();
                    if (this.txtPrevendido.Text == "1")
                    {
                        BindModalidadEntregaByID(Utiles.Validaciones.obtieneEntero(this.txtModalidadEntregaID.Text));
                    }
                    else
                    {
                        BindModalidadEntrega();
                    }
                }

                this.tblUVenta.Visible         = true;
                this.txtCodigoBarrasTotal.Text = codigos;

                this.txtCodigoBarras.Enabled = false;
                this.butAgregar.Enabled      = false;
                this.butAceptar.Enabled      = false;
                this.txtButAceptar.Text      = "1";

                SisPackController.AdministrarGrillas.ConfigurarChica(dtgCodigos, "CodigoBarras");
                Session["DsCodigoBarras"]        = (DsCodigoBarrasGuia)dsCodigoBarras;
                this.dtgCodigos.DataSource       = dsCodigoBarras;
                this.dtgCodigos.CurrentPageIndex = 0;
                this.dtgCodigos.DataBind();
                this.butConfirmar.Enabled = true;
            }
            catch (Exception ex)
            {
                this.txtButAceptar.Text = "0";
                ManejaErrores(ex);
            }
        }
예제 #11
0
        private void butAgregar_Click(object sender, System.EventArgs e)
        {
            try
            {
                int           cantServicios = Utiles.Validaciones.obtieneEntero(this.txtCantServicios.Text);
                string        codigob       = txtCodigoBarras.Text;
                ICodigoBarras cb            = CodigoBarrasFactory.GetCodigoBarras();

                //para que no ingresen un codigo de barra que tenga un concepto FQ  18/01/2016
                if (cb.validaCBCOncepto(codigob) > 0)
                {
                    throw new Exception("El código de barras " + codigob + "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");
                }


                bool   valido          = false;
                int    retorno         = 0;
                string nroCodigoBarras = string.Empty;
                if (!int.TryParse(txtCodigoBarras.Text.Substring(0, 1), out retorno))
                {
                    for (int i = 1; i < txtCodigoBarras.Text.Length; i++)
                    {
                        if (txtCodigoBarras.Text.Substring(i, 1) == "0")
                        {
                            retorno = i;
                        }
                        else
                        {
                            ++retorno;
                            break;
                        }
                    }
                    nroCodigoBarras = txtCodigoBarras.Text.Substring(0, 1) + txtCodigoBarras.Text.Substring(retorno);
                }
                else
                {
                    nroCodigoBarras = txtCodigoBarras.Text;
                }
                ICodigoBarras codigoBarra = CodigoBarrasFactory.GetCodigoBarras();

                codigoBarra.NroCodigoBarras = nroCodigoBarras;
                if (codigoBarra.Consultar())
                {
                    // valido que el código de barras ingresado esté prevendido o asignado
                    if (codigoBarra.EstadoCodigoBarrasID == (int)NegociosSisPackInterface.SisPack.EstadoCodigoBarras.AsignadoAgencia)
                    {
                        //...si está asignado, valido que esté asignado a la agencia conectada
                        if (codigoBarra.AgenciaID == Utiles.Validaciones.obtieneEntero(this.txtAgenciaID.Text))
                        {
                            valido = true;
                        }
                        else
                        {
                            valido = false;
                        }
                    }
                    else if (codigoBarra.EstadoCodigoBarrasID == (int)NegociosSisPackInterface.SisPack.EstadoCodigoBarras.Prevendido)
                    {
                        valido = true;
                    }
                    else if (codigoBarra.EstadoCodigoBarrasID == (int)NegociosSisPackInterface.SisPack.EstadoCodigoBarras.AsignadoCliente)
                    {
                        if (codigoBarra.ClienteID == Utiles.Validaciones.obtieneEntero(this.txtClienteID.Text))
                        {
                            valido = true;
                        }
                        else
                        {
                            valido = false;
                        }
                    }

                    bool esUnidadVenta = false;
                    if (valido)
                    {
                        string descripcion     = "";
                        int    tiempoEntregaID = 0;
                        if (codigoBarra.UnidadVentaID != 0)
                        {
                            IUnidadVenta unidadVenta = UnidadVentaFactory.GetUnidadVenta();
                            unidadVenta.UnidadVentaID = codigoBarra.UnidadVentaID;
                            unidadVenta.Consultar();
                            descripcion            = unidadVenta.UnidadVentaDescrip;
                            tiempoEntregaID        = unidadVenta.TiempoEntrega.TiempoEntregaID;
                            codigoBarra.ProductoID = unidadVenta.Producto.ProductoID;
                            esUnidadVenta          = true;

                            string servicios        = "";
                            string serviciosDescrip = "";
                            //obtengo todos los servicios id de la unidad de venta
                            for (int i = 0; i < unidadVenta.ServiciosCol.getCount(); i++)
                            {
                                servicios        += ((IServicio)unidadVenta.ServiciosCol.GetServicio(i)).ServicioID.ToString();
                                serviciosDescrip += ((IServicio)unidadVenta.ServiciosCol.GetServicio(i)).ServicioDescrip;
                                if (i < unidadVenta.ServiciosCol.getCount() - 1)
                                {
                                    servicios        += ";";
                                    serviciosDescrip += ",";
                                }
                            }
                            this.txtServicios.Text        = servicios;
                            this.txtServiciosDescrip.Text = serviciosDescrip;

                            // voy acumulando los ServicioID de todos los codigos asociados a servicios que se
                            // vayan ingresando
                            string servicioTemp = this.txtServicioIDSel.Text;
                            if (servicioTemp.Length <= 0)
                            {
                                servicioTemp += servicios;
                            }
                            else
                            {
                                if (servicios.Length > 0)
                                {
                                    servicioTemp += "," + servicios;
                                }
                            }
                            this.txtServicioIDSel.Text = servicioTemp;

                            if (codigoBarra.EstadoCodigoBarrasID == (int)NegociosSisPackInterface.SisPack.EstadoCodigoBarras.Prevendido)
                            {
                                this.txtValorDeclarado.Text = codigoBarra.ObtieneValorDeclarado().ToString();
                                this.txtImporteCR.Text      = codigoBarra.ObtieneImporteCR().ToString();
                            }
                        }
                        else if (codigoBarra.ServicioID != 0)
                        {
                            IServicio servicio = ServicioFactory.GetServicio();
                            servicio.ServicioID = codigoBarra.ServicioID;
                            servicio.Consultar();
                            descripcion   = servicio.ServicioDescrip;
                            esUnidadVenta = false;

                            // voy acumulando los ServicioID de todos los codigos asociados a servicios que se
                            // vayan ingresando
                            string servicioTemp = this.txtServicioIDSel.Text;
                            if (servicioTemp.Length <= 0)
                            {
                                servicioTemp += servicio.ServicioID.ToString();
                            }
                            else
                            {
                                servicioTemp += "," + servicio.ServicioID.ToString();
                            }
                            this.txtServicioIDSel.Text = servicioTemp;
                        }

                        // controlo que el codigo de barras seleccionado no haya sido agregado antes
                        DsCodigoBarrasGuia.DatosRow[] dr = (DsCodigoBarrasGuia.DatosRow[])dsCodigoBarras.Datos.Select("CodigoBarras LIKE '" + this.txtCodigoBarras.Text + "'");
                        if (dr.Length <= 0)
                        {
                            if (esUnidadVenta)
                            {
                                // si es unidad de venta lo que se agrega, controlo que haya sólo una
                                dr = (DsCodigoBarrasGuia.DatosRow[])dsCodigoBarras.Datos.Select("UnidadVentaID <> 0");
                                if (dr.Length > 0)
                                {
                                    throw new Exception("Errores.Invalidos.YaExisteCodigoAsigandoUV");
                                }
                            }
                            else
                            {
                                // controlo que no haya otro codigo de barras para el mismo servicio
                                dr = (DsCodigoBarrasGuia.DatosRow[])dsCodigoBarras.Datos.Select("ServicioID = " + codigoBarra.ServicioID);
                                if (dr.Length > 0)
                                {
                                    throw new Exception("Errores.Invalidos.YaExisteCodigoAsigandoServicio");
                                }
                                else
                                {
                                    cantServicios = cantServicios + 1;
                                }
                            }
                            bool prevendido = false;
                            if (codigoBarra.EstadoCodigoBarrasID == (int)NegociosSisPackInterface.SisPack.EstadoCodigoBarras.Prevendido)
                            {
                                this.txtPrevendido.Text = "1";
                                prevendido = true;
                            }
                            else
                            {
                                this.txtPrevendido.Text = "0";
                                prevendido = false;
                            }

                            dsCodigoBarras.Datos.AddDatosRow(codigoBarra.NroCodigoBarras, descripcion, codigoBarra.ProductoID,
                                                             tiempoEntregaID, codigoBarra.ServicioID, codigoBarra.ModalidadEntregaID, codigoBarra.UnidadVentaID, prevendido);
                        }
                        else
                        {
                            throw new Exception("Errores.Invalidos.CodigoBarrasIngresado");
                        }

                        SisPackController.AdministrarGrillas.ConfigurarChica(dtgCodigos, "CodigoBarras");
                        Session["DsCodigoBarras"]        = (DsCodigoBarrasGuia)dsCodigoBarras;
                        this.dtgCodigos.DataSource       = dsCodigoBarras;
                        this.dtgCodigos.CurrentPageIndex = 0;
                        this.dtgCodigos.DataBind();

                        this.txtCodigoBarras.Text = "";
                        MuestraOcultaBotonAceptar();
                        this.txtCantServicios.Text = cantServicios.ToString();
                    }
                    else
                    {
                        throw new Exception("Errores.Invalidos.CodigoBarras");
                    }
                }
                else
                {
                    throw new Exception("Errores.Invalidos.CodigoBarras");
                }
                this.butAceptar.Enabled = true;
            }
            catch (Exception ex)
            {
                ManejaErrores(ex);
            }
        }
예제 #12
0
        private void BindGrid()
        {
            try
            {
                #region Validadores
                CustomValidator validarCheck = (CustomValidator)GenerarValidadores.Custom();
                validarCheck.ServerValidate += new ServerValidateEventHandler(ValidateCodigo);
                phCodigo.Controls.Add(validarCheck);
                CustomValidator validarRango = (CustomValidator)GenerarValidadores.Custom();
                validarRango.ServerValidate += new ServerValidateEventHandler(ValidateFecha);
                phFechaHasta.Controls.Add(validarRango);
                Page.Validate();
                if (!Page.IsValid)
                {
                    return;
                }
                #endregion

                DsReporteDisponibilidadCB ds = new DsReporteDisponibilidadCB();
                AdministrarGrillas.Configurar(dtgCB, "EntidadID", CantidadOpciones, true, false);
                ICodigoBarras reporte = CodigoBarrasFactory.GetCodigoBarras();
                reporte.UnidadVentaID         = Utiles.Validaciones.obtieneEntero(ddlUnidad.SelectedValue);
                reporte.ConceptoFacturacionID = Utiles.Validaciones.obtieneEntero(ddlConcepto.SelectedValue);
                if (rbtAgencia.Checked)
                {
                    reporte.AgenciaID = Utiles.Validaciones.obtieneEntero(Agencia1.AgenciaID);
                    ds = reporte.ReporteDisponibilidadCBAgencia(Tipo(), Utiles.Validaciones.obtieneEntero(txtMinimo.Text), Convert.ToDateTime(txtFechaDesde.Text), Convert.ToDateTime(txtFechaHasta.Text));
                }
                else if (rbtCliente.Checked)
                {
                    reporte.ClienteID = Utiles.Validaciones.obtieneEntero(Cliente1.ClienteID);
                    ds = reporte.ReporteDisponibilidadCBCliente(Tipo(), Utiles.Validaciones.obtieneEntero(txtMinimo.Text), Convert.ToDateTime(txtFechaDesde.Text), Convert.ToDateTime(txtFechaHasta.Text));
                }
                DataSet dsHG = new DataSet();
                dsHG.Tables.Add(ds.Datos.Clone());
                dsHG.Tables[0].TableName = "Cabecera";
                foreach (System.Data.DataRow row in ds.Datos.Rows)
                {
                    dsHG.Tables["Cabecera"].ImportRow(row);
                }

                dsHG.Tables.Add(ds.Detalle.Clone());
                dsHG.Tables[1].TableName = "Detalle";
                foreach (System.Data.DataRow row in ds.Detalle.Rows)
                {
                    dsHG.Tables["Detalle"].ImportRow(row);
                }

                DataColumn dc1 = dsHG.Tables[0].Columns["EntidadID"];
                DataColumn dc2 = dsHG.Tables[1].Columns["EntidadID"];

                DataRelation dr = new DataRelation("Reporte_Disponibilidad", dc1, dc2, false);
                dsHG.Relations.Add(dr);
                dtgCB.DataSource       = dsHG;
                dtgCB.DataMember       = "Cabecera";
                dtgCB.CurrentPageIndex = Utiles.Validaciones.obtieneEntero(txtPagina.Text);
                dtgCB.DataBind();
            }
            catch (Exception ex)
            {
                ((ErrorWeb)phErrores.Controls[0]).setMensaje(ex.Message);
            }
        }
        private void BindGrid()
        {
            DataSet ds = new DataSet();

            SisPackController.AdministrarGrillas.Configurar(this.hgCodigoBarras, "UnidadVentaID", this.CantidadOpciones);

            int tipoReporte;

            if (this.rbtPrevendido.Checked)
            {
                tipoReporte = (int)NegociosSisPackInterface.SisPack.TipoReporteCodigoBarras.Prevendido;
            }
            else if (this.rbtAsignado.Checked)
            {
                tipoReporte = (int)NegociosSisPackInterface.SisPack.TipoReporteCodigoBarras.Asingado;
            }
            else
            {
                tipoReporte = (int)NegociosSisPackInterface.SisPack.TipoReporteCodigoBarras.Disponible;
            }

            ICodigoBarras           codigoBarras = CodigoBarrasFactory.GetCodigoBarras();
            DsDisponibilidadCodigos dsCodigos    = codigoBarras.GetDisponibilidadCodigoBarrasDataSet(
                this.txtDesde.Text, //Utiles.Validaciones.obtieneEntero(this.txtDesde.Text),
                this.txtHasta.Text, //Utiles.Validaciones.obtieneEntero(this.txtHasta.Text),
                this.txtFechaDesde.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaDesde.Text) : Utiles.Fechas.FormatFechaDDMMYYYY("01/01/1900"),
                this.txtFechaHasta.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaHasta.Text) : Utiles.Fechas.FormatFechaDDMMYYYY("01/01/1900"),
                tipoReporte
                );

            ds.Tables.Add(dsCodigos.Datos.Clone());
            ds.Tables[0].TableName = "Codigos";

            foreach (System.Data.DataRow row in dsCodigos.Datos.Rows)
            {
                ds.Tables["Codigos"].ImportRow(row);
            }

            DsDisponibilidadCodigos dsDetalleCodigos = codigoBarras.GetDisponibilidadCodigoDetalleDataSet(
                this.txtDesde.Text, //Utiles.Validaciones.obtieneEntero(this.txtDesde.Text),
                this.txtHasta.Text, //Utiles.Validaciones.obtieneEntero(this.txtHasta.Text),
                this.txtFechaDesde.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaDesde.Text) : Utiles.Fechas.FormatFechaDDMMYYYY("01/01/1900"),
                this.txtFechaHasta.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaHasta.Text) : Utiles.Fechas.FormatFechaDDMMYYYY("01/01/1900"),
                tipoReporte
                );


            ds.Tables.Add(dsDetalleCodigos.Datos.Clone());
            ds.Tables[1].TableName = "Detalle";

            foreach (System.Data.DataRow row in dsDetalleCodigos.Datos.Rows)
            {
                ds.Tables["Detalle"].ImportRow(row);
            }

            DataColumn dc1 = ds.Tables[0].Columns["Descripcion"];

            DataColumn dc2 = ds.Tables[1].Columns["Descripcion"];

            DataRelation dr = new DataRelation("UnidadVentaID_Detalle", dc1, dc2, false);

            ds.Relations.Add(dr);

            Session["oculEntidad"] = new int();
            int ocultar = 0;

            if (rbtDisponibles.Checked)
            {
                this.hgCodigoBarras.Columns[2].Visible = false;
                ocultar = 1;
                Session["oculEntidad"] = ocultar;
            }
            else
            {
                Session["oculEntidad"] = ocultar;
            }

            this.hgCodigoBarras.DataSource = ds;
            this.hgCodigoBarras.DataMember = "Codigos";
            this.hgCodigoBarras.DataBind();
        }