Exemplo n.º 1
0
        protected void btnRastrear_Click(object sender, EventArgs e)
        {
            string campoNroEnvio = txtNroEnvio.Text;
            int    nroResult;
            bool   resultNro = int.TryParse(this.txtNroEnvio.Text, out nroResult);
            int    nroEnvio  = nroResult;

            if (resultNro)
            {
                lblMensaje.Text = "";


                if (Controladora.Instancia.ExisteEnvio(nroEnvio))
                {
                    Envio            envAux        = Controladora.Instancia.BuscarEnvio(nroEnvio);
                    List <Recorrido> listaTemporal = envAux.ListaRecorrido;

                    GridViewRastreoEnv.DataSource = listaTemporal;
                    GridViewRastreoEnv.DataBind();
                }
                else
                {
                    lblMensaje.Text = "No se encontro el numero de envio ingresado";
                }
            }
            else
            {
                lblMensaje.Text = "Numero de envio no valido";
            }
        }
Exemplo n.º 2
0
        protected void btnVerEstado_Click(object sender, EventArgs e)
        {
            string nroEnvio = txtNroEnvio.Text;

            int              numeroEnvio;
            bool             parse         = int.TryParse(txtNroEnvio.Text, out numeroEnvio);
            List <Recorrido> listaTemporal = Controladora.Instancia.BuscarEnvio(numeroEnvio).ListaRecorrido;

            GridViewRastreoEnv.DataSource = listaTemporal;
            GridViewRastreoEnv.DataBind();
        }
Exemplo n.º 3
0
        protected void btnBuscarEnvios_Click(object sender, EventArgs e)
        {
            string campoCi = txtCI.Text;
            int    ciResult;
            bool   resultCI = int.TryParse(this.txtCI.Text, out ciResult);
            int    ci       = ciResult;

            string   campoFechaIni = txtFechaIni.Text;
            DateTime fechaIniResult;
            bool     resultFechaIni = DateTime.TryParse(this.txtFechaIni.Text, out fechaIniResult);
            DateTime fechaIni       = fechaIniResult;

            string   campoFechaFin = txtFechaFin.Text;
            DateTime fechaFinResult;
            bool     resultFechaFin = DateTime.TryParse(this.txtFechaFin.Text, out fechaFinResult);
            DateTime fechaFin       = fechaFinResult;

            string       campoPrecio = txtPrecio.Text;
            decimal      precioResult;
            bool         resultPrecio = decimal.TryParse(this.txtPrecio.Text, out precioResult);
            decimal      precio       = precioResult;
            List <Envio> listaVacia   = new List <Envio>();

            //Envios entregados o por entregar
            if (rbEnviosEntreg.Checked)
            {
                this.LimpiarCampos();
                GridViewRastreoEnv.DataSource = listaVacia;
                GridViewRastreoEnv.DataBind();
                if (resultCI)
                {
                    if (Controladora.Instancia.ExisteCliente(ci))
                    {
                        if (Controladora.Instancia.ListaEnvios().Count != 0)
                        {
                            IComparer <Envio> criterio          = new OrdenadoPorFechaEntregado();
                            List <Envio>      listaAux          = Controladora.Instancia.EnviosDeCli(campoCi);
                            List <Envio>      listaParaEntregar = Controladora.Instancia.EnviosYaEntregados(listaAux);
                            if (listaParaEntregar.Count != 0)
                            {
                                listaParaEntregar.Sort(criterio);
                                GridViewRastreoEnv.DataSource = listaParaEntregar;
                                GridViewRastreoEnv.DataBind();
                            }
                            else
                            {
                                lblMensaje.Text = "No se encuentran envios entregados o para enviar";
                            }
                        }
                        else
                        {
                            lblMensaje.Text = "No se encontraron envios para ese cliente";
                        }
                    }
                    else
                    {
                        lblMensaje.Text = "No se encontro el cliente";
                    }
                }
                else
                {
                    lblMensaje.Text = "Ci no valida";
                }
            }

            //Cuanto se facturo con un cliente entre dos fechas
            else if (rbFacturado.Checked)
            {
                this.LimpiarCampos();
                GridViewRastreoEnv.DataSource = listaVacia;
                GridViewRastreoEnv.DataBind();

                if (campoFechaIni != "" && campoFechaFin != "" && Herramientas.esFecha(campoFechaIni) && Herramientas.esFecha(campoFechaFin) &&
                    Herramientas.FechaValida(fechaFin))
                {
                    if (Controladora.Instancia.ListaEnvios().Count != 0)
                    {
                        List <Envio> listaAux = Controladora.Instancia.EnviosDeCli(campoCi);
                        decimal      total    = Controladora.Instancia.FacturadoEntreFechas(listaAux);
                        lblTotal.Text = total.ToString();
                    }
                    else
                    {
                        lblMensaje.Text = "No se encontraron envios para ese cliente";
                    }
                }
                else
                {
                    lblFechaIni.Text = "Por favor verifique la fecha ingresada";
                }
            }
            //Dado un cliente y un precio, listar todos los envíos de ese cliente cuyo precio supera el monto dado.
            else if (rbEnviosMonto.Checked)
            {
                this.LimpiarCampos();
                GridViewRastreoEnv.DataSource = listaVacia;
                GridViewRastreoEnv.DataBind();

                if (resultCI)
                {
                    if (Controladora.Instancia.ExisteCliente(ci))
                    {
                        if (campoPrecio != "")
                        {
                            if (Controladora.Instancia.ListaEnvios().Count != 0)
                            {
                                List <Envio> listaAux          = Controladora.Instancia.EnviosDeCli(campoCi);
                                List <Envio> listaParaEntregar = Controladora.Instancia.EnviosSegunPrecio(listaAux, precio);
                                if (listaParaEntregar.Count != 0)
                                {
                                    GridViewRastreoEnv.DataSource = listaParaEntregar;
                                    GridViewRastreoEnv.DataBind();
                                }
                                else
                                {
                                    lblMensaje.Text = "No se encuentran envios que superen el monto ingresado";
                                }
                            }
                            else
                            {
                                lblMensaje.Text = "No se encontraron envios para ese cliente";
                            }
                        }
                        else
                        {
                            lblPrecio.Text = "Debe ingresar un valor";
                        }
                    }
                    else
                    {
                        lblMensaje.Text = "No se encontro el cliente";
                    }
                }
                else
                {
                    lblMensaje.Text = "Ci no valida";
                }
            }
            //Listar todos los envíos que tienen estado ‘en tránsito’ y más de 5 días de enviados ordenados por
            //fecha de ingreso del envío ascendente y luego por documento del cliente descendente
            else if (rbEnviosTransito.Checked)
            {
                if (Controladora.Instancia.ListaEnvios().Count != 0)
                {
                    List <Envio>      listaAux          = Controladora.Instancia.ListaEnvios();
                    List <Envio>      listaParaEntregar = Controladora.Instancia.EnviosEnTransito(listaAux);
                    IComparer <Envio> criterio          = new OrdenarporDosCriterios();

                    if (listaParaEntregar.Count != 0)
                    {
                        listaParaEntregar.Sort(criterio);
                        GridViewRastreoEnv.DataSource = listaParaEntregar;
                        GridViewRastreoEnv.DataBind();
                    }
                    else
                    {
                        lblMensaje.Text = "No se encuentran envios con mas de 5 dias de enviados";
                    }
                }
                else
                {
                    lblMensaje.Text = "No se encontraron envios ingresados";
                }
            }
        }
