private void BindGridSolicitud(bool configurarExportarExcel) { try { DateTime fechaDesde = this.txtFechaDesde.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaDesde.Text) : Utiles.Fechas.FormatFechaDDMMYYYY("01/01/1900"), fechaHasta = this.txtFechaHasta.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaHasta.Text) : DateTime.Today; if (fechaDesde > fechaHasta) { throw new Exception("La fecha hasta debe ser mayor a la fecha desde"); } if (configurarExportarExcel == true) { // Tengo qu econfigurar para exportar a excel dtgDatosHR.AllowPaging = false; dtgDatosHR.BorderWidth = Unit.Pixel(0); dtgDatosHR.BorderColor = System.Drawing.Color.White; dtgDatosHR.BorderStyle = BorderStyle.None; } IGuiasSolicitudConfirmacionTurnoDominio _guiasDominio = IoC.GetObjectDominio <IGuiasSolicitudConfirmacionTurnoDominio>(); if (txtFechaDesde.Text == "") { fechaInicio = Convert.ToDateTime("1990/01/01"); } else { fechaInicio = Convert.ToDateTime(txtFechaDesde.Text); } if (txtFechaHasta.Text == "") { fechaFin = DateTime.Now; } else { fechaFin = Convert.ToDateTime(txtFechaHasta.Text); } if (Session["guiasSolicitud"] == null) { _guiasReporteConfirma = _guiasDominio.GetDatosReporteRetenida(fechaInicio, fechaFin); dtgDatosHR.DataSource = _guiasReporteConfirma; dtgDatosHR.DataBind(); // dtgConfirmacion.Visible = false; dtgDatosHR.Visible = true; if (_guiasReporteConfirma.Count > 0) { //quiere decir que tiene datos se habilita el boton de exportar btnExportar.Enabled = true; } } } catch (Exception ex) { ((ErrorWeb)phErrores.Controls[0]).setMensaje(ex.Message); } }
private void BindGrid(bool configurarExportarExcel) { IGuiasSolicitudConfirmacionTurnoDominio _guiasDominio = IoC.GetObjectDominio <IGuiasSolicitudConfirmacionTurnoDominio>(); if (configurarExportarExcel == true) { // Tengo qu econfigurar para exportar a excel dtgDatosHR.AllowPaging = false; dtgDatosHR.BorderWidth = Unit.Pixel(0); dtgDatosHR.BorderColor = System.Drawing.Color.White; dtgDatosHR.BorderStyle = BorderStyle.None; } if (Session["DsReporteDisponibilidad"] == null) { string nrohojaruta = txtNroHojaRuta.Text; try { nroCompleto = nrohojaruta.Split('-'); } catch { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("Nro de hoja de ruta repartidor mal ingresado"); return; } _guiasReporte = _guiasDominio.GetGuiasByHojaRutaRepartidor(Convert.ToInt32(nroCompleto[1]), Convert.ToInt32(nroCompleto[0])); dtgDatosHR.DataSource = _guiasReporte; dtgDatosHR.DataBind(); Session["DsReporteDisponibilidad"] = _guiasReporte; if (_guiasReporte.Count > 0) { //quiere decir que tiene datos se habilita el boton de exportar btnExporta.Enabled = true; } } }
public void MandarMailClientesFechaEntrega(DataTable datos, string MailAgencia, string pass) { string[] MailCadena = { "" }; string[] separadas = { "" }; try { try { MailCadena = pass.Split('@'); } catch { throw new Exception("Mail mal ingresado."); } Guia Guias = new Guia(); IGuiasSolicitudConfirmacionTurnoDominio _guiasDominio = IoC.GetObjectDominio <IGuiasSolicitudConfirmacionTurnoDominio>(); List <Dominio.Entidades.DatosGuiasTurno> lstDatosGuia = new List <Dominio.Entidades.DatosGuiasTurno>(); string DatosMail = ""; for (int i = 0; i < datos.Rows.Count; i++) { string nroguias = ""; string guias = datos.Rows[i].ItemArray[0].ToString(); string mails = datos.Rows[i].ItemArray[1].ToString(); if (mails != "")//para que no de error por si no cargan mails { separadas = guias.Split(','); for (int g = 0; g < separadas.Length; g++) { Guias.GuiaID = Convert.ToInt32(separadas[g].ToString()); Guias.Consultar(); //para que recupere los datos de la guia lstDatosGuia = _guiasDominio.getDatosGuiasTurnos(Convert.ToInt32(Guias.GuiaID)); string obser = lstDatosGuia[0].ObservacionSolicitud; string NroCaso = lstDatosGuia[0].NroPedido; // datos.Rows[i].ItemArray[3].ToString(); lstClietnes = _guiasDominio.GetDatosClientesByGuiaID(Convert.ToInt32(separadas[g].ToString())); nroguias = Guias.TipoGuia + "-" + Guias.NroSucursalGuia + "-" + Guias.NroGuia; if (DatosMail == "") { DatosMail = "<table><tr><td>Estimado " + lstClietnes[0].Destinatario + "</td></tr><tr><td>Solicitamos Turno para las siguientes entregas : <br/>" + lstClietnes[0].Remitente + " con la guia de andesmar numero " + nroguias + " con las siguientes caracteristicas:</td></tr><tr><td>" + obser + "</td></tr></table>"; } else { DatosMail = DatosMail + "<table><tr><td><br/> " + lstClietnes[0].Remitente + " con la guia de andesmar numero " + nroguias + " con las siguientes caracteristicas:</td></tr><tr><td>" + obser + "</td></tr></table>"; } } string smtpAddress = "mail.andesmar.com.ar"; // "mail.andesmar.com.ar"; Int32 portNumber = int.Parse("25"); //25; string fromaddress = MailAgencia; //"*****@*****.**"; string fromName = "Solicitud de Turno"; // "Mail Automatico - Interface Sitt Micronauta"; bool useCredentials = true; string userName = MailAgencia; //"*****@*****.**"; // "*****@*****.**"; string password = pass; // "ntexpress1"; // "ntexpress1"; SmtpClient insSmtpClient = new SmtpClient(smtpAddress, portNumber); MailMessage insMailMessage = new MailMessage(); insMailMessage.From = new MailAddress(fromaddress, fromName); insMailMessage.To.Add(mails); insMailMessage.Body = "" + DatosMail + "<br/><tr><td>Por favor responder el mail con las posibles fechas de entrega" + "</td></tr><br/><tr><td>Gracias por su tiempo.</td></tr><br/><tr><td>Saludos.</td></tr>"; insMailMessage.Subject = "Solicitud de Turno para Entrega"; // "Subject"; insMailMessage.IsBodyHtml = true; if (useCredentials) { NetworkCredential insNetworkCredential = new NetworkCredential(userName, password); insSmtpClient.Credentials = insNetworkCredential; } insMailMessage.Priority = MailPriority.High; insSmtpClient.Send(insMailMessage); DatosMail = ""; } } } catch (SmtpException ex) { throw; } }
protected void btnFinRetencion_Click(object sender, EventArgs e) { int cant = 0; lblMensajeConfirma.Text = ""; lblMensajeConfirma.Visible = false; this.lblMensajeConfirma.Visible = false; this.trError.Visible = false; IGuiasSolicitudConfirmacionTurnoDominio _guiasDominio = IoC.GetObjectDominio <IGuiasSolicitudConfirmacionTurnoDominio>(); usuario = (IUsuarios)Session["usuario"]; //cargo el usuario cant = Utiles.Validaciones.obtieneEntero(this.txtGuiaIndexConfirma.Text); //la cantidad de guias cargadas string Errores = "", ObDetalle = ""; List <int> GuiasBien = new List <int>(); string txtFecha = ""; for (int i = 0; i < cant; i++) { string txt = "txtConfirma" + i; //cargo el numero de la guia string ddl = "ddl" + i.ToString(); string txtFechaConfirma = "txtFechaConfirma" + i.ToString(); //cargo la fecha string txtDetalleUsuarioConfirma = "txtDetalleUsuarioConfirma" + i.ToString(); //cargo el detalle ingresado txtFecha = Request.Form[txtFechaConfirma].ToString(); string nroGuia = Request.Form[txt].ToString(); ObDetalle = Request.Form[txtDetalleUsuarioConfirma].ToString(); string tGuia = ""; //separo el numero de la guia tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1)); string nroSucursal = nroGuia.Substring(1, 4); string nGuia = nroGuia.Substring(5); //traigo el guiaid IGuia oGuia = GuiaFactory.GetGuia(); oGuia.NroGuia = Utiles.Validaciones.obtieneEntero(nGuia); oGuia.NroSucursalGuia = nroSucursal; oGuia.TipoGuia = tGuia; oGuia.Consultar(); //cargo el guiaid para guardar en una tabla para que ya se sepa que guia se pidio turno guiaidST = oGuia.GuiaID; try { //valido que lo ingresado sea una fecha. Convert.ToDateTime(txtFecha); //valida que la fecha no sea menor a la fecha actual //if (Convert.ToDateTime(txtFecha) < hoy) // if (Errores == "") // { // Errores = "Fecha mal ingresada " + txtFecha + "para la guia " + tGuia + "-" + nroSucursal + nGuia; // } // else // { // Errores = Errores + "Fecha mal ingresada " + txtFecha + "para la guia " + tGuia + "-" + nroSucursal + nGuia; // } } catch { if (Errores == "") { Errores = "Debe ingresar una Fecha para la guia " + tGuia + "-" + nroSucursal + nGuia; } else { Errores = Errores + "Debe ingresar una Fecha para la guia " + tGuia + "-" + nroSucursal + nGuia; } } //si tiene error que no entre que directamente muestre el error if (Errores == "") { if (_guiasDominio.ValidaGuiaRetenidas(guiaidST) != 0)//quiere decir que se envio el mail esta cargado en la tabla verificar si esta en estado 1 { if (Errores == "") { Errores = tGuia + "-" + nroSucursal + "-" + nGuia; } else { Errores = Errores + tGuia + "-" + nroSucursal + "-" + nGuia; } } } if (Errores == "") { //guarda las guias que no traen ningun error GuiasBien.Add(guiaidST); } } //recorre para actualizar las guias que estan bien try { for (int i2 = 0; i2 < GuiasBien.Count; i2++) { _guiasDominio.ActualizaEstadoFechaRetenida(guiaidST, Convert.ToDateTime(txtFecha), usuario.UsuarioID, ObDetalle);//actualiza el estado y carga la fecha } } catch { string scriptString = "<script language=JavaScript>\n"; scriptString += "alert('Error al intentar finalizar la retencion');\n"; scriptString += "</script>"; Page.RegisterStartupScript("scrip", scriptString); } if (Errores == "") { this.txtGuiaIndexConfirma.Text = "0"; string scriptString = "<script language=JavaScript>\n"; scriptString += "alert('Retención finalizada.');\n"; scriptString += "</script>"; Page.RegisterStartupScript("scrip", scriptString); } else { this.txtGuiaIndexConfirma.Text = "0"; lblMensajeConfirma.Text = "Las siguientes guias tienen problemas para ser retenidas: " + Errores; lblMensajeConfirma.Visible = true; this.lblMensajeConfirma.Visible = true; this.trError.Visible = true; } }
protected void btnRetencion_Click(object sender, EventArgs e) { lblMensaje.Text = ""; lblMensaje.Visible = false; this.trMensajeError.Visible = false; string GuiasError = ""; int cant = 0; IGuiasSolicitudConfirmacionTurnoDominio _guiasDominio = IoC.GetObjectDominio <IGuiasSolicitudConfirmacionTurnoDominio>(); List <Int32?> lstDatosIngresados = new List <Int32?>();//datos ya cargados List <Dominio.Entidades.ClienteSolicitaTurno> _datosCliente = new List <Dominio.Entidades.ClienteSolicitaTurno>(); DsDatosMailTurnos dst = new DsDatosMailTurnos(); usuario = (IUsuarios)Session["usuario"]; //cargo el usuario cant = Utiles.Validaciones.obtieneEntero(this.txtGuiaIndex.Text); //la cantidad de guias cargadas try { if (cant == 0) { throw new Exception("Debe ingresar al menos una guia, para realizar una retención"); } else { for (int i = 0; i < cant; i++) { string txt = "txt" + i; //cargo el numero de la guia string ddl = "ddl" + i.ToString(); string txtNroCaso = "txtnroCaso2" + i.ToString(); //cargo el numero de caso string txtDetalleUsuario = "txtDetalleUsuario" + i.ToString(); //cargo el detalle ingresado string observacionManual = "txtDetalleUsuarioManual" + i.ToString(); string Nrocaso = Request.Form[txtNroCaso].ToString(); string nroGuia = Request.Form[txt].ToString(); string ObDetalle = Request.Form[txtDetalleUsuario].ToString(); string ObservacionManualUsuario = Request.Form[observacionManual].ToString(); string tGuia = ""; //separo el numero de la guia tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1)); string nroSucursal = nroGuia.Substring(1, 4); string nGuia = nroGuia.Substring(5); //traigo el guiaid IGuia oGuia = GuiaFactory.GetGuia(); oGuia.NroGuia = Utiles.Validaciones.obtieneEntero(nGuia); oGuia.NroSucursalGuia = nroSucursal; oGuia.TipoGuia = tGuia; oGuia.Consultar(); //cargo el guiaid para guardar en una tabla para que ya se sepa que guia se pidio turno guiaidST = oGuia.GuiaID; try{ Convert.ToInt32(ObDetalle); } catch { ObDetalle = "0"; }//Esto es para el caso que no ingresen numero //valida la observacion //ValidaaObservacionTRF int EsObservacion = Convert.ToInt32(_guiasDominio.ValidaObservacionTRF(Convert.ToInt32(ObDetalle))); if (EsObservacion == 1) //quiere decir que si existe la observacion ingresada { //valida que este en estado en destino para que se pueda solicitar turno y que sea de la agencia if (_guiasDominio.ValidaGuia(guiaidST) == "PendienteDeEntrega" || _guiasDominio.ValidaGuia(guiaidST) == "EnDestino")//trae los estados en destino o pedneinte de entrega { if (_guiasDominio.GuiaRetenidaEstados(guiaidST) == 1) {//se puede retener IAgencia ag = AgenciaFactory.GetAgencia(); ag.AgenciaID = this.AgenciaConectadaID; ag.Consultar(); if (oGuia.AgenciaDestinoID != ag.AgenciaID) {//por si se intenta solicitar turno de una agencia la cual //no es el destino real. if (GuiasError == "") { GuiasError = tGuia + "-" + nroSucursal + "-" + nGuia; } else { GuiasError = GuiasError + tGuia + "-" + nroSucursal + "-" + nGuia; } } } else {//la guia ya tiene un turno, o no se encuentra en el estado correspondiente //para solicitar turno. if (GuiasError == "") { GuiasError = tGuia + "-" + nroSucursal + "-" + nGuia; } else { GuiasError = GuiasError + tGuia + "-" + nroSucursal + "-" + nGuia; } } if (GuiasError == "") { try { //guarda en la tabla de guias retenidas retencion //el clienteid va en 0, porque se penso guardar por cliente por las dudas, pero dp se cambio Fquiroga Int32?datos = _guiasDominio.InsertarGuiaEnRetencion(guiaidST, 0, Nrocaso, usuario.UsuarioID, ObDetalle, ObservacionManualUsuario); lstDatosIngresados.Add(datos); } catch (Exception ex) { ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje((ex.Message)); } } } else { GuiasError = GuiasError + tGuia + "-" + nroSucursal + "-" + nGuia; } } else { GuiasError = GuiasError + tGuia + "-" + nroSucursal + "-" + nGuia + "Código de Observación Incorrecto";//no existe la observacion ingresada } }//termina de ver las guias que estan cargando if (GuiasError == "")//si alguna guia tiene algun error { this.txtGuiaIndex.Text = "0"; string scriptString = "<script language=JavaScript>\n"; scriptString += "alert('Retención Exitosa');\n"; scriptString += "</script>"; Page.RegisterStartupScript("scrip", scriptString); } else { this.txtGuiaIndex.Text = "0"; lblMensaje.Text = "Las siguientes guias tienen problemas para ser retenidas: " + GuiasError; lblMensaje.Visible = true; this.trMensajeError.Visible = true; } } } catch (Exception ex) { ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje((ex.Message)); } }
protected void btnSolicitud_Click(object sender, EventArgs e) { lblMensaje.Text = ""; lblMensaje.Visible = false; this.trMensajeError.Visible = false; string GuiasError = ""; int cant = 0; DataTable dt = new DataTable();//data table para que vaya cargando todas las guias con todos los mails repetidos dt.Columns.Add("GuiaID"); dt.Columns.Add("Email"); dt.Columns.Add("Observa"); dt.Columns.Add("NroCaso"); dt.Clear();//limpia los datos por las dudas que haya salido un error. para que los vuelva a cargar string EmailEnvia = txtMailGenerico.Text; string pass = txtPass.Text; if (EmailEnvia == "") {//mail que va a responder el cliente ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("Falta ingresa el mail al cual el cliente va a responder la solicitud del turno. "); return; } if (pass == "") {//mail que va a responder el cliente ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("Falta ingresa la contraseña del mail ingresado."); return; } IGuiasSolicitudConfirmacionTurnoDominio _guiasDominio = IoC.GetObjectDominio <IGuiasSolicitudConfirmacionTurnoDominio>(); List <Int32?> lstDatosIngresados = new List <Int32?>();//datos ya cargados List <Dominio.Entidades.ClienteSolicitaTurno> _datosCliente = new List <Dominio.Entidades.ClienteSolicitaTurno>(); DsDatosMailTurnos dst = new DsDatosMailTurnos(); usuario = (IUsuarios)Session["usuario"]; //cargo el usuario cant = Utiles.Validaciones.obtieneEntero(this.txtGuiaIndex.Text); //la cantidad de guias cargadas List <string> lstemail = new List <string>(); try { if (cant == 0) { throw new Exception("Debe ingresar al menos una guia, para solicitar turnos"); } else { for (int i = 0; i < cant; i++) { string txt = "txt" + i; //cargo el numero de la guia string ddl = "ddl" + i.ToString(); string txtNroCaso = "txtnroCaso2" + i.ToString(); //cargo el numero de caso string txtMailCliente = "txtMailCliente" + i.ToString(); //cargo el mail ingresado string txtDetalleUsuario = "txtDetalleUsuario" + i.ToString(); //cargo el detalle ingresado string Nrocaso = Request.Form[txtNroCaso].ToString(); string nroGuia = Request.Form[txt].ToString(); string Email = Request.Form[txtMailCliente].ToString(); string ObDetalle = Request.Form[txtDetalleUsuario].ToString(); string[] separadas; separadas = Email.Split(';'); string tGuia = ""; //separo el numero de la guia tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1)); string nroSucursal = nroGuia.Substring(1, 4); string nGuia = nroGuia.Substring(5); //traigo el guiaid IGuia oGuia = GuiaFactory.GetGuia(); oGuia.NroGuia = Utiles.Validaciones.obtieneEntero(nGuia); oGuia.NroSucursalGuia = nroSucursal; oGuia.TipoGuia = tGuia; oGuia.Consultar(); //cargo el guiaid para guardar en una tabla para que ya se sepa que guia se pidio turno guiaidST = oGuia.GuiaID; //valida que este en estado en destino para que se pueda solicitar turno y que sea de la agencia if (_guiasDominio.ValidaGuia(guiaidST) == "PendienteDeEntrega" || _guiasDominio.ValidaGuia(guiaidST) == "EnDestino")//trae los estados en destino o pedneinte de entrega { IAgencia ag = AgenciaFactory.GetAgencia(); ag.AgenciaID = this.AgenciaConectadaID; ag.Consultar(); if (oGuia.AgenciaDestinoID != ag.AgenciaID) {//por si se intenta solicitar turno de una agencia la cual //no es el destino real. if (GuiasError == "") { GuiasError = tGuia + "-" + nroSucursal + "-" + nGuia; } else { GuiasError = GuiasError + tGuia + "-" + nroSucursal + "-" + nGuia; } } } else {//la guia ya tiene un turno, o no se encuentra en el estado correspondiente //para solicitar turno. if (GuiasError == "") { GuiasError = tGuia + "-" + nroSucursal + "-" + nGuia; } else { GuiasError = GuiasError + tGuia + "-" + nroSucursal + "-" + nGuia; } } if (GuiasError == "") { //si no tiene error lo que cargan que se agregue en la tabla e inserte los datos //carga las guias y los mails for (int im = 0; im < separadas.Count(); im++) { dst.Datos.AddDatosRow(Convert.ToString(guiaidST), separadas[im].ToString(), Nrocaso, ObDetalle); try { _guiasDominio.DatosTurnosINS(guiaidST, separadas[im].ToString(), usuario.UsuarioID); } catch { } DataRow row2 = dt.NewRow(); if (!lstemail.Contains(separadas[im].ToString())) { lstemail.Add(separadas[im].ToString()); } } try { //guarda en la tabla de pedido de turno //el clienteid va en 0, porque se penso guardar por cliente por las dudas, pero dp se cambio Fquiroga Int32?datos = _guiasDominio.InsertarSolictudDeTurno(guiaidST, 0, Nrocaso, usuario.UsuarioID, ObDetalle); lstDatosIngresados.Add(datos); } catch (Exception ex) { ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje((ex.Message)); } } }//termina de ver las guias que estan cargando if (lstDatosIngresados.Count() > 0)//es para que no envie mail si no se inserto ningun dato { for (int em = 0; em < lstemail.Count(); em++) {//recorre los mails cargados string GuiaID = ""; string observaciones = ""; string NroCaso = ""; for (int da = 0; da < dst.Datos.Count; da++)//recore el ds que tiene todos los mails con las guias { if (dst.Datos[da].Email == lstemail[em].ToString()) { //compara si es el mismo mail //si es guarda las guias que tiene ese mail if (GuiaID == "") { GuiaID = dst.Datos[da].GuiaID; } else { GuiaID = GuiaID + "," + dst.Datos[da].GuiaID; } observaciones = dst.Datos[da].Observacion; NroCaso = dst.Datos[da].NroCaso; } } DataRow row2 = dt.NewRow(); row2["GuiaID"] = Convert.ToString(GuiaID); row2["Email"] = lstemail[em].ToString(); row2["Observa"] = observaciones; row2["NroCaso"] = NroCaso; dt.Rows.Add(row2); } //para realizar el envio de mail //envia la tabla con todos los datos separados por mail. Para que no se envie mas de un mail por mail. Fquiroga try { IUsuarios usu = UsuariosFactory.GetUsuario(); usu.MandarMailClientesFechaEntrega(dt, EmailEnvia, pass); } catch { throw new Exception("Contraseña o Mail mal ingresado."); } } if (GuiasError == "")//si alguna guia tiene algun error { this.txtGuiaIndex.Text = "0"; string scriptString = "<script language=JavaScript>\n"; scriptString += "alert('Solicitud de Turno Exitosamente');\n"; scriptString += "</script>"; Page.RegisterStartupScript("scrip", scriptString); } else { this.txtGuiaIndex.Text = "0"; lblMensaje.Text = "Las siguientes guias tienen problemas para solicitar turnos: " + GuiasError; lblMensaje.Visible = true; this.trMensajeError.Visible = true; } } } catch (Exception ex) { ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje((ex.Message)); } }
private void butConfirmar_Click(object sender, System.EventArgs e) { usuario = (IUsuarios)Session["usuario"]; int UV; bool ok = true; Hashtable hGuias = new Hashtable(); // Guías que no se pueden Observar, porque son de ag. no automatizadas o no existen Hashtable hGuiasNR = new Hashtable(); // Guías que no están en condiciones de ser Observadas int cant = Utiles.Validaciones.obtieneEntero(this.txtGuiaIndex.Text); for (int i = 0; i < cant; i++) { // ANTES DE RECIBIR CADA GUÍA HAY QUE REALIZAR LOS CONTROLES CORRESPONDIENTES // E IR GUARDANDO LAS GUÍAS QUE FALLAN, PARA LUEGO VISUALIZAR UNA LISTA DE ESAS GUÍAS string txt = "txt" + i; string obs = "Obs" + i.ToString() + "$txtObservacionID"; string obsCodigo = "Obs" + i.ToString() + "$txtCodigo"; string obsDescrip = "Obs" + i.ToString() + "$txtObsDescrip"; string txtODetallada = "txtODetallada" + i.ToString();//cargo la observacion string ddl = "ddl" + i.ToString(); string nroGuia = Request.Form[txt].ToString(); string observacionID = Request.Form[obs].ToString(); string sObsCodigo = Request.Form[obsCodigo].ToString(); string sObsDescrip = Request.Form[obsDescrip].ToString(); string sobDetallada = Request.Form[txtODetallada].ToString(); // Lógica para observar guías string tGuia = ""; tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1)); string nroSucursal = nroGuia.Substring(1, 4); string nGuia = nroGuia.Substring(5); IGuia oGuia = GuiaFactory.GetGuia(); oGuia.NroGuia = Utiles.Validaciones.obtieneEntero(nGuia); oGuia.NroSucursalGuia = nroSucursal; oGuia.TipoGuia = tGuia; oGuia.Consultar(); oGuia.EsRecepcion = 1; oGuia.UnidadNegocioID = this.UnidadNegocioID; //oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.UsuarioID = usuario.UsuarioID; if (sobDetallada == "")//quiere decir que no tiene una observacion detallada. Entonces no la guardo en la tabla ObservacionGuiaPersonalizada.FQuiroga { // si la guía existe en el sistema, la observa if (oGuia.GuiaID > 0) { // Reviso si la guía es observable if (oGuia.EsObservable(oGuia.GuiaID, AgenciaConectadaID) && Utiles.Validaciones.obtieneEntero(observacionID) != 0) { // Observar(oGuia.GuiaID, usuario.UsuarioID, Utiles.Validaciones.obtieneEntero(observacionID)); IGuia oGuiaObs = GuiaFactory.GetGuia(); oGuiaObs.GuiaID = oGuia.GuiaID; oGuiaObs.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuiaObs.UsuarioID = usuario.UsuarioID; oGuiaObs.Observar(); UV = oGuiaObs.GetGuiaUnidadVenta(); if (oGuiaObs.ObservacionID == 95 && (UV == 6 || UV == 25)) { oGuiaObs.GuiaID = oGuia.GuiaID; ConfirmarGuia(oGuia.GuiaID); } } else { hGuiasNR.Add(oGuia.GuiaID, nroSucursal + "-" + nGuia + "-" + tGuia); } } else { // si la guía no existe en el sistema, ya sea porque fue emitida por una agencia no // automatizada o bien porque se emitió en forma manual por una automatizada // hay que visualizarla nuevamente para que se ingresen los datos correspondientes ok = false; string obsTemp = observacionID + "#" + sObsCodigo + "#" + sObsDescrip; if (hGuias.ContainsKey(nroGuia) == false) { hGuias.Add(nroGuia, obsTemp); } } // fin for Session["GuiasNR"] = hGuiasNR; if (ok) { Session["GuiasDefectuosas"] = null; string scriptString = "<script language=JavaScript>\n"; scriptString += "alert('Observacion cargada correctamente');\n"; scriptString += "</script>"; Page.RegisterStartupScript("scrip", scriptString); Response.Redirect("ObservacionTransito.aspx"); } else { this.txtGuiasDefectuosas.Text = "1"; Session["GuiasDefectuosas"] = hGuias; Response.Redirect("ObservacionTransito.aspx?d=1"); } } else//en caso que tenga una observacion detallada { IGuiasSolicitudConfirmacionTurnoDominio _guiasDominio = IoC.GetObjectDominio <IGuiasSolicitudConfirmacionTurnoDominio>(); // si la guía existe en el sistema, la observa if (oGuia.GuiaID > 0) { // Reviso si la guía es observable if (oGuia.EsObservable(oGuia.GuiaID, AgenciaConectadaID) && Utiles.Validaciones.obtieneEntero(observacionID) != 0) { IGuia oGuiaObs = GuiaFactory.GetGuia(); oGuiaObs.GuiaID = oGuia.GuiaID; oGuiaObs.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuiaObs.UsuarioID = usuario.UsuarioID; oGuiaObs.Observar(); UV = oGuiaObs.GetGuiaUnidadVenta(); if (oGuiaObs.ObservacionID == 95 && (UV == 6 || UV == 25)) { oGuiaObs.GuiaID = oGuia.GuiaID; ConfirmarGuia(oGuia.GuiaID); } _guiasDominio.ObservacionPersonalInsert(oGuia.GuiaID, Utiles.Validaciones.obtieneEntero(observacionID), sobDetallada); } else { hGuiasNR.Add(oGuia.GuiaID, nroSucursal + "-" + nGuia + "-" + tGuia); } } else { // si la guía no existe en el sistema, ya sea porque fue emitida por una agencia no // automatizada o bien porque se emitió en forma manual por una automatizada // hay que visualizarla nuevamente para que se ingresen los datos correspondientes ok = false; string obsTemp = observacionID + "#" + sObsCodigo + "#" + sObsDescrip; if (hGuias.ContainsKey(nroGuia) == false) { hGuias.Add(nroGuia, obsTemp); } } } // fin for Session["GuiasNR"] = hGuiasNR; if (ok) { Session["GuiasDefectuosas"] = null; Response.Redirect("ObservacionTransito.aspx"); } else { this.txtGuiasDefectuosas.Text = "1"; Session["GuiasDefectuosas"] = hGuias; Response.Redirect("ObservacionTransito.aspx?d=1"); } } }