Ejemplo n.º 1
0
        protected void btnEnviar_Click(object sender, EventArgs e)
        {
            string nroOfiOrig  = this.dropDownOficinaActual.SelectedValue;
            string nroOfiFinal = this.dropDownOficinaFinal.SelectedValue;
            string admin       = txtAdmin.Text;

            string   campoFecha = txtFecha.Text;
            DateTime fechaResult;
            bool     resultFecha = DateTime.TryParse(this.txtFecha.Text, out fechaResult);
            DateTime fecha       = fechaResult;

            string  campoPeso = txtPeso.Text;
            decimal pesoResult;
            bool    resultPeso = Decimal.TryParse(this.txtPeso.Text, out pesoResult);
            decimal peso       = pesoResult;

            bool   legal      = false;
            string ci         = txtCI.Text;
            string calleC     = txtCalle.Text;
            string nroPuertaC = txtNroPuerta.Text;
            string codPostalC = txtCodPos.Text;
            string ciudadC    = txtCiudad.Text;
            string paisC      = txtCiudad.Text;

            string nombreD    = txtNomDest.Text;
            string calleD     = txtCalleD.Text;
            string nroPuertaD = txtNroPuertaD.Text;
            string codPostalD = txtCodPosD.Text;
            string ciudadD    = txtCiudadD.Text;
            string paisD      = txtPaisD.Text;

            //Validar que los campos no sea vacios
            if (admin != "" && campoFecha != "" && campoPeso != "" && peso != 0 && ci != "" && calleC != "" && nroPuertaC != "" &&
                codPostalC != "" && ciudadC != "" && paisC != "" && calleD != "" && nroPuertaD != "" &&
                codPostalD != "" && ciudadD != "" && paisD != "")
            {
                if (nroOfiOrig != nroOfiFinal)
                {
                    lblOfiFinal.Text = "";
                    if (Herramientas.FechaValida(fecha))
                    {
                        lblFecha.Text = "";
                        if (Herramientas.esFecha(campoFecha))
                        {
                            lblFecha.Text = "";
                            if (Herramientas.esNumero(admin))
                            {
                                lblAdmin.Text = "";
                                if (Controladora.Instancia.ExisteAdmin(int.Parse(admin)))
                                {
                                    lblAdmin.Text = "";
                                    if (Herramientas.esDecimal(campoPeso))
                                    {
                                        lblPeso.Text = "";
                                        if (Herramientas.esNumero(ci))
                                        {
                                            lblCi.Text = "";
                                            if (Controladora.Instancia.ExisteCliente(int.Parse(ci)))
                                            {
                                                lblCi.Text = "";
                                                if (Herramientas.esNumero(nroPuertaC))
                                                {
                                                    lblNroPuertaC.Text = "";
                                                    if (Herramientas.esNumero(nroPuertaD))
                                                    {
                                                        lblNroPuertaD.Text = "";
                                                        if (resultFecha)
                                                        {
                                                            if (rbLegal.Checked)
                                                            {
                                                                legal = true;
                                                            }
                                                            decimal precio = Controladora.Instancia.CalcularEnvioDoc(legal, peso);
                                                            lblPrecio.Text = precio.ToString();

                                                            Usuario adm      = Controladora.Instancia.BuscarAdminXId(int.Parse(admin));
                                                            Cliente cli      = Controladora.Instancia.BuscarClienteXCi(ci);
                                                            Oficina ofiOrig  = Controladora.Instancia.BuscarOficina(int.Parse(nroOfiOrig));
                                                            Oficina ofiFinal = Controladora.Instancia.BuscarOficina(int.Parse(nroOfiFinal));

                                                            Direccion    dirD = new Direccion(calleD, int.Parse(nroPuertaD), codPostalD, ciudadD, paisD);
                                                            Destinatario dest = new Destinatario(nombreD, dirD);
                                                            Direccion    dirO = new Direccion(calleC, int.Parse(nroPuertaC), codPostalC, ciudadC, paisC);

                                                            if (Controladora.Instancia.AltaDocumento(legal, peso, precio, fecha, cli, adm, dest, dirO,
                                                                                                     ofiOrig, ofiFinal))
                                                            {
                                                                lblEnvioOk.Text = "Alta de documento exitoso";
                                                                this.LimpiarCampos();
                                                            }
                                                            else
                                                            {
                                                                lblEnvioOk.Text = "Compruebe los valores por favor";
                                                            }
                                                        }
                                                        else
                                                        {
                                                            lblFecha.Text = "La fecha no es valida";
                                                        }
                                                    }
                                                    else
                                                    {
                                                        lblNroPuertaD.Text = "El numero de puerta ingresado no es valido";
                                                    }
                                                }
                                                else
                                                {
                                                    lblNroPuertaC.Text = "El nro de puerta ingresado no es valido";
                                                }
                                            }
                                            else
                                            {
                                                lblCi.Text = "La CI ingresada no se encuentra registrada";
                                            }
                                        }
                                        else
                                        {
                                            lblCi.Text = "La CI ingresada no es valida";
                                        }
                                    }
                                    else
                                    {
                                        lblPeso.Text = "El peso ingresado no es valido";
                                    }
                                }
                                else
                                {
                                    lblAdmin.Text = "El id ingresado no se encontro";
                                }
                            }
                            else
                            {
                                lblAdmin.Text = "Debe ingresar un numero de administrador";
                            }
                        }
                        else
                        {
                            lblFecha.Text = "La fecha ingresada no es valida";
                        }
                    }
                    else
                    {
                        lblFecha.Text = "La fecha debe ser menor al dia actual";
                    }
                }
                else
                {
                    lblOfiFinal.Text = "La oficina de retiro debe de ser distinta a la de entrega";
                }
            }
        }
