private void BindGrid(int currentPage) { SisPackController.AdministrarGrillas.Configurar(dtgAgencias, "AgenciaID", this.CantidadOpciones); if (Session["dtgAgenciasSession"] == null) { IUnidadVenta uventa = UnidadVentaFactory.GetUnidadVenta(); //perfil.Nombre = this.txtPerfil.Text; //perfil.CategoriaPerfilID = Utiles.Validaciones.obtieneEntero(this.cmbCategoria.SelectedValue); uventa.UnidadVentaID = Utiles.Validaciones.obtieneEntero(this.txtUnidadVentaID.Text); this.dsAgencia = uventa.GetAgenciasUVenta(); } else { this.dsAgencia = (DsAgencias)Session["dtgAgenciasSession"]; foreach (DataGridItem item in dtgAgencias.Items) { DsAgencias.DatosRow dr = (DsAgencias.DatosRow) this.dsAgencia.Datos.Rows[item.DataSetIndex]; CheckBox chk = (CheckBox)item.FindControl("agenciaAsignada"); dr.Asignado = chk.Checked; } } // actualizo la grilla Session["dtgAgenciasSession"] = this.dsAgencia; dtgAgencias.DataSource = this.dsAgencia; dtgAgencias.CurrentPageIndex = currentPage; dtgAgencias.DataBind(); }
private void dtgAgencias_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { try { this.dsAgencias = (DsAgencias)Session["dsAgencias"]; DsAgencias.DatosRow dr = (DsAgencias.DatosRow) this.dsAgencias.Datos.Rows[e.Item.DataSetIndex]; IAgencia agencia = AgenciaFactory.GetAgencia(); agencia.AgenciaID = dr.AgenciaID; agencia.Consultar(); agencia.Empresa.EmpresaID = dr.EmpresaID; agencia.SucursalDGI = dr.SucursalDGI; agencia.FechaFinVigencia = dr.FechaFinVigencia; agencia.FechaInicioVigencia = DateTime.Today; agencia.FechaAlta = DateTime.Today; if (dr.EmpresaID == 0) { throw new Exception(this.TraducirTexto("Errores.Obligatorios.Empresa")); } if (agencia.FechaFinVigencia != new DateTime(1900, 1, 1)) { if (agencia.FechaFinVigencia < agencia.FechaInicioVigencia) { throw new Exception(this.TraducirTexto("Errores.Obligatorios.RangoFechas")); } } agencia.SetEmpresa(usuario); this.dtgAgencias.EditItemIndex = -1; Session["dsAgencias"] = null; this.txtRazonSocial.Text = ""; this.txtProvincia.Text = ""; this.txtSucursalDGI.Text = ""; this.BindGrid(); } catch (Exception ex) { string mensaje = ex.Message; try { mensaje = this.TraducirTexto(ex.Message); if (mensaje == "" || mensaje == null) { mensaje = ex.Message; } } catch (Exception) { mensaje = ex.Message; } ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje); } }
private void dtgAgencias_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { if (e.CommandName == "Select") { int indice = e.Item.DataSetIndex; BindGrid(); DsAgencias.DatosRow[] drLista = (DsAgencias.DatosRow[])dtgAgencias.DataSource; if (drLista == null) { return; } if (drLista.Length == 0) { return; } DsAgencias.DatosRow dr = drLista[indice]; if (dr == null) { return; } int agenciaID = dr.AgenciaID; string sucursal = dr.SucursalDGI; string razonSocial = dr.RazonSocial; StringBuilder scriptString = new StringBuilder(); scriptString.Append("<script language='javascript'>\n"); scriptString.Append("window.dialogArguments.AgenciaID = '" + agenciaID.ToString() + "';\n"); scriptString.Append("window.dialogArguments.Sucursal = '" + sucursal + "';\n"); scriptString.Append("window.dialogArguments.RazonSocial = '" + razonSocial + "';\n"); scriptString.Append("window.returnValue = true;\n"); scriptString.Append("window.close();\n"); scriptString.Append("</script>"); Page.RegisterClientScriptBlock("scriptModalAgenciaRedespacho", scriptString.ToString()); } }
private void CargarAgencias() { IAgencia agencia = AgenciaFactory.GetAgencia(); DsAgencias dsAgencias = agencia.GetAgenciasDataSet(); string sucursalDGI = this.txtNroSucursal.Text; DsAgencias.DatosRow[] dr = (DsAgencias.DatosRow[])dsAgencias.Datos.Select("SucursalDGI = '" + sucursalDGI + "'"); DsAgencias.DatosRow drAgencia = dr[0]; this.txtAgenciaOrigenID.Text = drAgencia.AgenciaID.ToString(); this.txtSucursalAgenciaOrigen.Text = drAgencia.SucursalDGI; this.txtAgenciaOrigenDescrip.Text = drAgencia.RazonSocial.ToString(); this.txtFecha.Text = this.txtFechaConf.Text; //System.DateTime.Today.ToString("dd/MM/yyyy"); agencia.AgenciaID = Convert.ToInt32(this.txtAgenciaDestinoID.Text); agencia.ConsultarBasico(); this.txtSucursalAgenciaDestino.Text = agencia.SucursalDGI; this.txtAgenciaDestinoDescrip.Text = agencia.RazonSocial; }
private void dtgAgencias_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { if (e.CommandName == "Select") { int indice = e.Item.DataSetIndex; BindGrid(); DsAgencias.DatosRow[] drLista = (DsAgencias.DatosRow[])dtgAgencias.DataSource; if (drLista == null) { return; } if (drLista.Length == 0) { return; } DsAgencias.DatosRow dr = drLista[indice]; if (dr == null) { return; } int agenciaID = dr.AgenciaID; string sucursal = dr.SucursalDGI; string razonSocial = dr.RazonSocial; StringBuilder scriptString = new StringBuilder(); scriptString.Append("<script language='javascript'>\n"); //MODIFICACION PAR CHROME. FLORENCIA QUIROGA. 01/07/2014 scriptString.Append("select(" + sucursal + "," + "'" + razonSocial + "'" + "," + "'" + agenciaID + "'" + "," + "'" + parametro + "'" + " );"); scriptString.Append("window.close();\n"); scriptString.Append("</script>"); //chrome parent. Page.RegisterClientScriptBlock("scriptModalAgencia", scriptString.ToString()); scriptString.Append("</script>"); //chrome parent. Page.RegisterClientScriptBlock("scriptModalAgencia", scriptString.ToString()); } if (e.CommandName == "SelectVendedor") { int indice = e.Item.DataSetIndex; BindGrid(); DsAgencias.DatosRow[] drLista = (DsAgencias.DatosRow[])dtgAgencias.DataSource; if (drLista == null) { return; } if (drLista.Length == 0) { return; } DsAgencias.DatosRow dr = drLista[indice]; if (dr == null) { return; } int agenciaID = dr.AgenciaID; //string sucursal = dr.SucursalDGI; //string razonSocial = dr.RazonSocial; IAgencia agencia = AgenciaFactory.GetAgencia(); agencia.AgenciaID = agenciaID; agencia.Consultar(); Session["Vendedor"] = null; IVendedor vend = VendedorFactory.GetVendedor(); vend.NroLegajo = "v" + dr.SucursalDGI; vend.Nombre = dr.Nombre; vend.AgenciaID = agenciaID; vend.Apellido = dr.Nombre; vend.Domicilio.DomicilioID = dr.DomicilioID; vend.Domicilio.DomicilioID = agencia.Domicilio.DomicilioID; vend.Domicilio.Calle = agencia.Domicilio.Calle; vend.Domicilio.CalleNro = agencia.Domicilio.CalleNro; vend.Domicilio.Telefono = agencia.Domicilio.Telefono; vend.Domicilio.Localidad.Provincia.ProvinciaID = agencia.Domicilio.Localidad.Provincia.ProvinciaID; vend.Domicilio.Localidad.LocalidadID = agencia.Domicilio.Localidad.LocalidadID; vend.Domicilio.Fax = agencia.Domicilio.Fax; vend.Domicilio.Depto = agencia.Domicilio.Depto; Session["Vendedor"] = (IVendedor)vend; StringBuilder scriptString = new StringBuilder(); scriptString.Append("<script language='javascript'>\n"); //MODIFICACION PARA CHROME. FLORENCIA QUIROGA.01/07/2014. //scriptString.Append("window.returnValue = true;\n"); //scriptString.Append("window.close();\n"); scriptString.Append("parent.window.returnValue = true;\n"); scriptString.Append("parent.window.close();\n"); scriptString.Append("</script>"); Page.RegisterClientScriptBlock("scrptVendedor", scriptString.ToString()); } }
private void BindGrid() { SisPackController.AdministrarGrillas.Configurar(this.dtgAgencias, "AgenciaID", this.CantidadOpciones); try { int total = 0; IAgencia agencia = AgenciaFactory.GetAgencia(); bool verAgenciasDomicilio = verDomicilio == "S" ? true : false; DsAgencias ds = new DsAgencias(); if (verAgenciasDomicilio) { ds = agencia.GetAgenciasConRetiroADomicilio(); } else { ds = agencia.GetAgenciasConsultaDataSet(); } //string sucursal = this.txtSucursal.Text; //string razon = this.txtRazonSocial.Text; //string filtroEspecial = this.txtFiltro.Text; //string agenciaActual = this.txtAgenciaActual.Text; if (sucursal == "") { sucursal = this.txtSucursal.Text; } if (razonSocial == "") { razonSocial = this.txtRazonSocial.Text; } string filtro = "SucursalDGI LIKE '" + sucursal + "%' AND RazonSocial LIKE '" + razonSocial + "%'"; //Agregar que si no le paso una agencia actual, no la tenga que buscar. if (filtroEspecial == NegociosSisPackInterface.SisPack.TipoAgencia.Cabecera.ToString()) { if (agenciaActual != null && agenciaActual.Length > 0) { filtro += " AND EsCabecera = true AND AgenciaID <> " + agenciaActual; } else { filtro += " AND EsCabecera = true"; } } else if (filtroEspecial == NegociosSisPackInterface.SisPack.TipoAgencia.Madre.ToString()) { filtro += " AND (AgenciaMadre IS NULL OR AgenciaMadre <> " + agenciaActual + " ) AND AgenciaID <> " + agenciaActual; } DsAgencias.DatosRow[] drLista = (DsAgencias.DatosRow[])ds.Datos.Select(filtro); dtgAgencias.DataSource = drLista; dtgAgencias.DataBind(); // se agrego para eliminar el ShowModalDialog total = drLista.Length; txtFila.Text = Convert.ToString(total); if (total == 1) { DsAgencias.DatosRow dr = drLista[0]; this.txtAgenciaID.Text = dr.AgenciaID.ToString(); this.txtSucursal.Text = dr.SucursalDGI; this.txtRazonSocial.Text = dr.RazonSocial; } else { this.txtSucursal.Text = this.sucursal; this.txtRazonSocial.Text = this.razonSocial; this.txtFiltro.Text = this.filtroEspecial; this.txtAgenciaActual.Text = this.agenciaActual; } } catch (Exception ex) { throw ex; //this.txtErrorMsg.Text = "Error al consultar datos de agencias: " + ex.Message; } }
//Agencias protected void ckSeleccionarA_CheckChanged(object sender, EventArgs e) { try { if (Convert.ToInt32(Request.QueryString["ConLineas"].ToString()) > 0) { CheckBox box = (CheckBox)sender; DataGridItem item = (DataGridItem)box.NamingContainer; DsAgencias.DatosRow[] unaAgencia; DsAgencias agenciaSel = Session["dsAgenciasCL"] != null ? (DsAgencias)Session["dsAgenciasCL"] : new DsAgencias(); string agenciaID = item.Cells[0].Text; unaAgencia = (DsAgencias.DatosRow[])agenciaSel.Datos.Select("AgenciaID=" + agenciaID); if (box.Checked) { if (unaAgencia.Length == 0) { DsAgencias.DatosRow row = agenciaSel.Datos.NewDatosRow(); row.AgenciaID = Convert.ToInt32(item.Cells[0].Text); row.SucursalDGI = item.Cells[1].Text; row.RazonSocial = item.Cells[2].Text; row.FechaAlta = System.DateTime.Today; row.EsCabecera = false; row.EsEmisora = false; row.EsReceptora = false; row.DomicilioID = 0; row.ResponsableID = 0; row.EmpresaID = 0; row.EstadoAgenciaID = 0; row.EntregaDomicilio = false; row.EstaAutomatizada = false; row.HabilitadaFacturacion = false; row.RetiraDomicilio = false; agenciaSel.Datos.Rows.Add(row); row = null; } else { agenciaSel.Datos.RemoveDatosRow(unaAgencia[0]); } } else { agenciaSel.Datos.RemoveDatosRow(unaAgencia[0]); } Session["dsAgenciasCL"] = agenciaSel; box = null; item = null; unaAgencia = null; agenciaSel = null; } else { CheckBox box = (CheckBox)sender; DataGridItem item = (DataGridItem)box.NamingContainer; DsAgencias.DatosRow[] unaAgencia; DsAgencias agenciaSel = Session["dsAgenciasRedespacho"] != null ? (DsAgencias)Session["dsAgenciasRedespacho"] : new DsAgencias(); string agenciaID = item.Cells[0].Text; unaAgencia = (DsAgencias.DatosRow[])agenciaSel.Datos.Select("AgenciaID=" + agenciaID); if (box.Checked) { if (unaAgencia.Length == 0) { DsAgencias.DatosRow row = agenciaSel.Datos.NewDatosRow(); row.AgenciaID = Convert.ToInt32(item.Cells[0].Text); row.SucursalDGI = item.Cells[1].Text; row.RazonSocial = item.Cells[2].Text; row.FechaAlta = System.DateTime.Today; row.EsCabecera = false; row.EsEmisora = false; row.EsReceptora = false; row.DomicilioID = 0; row.ResponsableID = 0; row.EmpresaID = 0; row.EstadoAgenciaID = 0; row.EntregaDomicilio = false; row.EstaAutomatizada = false; row.HabilitadaFacturacion = false; row.RetiraDomicilio = false; agenciaSel.Datos.Rows.Add(row); row = null; } else { agenciaSel.Datos.RemoveDatosRow(unaAgencia[0]); } } else { agenciaSel.Datos.RemoveDatosRow(unaAgencia[0]); } Session["dsAgenciasRedespacho"] = agenciaSel; box = null; item = null; unaAgencia = null; agenciaSel = null; } } catch (Exception ex) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(ex.Message + " En CheckChanged"); } }
private void Buscar() { int total = 0; try { if (parametro != "3") //si no se un punto de recepción { #region Agencia IAgencia agencia = AgenciaFactory.GetAgencia(); DsAgencias ds = agencia.GetAgenciasDataSet(); string filtro = "SucursalDGI LIKE '" + this.sucursal + "%' AND RazonSocial LIKE '" + this.razonSocial + "%'"; //Agregar que si no le paso una agencia actual, no la tenga que buscar. if (this.filtroEspecial == NegociosSisPackInterface.SisPack.TipoAgencia.Cabecera.ToString()) { if (this.agenciaActual != null && this.agenciaActual.Length > 0) { filtro += " AND EsCabecera = true AND AgenciaID <> " + this.agenciaActual; } else { filtro += " AND EsCabecera = true"; } } else if (this.filtroEspecial == NegociosSisPackInterface.SisPack.TipoAgencia.Madre.ToString()) { filtro += " AND (AgenciaMadre IS NULL OR AgenciaMadre <> " + this.agenciaActual + " ) AND AgenciaID <> " + this.agenciaActual; } DsAgencias.DatosRow[] drLista = (DsAgencias.DatosRow[])ds.Datos.Select(filtro); total = drLista.Length; if (total > 0) { if (total == 1) { DsAgencias.DatosRow dr = drLista[0]; this.txtAgenciaID.Text = dr.AgenciaID.ToString(); this.txtSucursal.Text = dr.SucursalDGI; this.txtRazonSocial.Text = dr.RazonSocial; this.txtErrorMsg.Text = ""; this.txtOpen.Text = ""; } else { this.txtSucursal.Text = this.sucursal; this.txtRazonSocial.Text = this.razonSocial; this.txtOpen.Text = "S"; this.txtFiltro.Text = this.filtroEspecial; this.txtAgenciaActual.Text = this.agenciaActual; } this.txtParametro.Text = this.parametro; } else { this.txtAgenciaID.Text = ""; this.txtErrorMsg.Text = "No se encontraron datos."; this.txtOpen.Text = ""; } #endregion } else { #region PuntoRecepcion IPuntoRecepcion puntoRecepcion = PuntoRecepcionFactory.GetPuntoRecepcion(); DsPuntosRecepcion ds = null; ds = puntoRecepcion.GetPuntosRecepcionDataSet(); string sucursal = this.txtSucursal.Text; string razon = this.txtRazonSocial.Text; string filtroEspecial = this.txtFiltro.Text; string agenciaActual = this.txtAgenciaActual.Text; string filtro = "Codigo LIKE '" + sucursal + "%' AND RazonSocial LIKE '" + razon + "%'"; DsPuntosRecepcion.DatosRow[] drPuntoRecepcion = (DsPuntosRecepcion.DatosRow[])ds.Datos.Select(filtro); total = drPuntoRecepcion.Length; if (total > 0) { if (total == 1) { this.txtAgenciaID.Text = drPuntoRecepcion[0].PuntoRecepcionID.ToString(); this.txtSucursal.Text = drPuntoRecepcion[0].Codigo; this.txtRazonSocial.Text = drPuntoRecepcion[0].RazonSocial; this.txtErrorMsg.Text = ""; this.txtOpen.Text = ""; } else { this.txtSucursal.Text = this.sucursal; this.txtRazonSocial.Text = this.razonSocial; this.txtOpen.Text = "S"; this.txtFiltro.Text = this.filtroEspecial; this.txtAgenciaActual.Text = this.agenciaActual; } this.txtParametro.Text = this.parametro; } else { this.txtAgenciaID.Text = ""; this.txtErrorMsg.Text = "No se encontraron datos."; this.txtOpen.Text = ""; } #endregion } } catch (Exception ex) { this.txtErrorMsg.Text = "Error al consultar datos de agencias: " + ex.Message; } }
private void BindGrid() { SisPackController.AdministrarGrillas.Configurar(this.dtgAgencias, "AgenciaID", this.CantidadOpciones); if (Session["dsAgencias"] == null) { IAgencia agencia = AgenciaFactory.GetAgencia(); string razonSocial = this.txtRazonSocial.Text; string provinciaDescrip = this.txtProvincia.Text; string sucursalDGI = this.txtSucursalDGI.Text; this.dsAgencias = new DsAgencias(); DsAgencias ds = agencia.GetAgenciasConsultaDataSet(); DsAgencias.DatosRow[] rows = (DsAgencias.DatosRow[])ds.Datos.Select("SucursalDGI LIKE '" + sucursalDGI + "%' AND RazonSocial LIKE '" + this.txtRazonSocial.Text + "%'" + " AND ProvinciaDescrip LIKE '" + this.txtProvincia.Text + "%'", "RazonSocial"); for (int i = 0; i < rows.Length; i++) { if (this.Request.QueryString["Tipo"] == "Administracion") //si se deben ver solo de la UN de la empresa del usuario conectado { IEmpresa empresa = EmpresaFactory.GetEmpresa(); empresa.EmpresaID = rows[i].EmpresaID; empresa.Consultar(); if (empresa.UnidadNegocio.UnidadNegocioID == this.UnidadNegocioID) { this.dsAgencias.Datos.ImportRow(rows[i]); } else { i = i; } } else if (this.Request.QueryString["Tipo"] == "AdministracionUN") //si se deben ver las de cualquier UN { this.dsAgencias.Datos.ImportRow(rows[i]); } } } else { this.dsAgencias = (DsAgencias)Session["dsAgencias"]; if (this.dtgAgencias.EditItemIndex != -1) { DataGridItem item = this.dtgAgencias.Items[this.dtgAgencias.EditItemIndex]; DsAgencias.DatosRow dr = (DsAgencias.DatosRow) this.dsAgencias.Datos.Rows[item.DataSetIndex]; DropDownList ddlEmpresas = (DropDownList)item.FindControl("ddlEmpresas"); string selValue = ddlEmpresas.SelectedValue; dr.EmpresaID = selValue == "" ? 0 : Convert.ToInt32(selValue); TextBox txtNroSucursal = (TextBox)item.FindControl("txtNroSucursal"); dr.SucursalDGI = txtNroSucursal.Text == "" ? "" : txtNroSucursal.Text; TextBox txtFechaInicioVigencia = (TextBox)item.FindControl("txtFechaInicioVigencia"); dr.FechaInicioVigencia = Utiles.Fechas.FormatFechaDDMMYYYY(txtFechaInicioVigencia.Text); TextBox txtFechaFinVigencia = (TextBox)item.FindControl("txtFechaFinVigencia"); dr.FechaFinVigencia = txtFechaFinVigencia.Text == "" ? new DateTime(1900, 1, 1) : Utiles.Fechas.FormatFechaDDMMYYYY(txtFechaFinVigencia.Text); } } Session["dsAgencias"] = this.dsAgencias; this.dtgAgencias.DataSource = this.dsAgencias; this.dtgAgencias.DataBind(); }
private void butConfirmar_Click(object sender, System.EventArgs e) { usuario = (IUsuarios)Session["usuario"]; // Obtengo las agencias para verificar si la sucursal de la guía a recibir es válida // en el caso de guías de agencias no automatizadas IAgencia agencia = AgenciaFactory.GetAgencia(); DsAgencias dsAgencias = agencia.GetAgenciasDataSet(); bool ok = true; Hashtable hGuias = new Hashtable(); // Guías que no se pueden recibir, porque son de ag. no automatizadas o no existen Hashtable hGuiasNR = new Hashtable(); // Guías que no están en condiciones de ser recibidas Hashtable hGuiasIncompletas = new Hashtable(); // Guías que se pueden recibir, pero no se completaron los datos (valor declarado, bultos y agencias) // Verifico si el sistema está configurado para utilizar recepción libre bool recepcionLibre = false; IParametroUNegocio param = ParametroUNegocioFactory.GetParametroUNegocio(); param.Parametro = NegociosSisPackInterface.SisPack.Parametro.RecepcionLibre; param.UnidadNegocioID = this.UnidadNegocioID; param.Consultar(); if (param.ValorString == "1") { recepcionLibre = true; } 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 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(); // Lógica para recibir (y observar) guías string tGuia = ""; // if (nroGuia.Substring(0,1) == "3") // tGuia="A"; // else if (nroGuia.Substring(0,1) == "4") // tGuia="B"; // //else // //throw new Exception("Errores.Invalidos.CodigoBarrasLongitud"); 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; IGuiaFactura oGuiaFactura = GuiaFacturaFactory.GetGuiaFactura(); oGuiaFactura.UsuarioID = usuario.UsuarioID; // si la guía existe en el sistema, la recibe if (oGuia.GuiaID > 0) { // Obtengo el Id de la agencia administración IParametroUNegocio paramAdm = ParametroUNegocioFactory.GetParametroUNegocio(); paramAdm.Parametro = NegociosSisPackInterface.SisPack.Parametro.AgenciaDeAdministracion; paramAdm.UnidadNegocioID = this.UnidadNegocioID; paramAdm.Consultar(); int agAdm = Utiles.Validaciones.obtieneEntero(paramAdm.ValorString); paramAdm = null; // Reviso si la guía es recepcionable (si la guía todavia no esta en destino o si esta solicitada para devolución) //if (oGuia.EsRecepcionable || oGuia.RevisarSiTieneEstadoHistoricoBuscado(13, 2, oGuia.AgenciaDestinoID)) // Diego 29/03/2014 // Modificado para que verifique que la guia no este anulada o anulada WEB if ((oGuia.EsRecepcionable || oGuia.RevisarSiTieneEstadoHistoricoBuscado(13, 2, oGuia.AgenciaDestinoID)) && !oGuia.EsGuiaAnulada(oGuia.GuiaID)) { // La guía es recepcionable ((IGuia)oGuiaFactura).GuiaID = oGuia.GuiaID; /* Diego 09/01/2013 Actualiza el stock de las unidades de logisticas */ if (oGuia.TipoGuia == "X") { IGuiaUnidadLogistica gUnidad = GuiaUnidadLogisticaFactory.GetIGuiaUnidadLogistica(); gUnidad.ActualizarStockGuiaUnidadLogistica(oGuia.GuiaID, this.AgenciaConectadaID, usuario.UsuarioID, 1); } if ((this.AgenciaConectadaID == oGuia.AgenciaDestinoID) || ((this.AgenciaConectadaID == oGuia.AgenciaOrigenID /*|| this.AgenciaConectadaID == agAdm*/) && oGuia.EstadoSentidoViaje == (int)NegociosSisPackInterface.SisPack.ValorEstadoSentidoViaje.Devolucion)) { if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura && oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Remito) { //((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuia.EsRecepcionLibre = recepcionLibre; oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.Ingresada("Recibida Masivamente", this.AgenciaConectadaID, usuario); /*German 28/06/2016 */ if (oGuia.TipoGuia == "X" && EsConformable(oGuia)) { oGuiaFactura.Entregada("Conformada Masivamente", this.AgenciaConectadaID, usuario); } ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID); } else { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuiaFactura.Ingresada("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID)); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } } else if (this.AgenciaConectadaID == agAdm && oGuia.EstadoSentidoViaje == (int)NegociosSisPackInterface.SisPack.ValorEstadoSentidoViaje.Devolucion) { // La guía se esta recibiendo en administración y es una devolución. La cargo como que queda en archivo if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.IngresadaAArchivo("Recibida Masivamente", this.AgenciaConectadaID, usuario); ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID); } else { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuiaFactura.IngresadaAArchivo("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID)); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } } //SFE: Modificado para corregir el bug que no ponia en Agencia de Redespacho en la Recepcion Masiva-- Se agrego el Metodo "EsGuiaDePuntoRecepcionReferenciado(oGuia.GuiaID)" else if (this.EsGuiaDeAgenciaRedespachoReferenciada(oGuia.AgenciaDestinoID, oGuia.GuiaID) || this.EsGuiaDePuntoRecepcionReferenciado(oGuia.GuiaID)) { //Guia de redespacho ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuiaFactura.Redespacho("Recibida Masivamente", this.AgenciaConectadaID, usuario); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } else { IAgencia ag = AgenciaFactory.GetAgencia(); ag.AgenciaID = oGuia.AgenciaOrigenID; ag.ConsultarBasico(); // si la agencia que recibe en forma libre es la agencia madre, // tengo que insertar los estados correspondientes if (recepcionLibre && this.AgenciaConectadaID == ag.AgenciaMadre) { // insertar los estados de agencia madre... if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) { oGuia.EsRecepcion = 1; oGuia.EsRecepcionLibre = recepcionLibre; oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.UsuarioID = Utiles.Validaciones.obtieneEntero(this.UsuarioConectadoID); oGuia.Observaciones = "Recibida Masivamente"; oGuia.RecepcionAgenciaMadre(this.AgenciaConectadaID); ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID); } else { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; //Se agregaron las siguientes dos lineas porque cuando llegaba al metodo para observar //no llegaba ni el usuario ni la observacion. FQuiroga 08/04/2016 ((IGuia)oGuiaFactura).ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); ((IGuia)oGuiaFactura).UsuarioID = (usuario.UsuarioID); oGuiaFactura.RecepcionAgenciaMadre("Recibida Masivamente", this.AgenciaConectadaID, Utiles.Validaciones.obtieneEntero(observacionID)); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } } else { /*SFE: Agregado para trabajar con envios desde la Web*/ if (oGuia.EstadoMovimiento != (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.PendienteRetiro) { /**/ /*Esto estaba 16/11/2010*/ // sino, continuar normalmente... if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) { oGuia.EsRecepcionLibre = recepcionLibre; oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); if (oGuia.EstadoMovimiento != (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.PendienteRetiro) { oGuia.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario); } else { oGuia.IngresoReparto("Recibida Masivamente", this.AgenciaConectadaID, usuario); } ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID); } else { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; if (oGuia.EstadoMovimiento != (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.PendienteRetiro) { oGuiaFactura.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID)); } else { oGuiaFactura.IngresoReparto("Recibida Masivamente", this.AgenciaConectadaID, usuario); } ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } /*Esto estaba 16/11/2010*/ } /*SFE:Agregado para trabajar con envios desde la Web*/ else { // Inserto los estados de "emitida" a la guía que se recibe // ya que se emitió en la web, y cuando se realizó la factura desde SisPack // se insertó el estado "Pendiente de Retiro" IObservacion observacion = ObservacionFactory.GetObservacion(); observacion.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); if (observacion.ObservacionID > 0) { observacion.Buscar(); } if (observacion.ObservacionID > 0 && observacion.TipoObservacionID == (int)NegociosSisPackInterface.SisPack.TipoObservacion.WebYPendienteRetiro) { /* VSA 14-08: Si se ha ingresado una observación del tipo WebYPendienteRetiro --> no se cambia el estado movimiento de la guía.*/ //IGuia oGuia = GuiaFactory.GetGuia(); //oGuia.GuiaID = Utiles.Validaciones.obtieneEntero(txtGuiaID.Text); oGuia.ObservacionID = observacion.ObservacionID; oGuia.UsuarioID = usuario.UsuarioID; oGuia.Observar(); oGuia = null; /********************************************************************************************************************************/ //bOK = true; } else { //bOK = oGuia.IngresoReparto(observacion.ObsDescrip, this.AgenciaConectadaID, usuario); } } /*SFE */ } } } // fin if EsRecepcionable else { // acá debería guardar las que no se pueden recibir y luego mostrarlas en un alert... string guia = nroSucursal + "-" + nGuia + "-" + tGuia; if (hGuiasNR.ContainsKey(oGuia.GuiaID) == false) { hGuiasNR.Add(oGuia.GuiaID, guia); } } } else { if (this.txtGuiasDefectuosas.Text == "0") { /*SFE: 12/01/2011. No permitir la recepcion de una guía que no se haya emitido y que la Agencia de Origen sea auto impresora*/ // Si la guía no existe en el sistema, consulto si la Agencia Origen es Autoimpresora // 1ro verifico si la sucursal ingresada es válida DsAgencias.DatosRow[] dr = (DsAgencias.DatosRow[])dsAgencias.Datos.Select("SucursalDGI = '" + nroSucursal + "'"); if (dr.Length > 0) // Si es una sucursal válida, ahora controlo que no este configurada como autoimpresora { DsAgencias.DatosRow drAgencia = dr[0]; string guia = nroSucursal + "-" + nGuia + "-" + tGuia; if (drAgencia.TipoImpresionGuiaId != (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa) // Caso Buscado: Guia no existe en el sistema y la Agencia Origen es Autoimpresora. No dejar recibir { hGuiasNR.Add(oGuia.GuiaID, guia); } } 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); } //this.txtGuiasDefectuosas.Text = "1"; } } else { /*SFE: 12/01/2011. No permitir la recepcion de una guía que no se haya emitido y que la Agencia de Origen sea auto impresora*/ // 1ro verifico si la sucursal ingresada es válida DsAgencias.DatosRow[] dr = (DsAgencias.DatosRow[])dsAgencias.Datos.Select("SucursalDGI = '" + nroSucursal + "'"); if (dr.Length > 0) // Si es una sucursal válida, ahora controlo que no este configurada como autoimpresora { DsAgencias.DatosRow drAgencia = dr[0]; if (drAgencia.TipoImpresionGuiaId != (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa) // Caso Buscado: Guia no existe en el sistema y la Agencia Origen es Autoimpresora. No dejar recibir { string guia = nroSucursal + "-" + nGuia + "-" + tGuia; if (hGuiasNR.ContainsKey(oGuia.GuiaID) == false) { hGuiasNR.Add(oGuia.GuiaID, guia); } } else { string valorDeclarado = "txtValorDeclarado" + i; string bultos = "txtBultos" + i.ToString(); string agenciaDestino = "agDes" + i.ToString() + "$txtAgenciaID"; string clasificacionGuiaID = Request.Form[ddl].ToString(); double vd = Utiles.Validaciones.obtieneDouble(Request.Form[valorDeclarado].ToString()); int bultosTotales = Utiles.Validaciones.obtieneEntero(Request.Form[bultos].ToString()); int agDes = Utiles.Validaciones.obtieneEntero(Request.Form[agenciaDestino].ToString()); if (vd > 0 && bultosTotales > 0 && agDes > 0) { oGuiaFactura = GuiaFacturaFactory.GetGuiaFactura(); ((IGuia)oGuiaFactura).TipoGuia = tGuia; ((IGuia)oGuiaFactura).NroSucursalGuia = nroSucursal; ((IGuia)oGuiaFactura).NroGuia = Utiles.Validaciones.obtieneEntero(nGuia); ((IGuia)oGuiaFactura).UnidadNegocioID = this.UnidadNegocioID; ((IGuia)oGuiaFactura).FechaEmision = new DateTime(1900, 1, 1); ((IGuia)oGuiaFactura).ClasificacionGuiaID = (NegociosSisPackInterface.SisPack.ClasificacionGuia)Utiles.Validaciones.obtieneEntero(clasificacionGuiaID); IAgencia agOrigen = AgenciaFactory.GetAgencia(); agOrigen.SucursalDGI = nroSucursal; agOrigen.ConsultarBySucursal(); ((IGuia)oGuiaFactura).AgenciaOrigenID = agOrigen.AgenciaID; ((IGuia)oGuiaFactura).AgenciaDestinoID = agDes; ((IGuia)oGuiaFactura).Observaciones = ""; ((IGuia)oGuiaFactura).EsRecepcion = 1; //((IGuia) oGuiaFactura).ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); ((IGuia)oGuiaFactura).UsuarioID = usuario.UsuarioID; ((IGuia)oGuiaFactura).GuiaID = oGuia.GuiaID; oGuiaFactura.ImporteTotalGuia = 0; oGuiaFactura.ValorDeclaradoTotal = vd; oGuiaFactura.CantidadBultosTotal = bultosTotales; if ((this.AgenciaConectadaID == agDes)) { if (Utiles.Validaciones.obtieneEntero(clasificacionGuiaID) != (int)NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) { oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.Ingresada("Recibida Masivamente", this.AgenciaConectadaID, usuario); ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID); } else { oGuiaFactura.Ingresada("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID)); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } } else if (this.EsGuiaDeAgenciaRedespachoReferenciada(agDes, oGuia.GuiaID)) { //Guia de redespacho ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuiaFactura.Redespacho("Recibida Masivamente", this.AgenciaConectadaID, usuario); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } else { if (Utiles.Validaciones.obtieneEntero(clasificacionGuiaID) != (int)NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) { oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.EsRecepcionLibre = recepcionLibre; oGuia.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario); ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID); } else { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuiaFactura.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID)); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } } } else { ok = false; string obsTemp = observacionID + "#" + sObsCodigo + "#" + sObsDescrip; if (hGuiasIncompletas.ContainsKey(nroGuia) == false) { hGuiasIncompletas.Add(nroGuia, obsTemp); } } } } // fin dr.Length } } } // fin for Session["GuiasNR"] = hGuiasNR; if (ok) { Session["GuiasDefectuosas"] = null; Response.Redirect("RecepcionMasiva.aspx"); } else { if (hGuiasIncompletas != null && hGuiasIncompletas.Count > 0) { hGuias = hGuiasIncompletas; } this.txtGuiasDefectuosas.Text = "1"; Session["GuiasDefectuosas"] = hGuias; Response.Redirect("RecepcionMasiva.aspx?d=1"); } }
private void Buscar() { int total = 0; try { IAgencia agencia = AgenciaFactory.GetAgencia(); bool verAgenciasDomicilio = this.verDomicilio == "S" ? true : false; DsAgencias ds = agencia.GetAgenciasPuntoRecepcionDataSet(verAgenciasDomicilio); string filtro = "SucursalDGI LIKE '" + this.sucursal + "%' AND RazonSocial LIKE '" + this.razonSocial + "%'"; //Agregar que si no le paso una agencia actual, no la tenga que buscar. if (this.filtroEspecial == NegociosSisPackInterface.SisPack.TipoAgencia.Cabecera.ToString()) { if (this.agenciaActual != null && this.agenciaActual.Length > 0) { filtro += " AND EsCabecera = true AND AgenciaID <> " + this.agenciaActual; } else { filtro += " AND EsCabecera = true"; } } else if (this.filtroEspecial == NegociosSisPackInterface.SisPack.TipoAgencia.Madre.ToString()) { filtro += " AND (AgenciaMadre IS NULL OR AgenciaMadre <> " + this.agenciaActual + " ) AND AgenciaID <> " + this.agenciaActual; } DsAgencias.DatosRow[] drLista = (DsAgencias.DatosRow[])ds.Datos.Select(filtro); total = drLista.Length; if (total > 0) { if (total == 1) { DsAgencias.DatosRow dr = drLista[0]; this.txtAgenciaID.Text = dr.AgenciaID.ToString(); this.txtSucursal.Text = dr.SucursalDGI; this.txtRazonSocial.Text = dr.RazonSocial; this.txtErrorMsg.Text = ""; this.txtOpen.Text = ""; } else { this.txtSucursal.Text = this.sucursal; this.txtRazonSocial.Text = this.razonSocial; this.txtOpen.Text = "S"; this.txtFiltro.Text = this.filtroEspecial; this.txtAgenciaActual.Text = this.agenciaActual; } } else { this.txtAgenciaID.Text = ""; this.txtErrorMsg.Text = "No se encontraron datos."; this.txtOpen.Text = ""; } } catch (Exception ex) { this.txtErrorMsg.Text = "Error al consultar datos de agencias: " + ex.Message; } }