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