Ejemplo n.º 2
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";
            }
        }
Ejemplo 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";
                }
            }
        }
Ejemplo n.º 4
0
        protected void btnEnviar_Click(object sender, EventArgs e)
        {
            #region valores
            string nroOfiOrig  = this.dropDownOficinaActual.SelectedValue;
            string nroOfiFinal = this.dropDownOficinaFinal.SelectedValue;

            string admin = txtAdmin.Text;

            string   campoFecha = txtFecha.Text;
            DateTime fechaResult;
            bool     resultFecha = DateTime.TryParse(this.txtFecha.Text, out fechaResult);
            DateTime fecha       = fechaResult;

            string  campoPeso = txtPeso.Text;
            decimal pesoResult;
            bool    resultPeso = Decimal.TryParse(this.txtPeso.Text, out pesoResult);
            decimal peso       = pesoResult;

            string  campoAlto = txtAlto.Text;
            decimal altoResult;
            bool    resultAlto = Decimal.TryParse(this.txtAlto.Text, out altoResult);
            decimal alto       = altoResult;

            string  campoAncho = txtAncho.Text;
            decimal anchoResult;
            bool    resultAncho = Decimal.TryParse(this.txtAncho.Text, out anchoResult);
            decimal ancho       = anchoResult;

            string  campoLargo = txtLargo.Text;
            decimal largoResult;
            bool    resultLargo = Decimal.TryParse(this.txtLargo.Text, out largoResult);
            decimal largo       = largoResult;

            string desc = txtDesc.Text;

            string  campoValor = txtValorCont.Text;
            decimal valorResult;
            bool    resultValor = Decimal.TryParse(this.txtValorCont.Text, out valorResult);
            decimal valorCont   = valorResult;

            bool   seguro     = false;
            string ci         = txtCI.Text;
            string nombreD    = txtNomDest.Text;
            string calleD     = txtCalleD.Text;
            string nroPuertaD = txtNroPuertaD.Text;
            string codPostalD = txtCodPosD.Text;
            string ciudadD    = txtCiudadD.Text;
            string paisD      = txtPaisD.Text;
            #endregion

            //Validar que los campos no sea vacios
            if (admin != "" && campoFecha != "" && campoPeso != "" && peso != 0 && campoAlto != "" && alto != 0 &&
                campoAncho != "" && ancho != 0 && campoLargo != "" && largo != 0 && desc != "" && campoValor != "" &&
                valorCont != 0 && ci != "" && calleD != "" && nroPuertaD != "" && codPostalD != "" && ciudadD != "" &&
                paisD != "")
            {
                if (nroOfiOrig != nroOfiFinal)
                {
                    lblOfiFinal.Text = "";
                    if (Herramientas.FechaValida(fecha))
                    {
                        lblFecha.Text = "";
                        if (Herramientas.esDecimal(campoAlto))
                        {
                            lblAlto.Text = "";
                            if (Herramientas.esDecimal(campoAncho))
                            {
                                lblAncho.Text = "";
                                if (Herramientas.esDecimal(campoLargo))
                                {
                                    lblLargo.Text = "";
                                    if (Herramientas.esDecimal(campoValor))
                                    {
                                        lblValor.Text = "";
                                        if (Herramientas.esFecha(campoFecha))
                                        {
                                            lblFecha.Text = "";
                                            if (Herramientas.esNumero(admin))
                                            {
                                                lblAdmin.Text = "";
                                                if (Controladora.Instancia.ExisteAdmin(int.Parse(admin)))
                                                {
                                                    lblAdmin.Text = "";
                                                    if (Herramientas.esDecimal(campoPeso))
                                                    {
                                                        lblPeso.Text = "";
                                                        if (Herramientas.esNumero(ci))
                                                        {
                                                            lblCi.Text = "";
                                                            if (Controladora.Instancia.ExisteCliente(int.Parse(ci)))
                                                            {
                                                                lblCi.Text = "";
                                                                if (Herramientas.esNumero(nroPuertaD))
                                                                {
                                                                    lblNroPuertaD.Text = "";
                                                                    if (resultFecha)
                                                                    {
                                                                        if (cbSeguro.Checked)
                                                                        {
                                                                            seguro = true;
                                                                        }

                                                                        decimal precio = Controladora.Instancia.CalcularEnvioPaquete(alto, ancho, largo, peso, valorCont, seguro);
                                                                        lblPrecio.Text = precio.ToString();
                                                                        Usuario adm      = Controladora.Instancia.BuscarAdminXId(int.Parse(admin));
                                                                        Cliente cli      = Controladora.Instancia.BuscarClienteXCi(ci);
                                                                        Oficina ofiOrig  = Controladora.Instancia.BuscarOficina(int.Parse(nroOfiOrig));
                                                                        Oficina ofiFinal = Controladora.Instancia.BuscarOficina(int.Parse(nroOfiFinal));

                                                                        Direccion    dirD = new Direccion(calleD, int.Parse(nroPuertaD), codPostalD, ciudadD, paisD);
                                                                        Destinatario dest = new Destinatario(nombreD, dirD);

                                                                        if (Controladora.Instancia.AltaPaquete(desc, valorCont, ancho, alto, largo, seguro, peso, precio,
                                                                                                               fecha, cli, adm, dest, cli.DirCliente, ofiOrig, ofiFinal))
                                                                        {
                                                                            lblEnvioOk.Text = "Alta de paquete exitoso";
                                                                            this.LimpiarCampos();
                                                                        }
                                                                    }
                                                                    else
                                                                    {
                                                                        lblFecha.Text = "La fecha no es valida";
                                                                    }
                                                                }
                                                                else
                                                                {
                                                                    lblNroPuertaD.Text = "El numero de puerta ingresado no es valido";
                                                                }
                                                            }
                                                            else
                                                            {
                                                                lblCi.Text = "La CI ingresada no se encuentra registrada";
                                                            }
                                                        }
                                                        else
                                                        {
                                                            lblCi.Text = "La CI ingresada no es valida";
                                                        }
                                                    }
                                                    else
                                                    {
                                                        lblPeso.Text = "El peso ingresado no es valido";
                                                    }
                                                }
                                                else
                                                {
                                                    lblAdmin.Text = "El id ingresado no se encontro";
                                                }
                                            }
                                            else
                                            {
                                                lblAdmin.Text = "Debe ingresar un numero de administrador";
                                            }
                                        }
                                        else
                                        {
                                            lblFecha.Text = "La fecha ingresada no es valida";
                                        }
                                    }
                                    else
                                    {
                                        lblValor.Text = "Valor invalido";
                                    }
                                }
                                else
                                {
                                    lblLargo.Text = "Largo no es valido";
                                }
                            }
                            else
                            {
                                lblAncho.Text = "Ancho no es valido";
                            }
                        }
                        else
                        {
                            lblAlto.Text = "Alto no es valido";
                        }
                    }
                    else
                    {
                        lblFecha.Text = "La fecha debe ser menor al dia actual";
                    }
                }
            }
            else
            {
                lblOfiFinal.Text = "La oficina de retiro debe de ser distinta a la de entrega";
            }
        }