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"; } }
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(); }
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"; } } }
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"; } }