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