Exemplo n.º 4
0
        protected void btnModificarEstado_Click(object sender, EventArgs e)
        {
            string campoNroEnvio = txtNroEnvio.Text;
            int    nroResult;
            bool   resultNro = int.TryParse(this.txtNroEnvio.Text, out nroResult);
            int    nroEnvio  = nroResult;

            string   campoFechaRec = txtFechaRec.Text;
            DateTime fechaRecResult;
            bool     resultFechaRec = DateTime.TryParse(this.txtFechaRec.Text, out fechaRecResult);
            DateTime fechaRec       = fechaRecResult;

            string   campoFechaSal = txtFechaSal.Text;
            DateTime fechaSalResult;
            bool     resultFechaSal = DateTime.TryParse(this.txtFechaSal.Text, out fechaSalResult);
            DateTime fechaSal       = fechaSalResult;

            string adm = txtIdAdm.Text;
            int    admResult;
            bool   resultAdm = int.TryParse(this.txtIdAdm.Text, out admResult);
            int    idAdm     = admResult;

            bool   existeEnvio  = Controladora.Instancia.ExisteEnvio(nroEnvio);
            bool   existeAdm    = Controladora.Instancia.ExisteAdmin(idAdm);
            string nroOfiActual = this.dropDownOficinaActual.SelectedValue;

            if (existeAdm)
            {
                lblIdAdm.Text = "";
                //Si las fechas son validas
                if (resultFechaRec && Herramientas.FechaValida(fechaRec))
                {
                    lblFechaRec.Text = "";

                    if (resultFechaSal && Herramientas.FechaValida(fechaSal))
                    {
                        lblFechaSal.Text = "";

                        //Si ingreso un numero y existe el envio
                        if (resultNro && existeEnvio)
                        {
                            DesbloquearValores();
                            lblMensaje.Text  = "";
                            lblFechaRec.Text = "";
                            Envio   env       = Controladora.Instancia.BuscarEnvio(nroEnvio);
                            Oficina ofiActual = Controladora.Instancia.BuscarOficina(int.Parse(nroOfiActual));

                            //Creo una lista temporal con los recorridos de ese envio
                            List <Recorrido> listaTemporal = Controladora.Instancia.BuscarEnvio(nroEnvio).ListaRecorrido;
                            GridViewRastreoEnv.DataSource = listaTemporal;
                            GridViewRastreoEnv.DataBind();


                            //Si la oficina actual es igual a la de origen, no permitir
                            if (ofiActual.NroOficina == env.NroOfiOrig.NroOficina && env.Recorrido.Status != Envio.EstadoEnvios.Entregado &&
                                env.OficinaYaIngresada(ofiActual))
                            {
                                lblOficina.Text = "Debe seleccionar una oficina distinta a la de origen";
                            }
                            //Si la oficina actual no es la de origen ni la final, estado "En transito"
                            else if (ofiActual.NroOficina != env.NroOfiFinal.NroOficina && env.Recorrido.Status != Envio.EstadoEnvios.Entregado && !env.OficinaYaIngresada(ofiActual))
                            {
                                lblMensaje.Text = "";
                                lblOficina.Text = "";

                                Controladora.Instancia.ModificarEstado(nroEnvio, ofiActual, fechaRec, fechaSal);
                            }
                            //Si la oficina actual es igual a la de origen, estado "Para entregar"
                            else if (ofiActual.NroOficina == env.NroOfiFinal.NroOficina && env.Recorrido.Status != Envio.EstadoEnvios.Entregado &&
                                     !env.OficinaYaIngresada(ofiActual))
                            {
                                lblMensaje.Text = "";
                                lblOficina.Text = "";

                                Controladora.Instancia.ModificarEstado(nroEnvio, ofiActual, fechaRec, fechaSal);

                                cbEntregar.Enabled      = true;
                                txtReceptor.Enabled     = true;
                                FileUploadFirma.Enabled = true;
                            }
                            //Si no es ninguno de los casos, estado "Entregado"
                            if (cbEntregar.Checked && env.Recorrido.Status == Envio.EstadoEnvios.Para_entregar)
                            {
                                lblMensaje.Text = "";
                                string nombreRecep = txtReceptor.Text;
                                string ruta        = "";
                                string fotoFirma   = "";

                                if (txtReceptor.Text != "")
                                {
                                    lblReceptor.Text = "";
                                    if (this.FileUploadFirma.HasFile)
                                    {
                                        lblFirma.Text = "";
                                        string archivo = this.FileUploadFirma.FileName;
                                        ruta      = HttpRuntime.AppDomainAppPath + "/firma";
                                        fotoFirma = nroEnvio + archivo.Substring(archivo.LastIndexOf("."));

                                        if (Controladora.Instancia.EnvioEntregado(nroEnvio, ofiActual, fechaRec, fechaSal, nombreRecep, fotoFirma))
                                        {
                                            this.FileUploadFirma.SaveAs(ruta + fotoFirma);
                                        }
                                        else
                                        {
                                            if (env.NombreReceptor != nombreRecep)
                                            {
                                                lblReceptor.Text = "El receptor no es valido";
                                            }
                                        }
                                    }
                                    else
                                    {
                                        lblFirma.Text = "Debe seleccionar el archivo con la firma del receptor";
                                    }
                                }
                                else
                                {
                                    lblReceptor.Text = "Debe ingresar el nombre del receptor";
                                }
                            }


                            if (!cbEntregar.Checked && env.Recorrido.Status == Envio.EstadoEnvios.Para_entregar)
                            {
                                lblMensaje.Text = "Seleccione 'Entregar' para marcar un envio como entregado"; //Marcar checkbox
                            }

                            if (env.Recorrido.Status == Envio.EstadoEnvios.Entregado)
                            {
                                BloquearValores();
                                lblMensaje.Text = "No puede modificar un envio ya entregado, seleccione otro envio";
                                lblFirma.Text   = "";
                            }
                        }
                        else
                        {
                            lblMensaje.Text = "Numero de envio no valido";
                        }
                    }
                    else
                    {
                        lblFechaSal.Text = "Fecha no valida";
                    }
                }
                else
                {
                    lblFechaRec.Text = "Fecha no valida";
                }
            }
            else
            {
                lblIdAdm.Text = "No se encontro ese id de administrador";
            }
        }