private void butConfirmar_Click(object sender, System.EventArgs e)
        {
            #region ActivarValidadores
            BaseValidator bv;
            //if (busqAgenciaOrigen.AgenciaID == "")

            bv         = (BaseValidator)this.phValidFecha.FindControl("valInvFecha");
            bv.Enabled = true;
            bv.Validate();
            if (!bv.IsValid)
            {
                return;
            }
            bv         = (BaseValidator)this.phValidFechaConf.FindControl("valInvFechaConf");
            bv.Enabled = true;
            bv.Validate();
            if (!bv.IsValid)
            {
                return;
            }

            if (Convert.ToInt32(this.ddlTipoFactura.SelectedValue) == Convert.ToInt32(NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura))
            {
                bv         = (BaseValidator)this.phValidAgenciaOrigen.FindControl("validCantidadBultos");
                bv.Enabled = true;
                bv.Validate();
                if (!bv.IsValid)
                {
                    return;
                }

                bv         = (BaseValidator)this.phValidAgenciaOrigen.FindControl("validCantidadBultosInv");
                bv.Enabled = true;
                bv.Validate();
                if (!bv.IsValid)
                {
                    return;
                }

                bv         = (BaseValidator)this.phValidAgenciaOrigen.FindControl("validVolumenDeclarado");
                bv.Enabled = true;
                bv.Validate();
                if (!bv.IsValid)
                {
                    return;
                }

                bv         = (BaseValidator)this.phValidAgenciaOrigen.FindControl("validVolumenDeclaradoInv");
                bv.Enabled = true;
                bv.Validate();
                if (!bv.IsValid)
                {
                    return;
                }
            }
            #endregion
            try
            {
                IGuia        oGuia        = GuiaFactory.GetGuia();;
                IGuiaFactura oGuiaFactura = GuiaFacturaFactory.GetGuiaFactura();
                if (Convert.ToInt32(this.ddlTipoFactura.SelectedValue) != Convert.ToInt32(NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura))
                {
                    oGuia.GuiaID              = this.txtGuiaID.Text == "" ? 0 : Convert.ToInt32(this.txtGuiaID.Text);
                    oGuia.TipoGuia            = this.ddlTipoGuia.SelectedValue;
                    oGuia.NroSucursalGuia     = this.txtNroSucursal.Text == "" ? "0" : this.txtNroSucursal.Text;
                    oGuia.NroGuia             = this.txtNroGuia.Text == "" ? 0 : Convert.ToInt32(this.txtNroGuia.Text);
                    oGuia.UnidadNegocioID     = this.UnidadNegocioID;
                    oGuia.FechaEmision        = new DateTime(1900, 1, 1);             //oGuia.FechaEmision=DateTime.Today;
                    oGuia.ClasificacionGuiaID = (NegociosSisPackInterface.SisPack.ClasificacionGuia)Convert.ToInt32(this.ddlTipoFactura.SelectedValue);
                    oGuia.AgenciaOrigenID     = Convert.ToInt32(this.txtAgenciaOrigenID.Text);
                    oGuia.AgenciaDestinoID    = Convert.ToInt32(this.txtAgenciaDestinoID.Text);
                    oGuia.Observaciones       = "";
                }
                else
                {
                    ((IGuia)oGuiaFactura).GuiaID              = this.txtGuiaID.Text == "" ? 0 : Convert.ToInt32(this.txtGuiaID.Text);
                    ((IGuia)oGuiaFactura).TipoGuia            = this.ddlTipoGuia.SelectedValue;
                    ((IGuia)oGuiaFactura).NroSucursalGuia     = this.txtNroSucursal.Text == "" ? "0" : this.txtNroSucursal.Text;
                    ((IGuia)oGuiaFactura).NroGuia             = this.txtNroGuia.Text == "" ? 0 : Convert.ToInt32(this.txtNroGuia.Text);
                    ((IGuia)oGuiaFactura).UnidadNegocioID     = this.UnidadNegocioID;
                    ((IGuia)oGuiaFactura).FechaEmision        = new DateTime(1900, 1, 1);              //((IGuia) oGuiaFactura).FechaEmision=DateTime.Today;
                    ((IGuia)oGuiaFactura).ClasificacionGuiaID = (NegociosSisPackInterface.SisPack.ClasificacionGuia)Convert.ToInt32(this.ddlTipoFactura.SelectedValue);
                    ((IGuia)oGuiaFactura).AgenciaOrigenID     = Convert.ToInt32(this.txtAgenciaOrigenID.Text);
                    ((IGuia)oGuiaFactura).AgenciaDestinoID    = Convert.ToInt32(this.txtAgenciaDestinoID.Text);
                    ((IGuia)oGuiaFactura).Observaciones       = "";


                    oGuiaFactura.CantidadBultosTotal = Convert.ToInt32(this.txtCantidadBultos.Text);
                    oGuiaFactura.ValorDeclaradoTotal = Convert.ToDouble(this.txtVolumenDeclarado.Text);
                    oGuiaFactura.ImporteTotalGuia    = 0;
                }

                if (Convert.ToInt32(this.ddlTipoFactura.SelectedValue) != Convert.ToInt32(NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura))
                {
                    oGuia.Entregada(this.txtObservaciones.Text, this.AgenciaConectadaID, this.usuario, Convert.ToDateTime(this.txtFechaConf.Text));
                }
                else
                {
                    oGuiaFactura.Entregada(this.txtObservaciones.Text, this.AgenciaConectadaID, this.usuario, Convert.ToDateTime(this.txtFechaConf.Text));
                }

                if (this.txtListadoConformadasID.Text == "")
                {
                    IListadoConformadas listado = ListadoConformadasFactory.GetListadoConformadas();
                    listado.AgenciaID = Convert.ToInt32(this.txtAgenciaDestinoID.Text);
                    listado.Fecha     = System.DateTime.Today;
                    listado.Guardar();
                    this.txtListadoConformadasID.Text = listado.ListadoConformadasID.ToString();
                }

                IListadoConformadasGuia listadoGuia = ListadoConformadasGuiaFactory.GetListadoConformadasGuia();
                listadoGuia.ListadoConformadasID = Convert.ToInt32(this.txtListadoConformadasID.Text);
                listadoGuia.GuiaID = oGuia.GuiaID == 0 ? ((IGuia)oGuiaFactura).GuiaID :oGuia.GuiaID;
                listadoGuia.Guardar();

                StringBuilder scriptString = new StringBuilder();
                scriptString.Append("<script language='javascript'>\n");
                //scriptString.Append("window.location.href = 'ListadoConformadas.aspx?ListadoConformadasID="+this.txtListadoConformadasID.Text+ "&AgenciaID="+this.txtAgenciaDestinoID.Text +"&amp;index=0';\n");
                scriptString.Append("window.returnValue = true;\n");
                scriptString.Append("window.close();\n");
                scriptString.Append("</script>");
                Page.RegisterClientScriptBlock("scrptIngresoGuia", scriptString.ToString());
            }
            catch (Exception ex)
            {
                ((ErrorWeb)this.phErrores.FindControl("Error")).setMensaje(this.TraducirTexto(ex.Message));
            }
        }
        private void butAgregar_Click(object sender, System.EventArgs e)
        {
            try
            {
                DsGuias ds;
                if (this.radioTipo.Checked)
                {
                    ds = BuscarPorTipo();
                }
                else
                {
                    ds = BuscarPorCodigo();
                }
                BaseValidator bv;

                bv         = (BaseValidator)this.phValidTipoGuia.FindControl("ReqFechaListado");
                bv.Enabled = true;
                bv.Validate();
                if (!bv.IsValid)
                {
                    return;
                }
                bv         = (BaseValidator)this.phValidTipoGuia.FindControl("ValidFechaListado");
                bv.Enabled = true;
                bv.Validate();
                if (!bv.IsValid)
                {
                    return;
                }

                if (ds != null)
                {
                    IGuia guia = GuiaFactory.GetGuia();
                    DsGuias.DatosRow[] drLista = (DsGuias.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID);
                    int total = drLista.Length;
                    if (total > 0)
                    {
                        DsGuias.DatosRow dr = drLista[0];
                        //Session["GuiaDevueltaID"] =dr.IsGuiaDevueltaIDNull()? 0 : dr.GuiaDevueltaID;//Variable de session para guardar el id de la guia original en las guías devueltas en una guía nueva

                        //this.txtTipoFactura.Text = dr.ClasificacionGuiaID.ToString();



                        if (dr.AgenciaDestinoID == Convert.ToInt32(this.txtAgenciaID.Text))
                        {
                            if (dr.GuiaID != 0)
                            {
                                if (this.txtListadoConformadasID.Text == "")
                                {
                                    IListadoConformadas listado = ListadoConformadasFactory.GetListadoConformadas();
                                    listado.AgenciaID = Convert.ToInt32(this.txtAgenciaID.Text);
                                    listado.Fecha     = this.txtFechaListado.Text == "" ? System.DateTime.Today : Convert.ToDateTime(this.txtFechaListado.Text);
                                    listado.Guardar();
                                    this.txtListadoConformadasID.Text = listado.ListadoConformadasID.ToString();
                                }
                                IListadoConformadasGuia listadoGuia = ListadoConformadasGuiaFactory.GetListadoConformadasGuia();
                                listadoGuia.ListadoConformadasID = Convert.ToInt32(this.txtListadoConformadasID.Text);
                                listadoGuia.GuiaID = dr.GuiaID;
                                listadoGuia.Guardar();
                                IGuia oGuia = GuiaFactory.GetGuia();
                                oGuia.GuiaID = dr.GuiaID;
                                DateTime fechaConf = this.txtFechaConf.Text == "" ? Convert.ToDateTime(this.txtFechaListado.Text):Convert.ToDateTime(this.txtFechaConf.Text);
                                oGuia.Entregada("", this.AgenciaConectadaID, this.usuario, fechaConf);                                       //VER FECHA DE CONFORMACION

                                this.BindGrilla();
                            }
                        }
                        else
                        {
                            ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("La agencia destino de la guia no corresponde con la agencia no automatizada elegida");
                        }
                    }
                    else
                    {
                        if (this.txtListadoConformadasID.Text == "")
                        {
                            IListadoConformadas listado = ListadoConformadasFactory.GetListadoConformadas();
                            listado.AgenciaID = Convert.ToInt32(this.txtAgenciaID.Text);
                            listado.Fecha     = this.txtFechaListado.Text == "" ? System.DateTime.Today : Convert.ToDateTime(this.txtFechaListado.Text);
                            listado.Guardar();
                            this.txtListadoConformadasID.Text = listado.ListadoConformadasID.ToString();
                        }
                        string fechaConf = this.txtFechaConf.Text == ""?this.txtFechaListado.Text : this.txtFechaConf.Text;

                        string pagRegreso = "ListadoConformadas.aspx?ListadoConformadasID=" + this.txtListadoConformadasID.Text;
                        //Response.Redirect("IBusqSupervisorModal.aspx?CotizacionID=" + cotizacion.CotizacionClienteID);
                        Page.RegisterStartupScript("IngresoGuia", GenerarJavaScripts.AbrirVentanaModalConRegreso("IIngresoGuiaListadoConf.aspx?ListadoConformadasID=" + this.txtListadoConformadasID.Text + "&TipoGuia=" + this.ddlTipoGuia.SelectedValue + "&NroSucursal=" + this.txtNroSucursal.Text + "&NroGuia=" + this.txtNroGuia.Text + "&AgenciaDestinoID=" + this.txtAgenciaID.Text + "&FechaConf=" + fechaConf, 650, 400, true, pagRegreso));
                    }
                    //this.ddlTipoGuia.SelectedValue="1";
                    this.txtNroSucursal.Text = "";
                    this.txtNroGuia.Text     = "";
                    this.txtGuiaID.Text      = "";
                    this.txtCodigoBarra.Text = "";
                }
            }
            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);
            }
        }
Ejemplo n.º 3
0
        private void butConfirmar_Click(object sender, System.EventArgs e)
        {
            try
            {
                DsGuiaFactura ds = (DsGuiaFactura)Session["GuiasAsignadas"];
                BaseValidator bv;
                bv = (BaseValidator)this.phValidFechaListado.FindControl("ValidFecha");
                bv.Validate();
                if (!bv.IsValid)
                {
                    return;
                }

                bv         = (BaseValidator)this.phValidFechaListado.FindControl("ReqFecha");
                bv.Enabled = true;
                bv.Validate();
                if (!bv.IsValid)
                {
                    return;
                }

                if (ds.Datos.Count > 0)
                {
                    IListadoConformadas listado = ListadoConformadasFactory.GetListadoConformadas();
                    #region GuardarListado
                    if (this.txtListadoConformadasID.Text == "")
                    {
                        //IListadoConformadas listado = ListadoConformadasFactory.GetListadoConformadas();
                        listado.AgenciaID = Convert.ToInt32(this.txtAgenciaID.Text);
                        listado.Fecha     = this.txtFechaListado.Text == "" ? System.DateTime.Today : Convert.ToDateTime(this.txtFechaListado.Text);
                        listado.Guardar();
                        this.txtListadoConformadasID.Text = listado.ListadoConformadasID.ToString();
                        txtNroListadoConf.Enabled         = false;
                        txtFechaListado.Enabled           = false;
                    }
                    else
                    {
                        //IListadoConformadas listado = ListadoConformadasFactory.GetListadoConformadas();
                        listado.ListadoConformadasID = Utiles.Validaciones.obtieneEntero(txtListadoConformadasID.Text);
                        listado.Borrar();
                    }
                    IListadoConformadasGuia listadoGuia = ListadoConformadasGuiaFactory.GetListadoConformadasGuia();
                    listadoGuia.ListadoConformadasID = Convert.ToInt32(this.txtListadoConformadasID.Text);
                    foreach (DsGuiaFactura.DatosRow dr in ds.Datos)
                    {
                        listadoGuia.GuiaID = dr.GuiaID;
                        listadoGuia.Guardar();
                        IGuia oGuia = GuiaFactory.GetGuia();
                        oGuia.GuiaID = dr.GuiaID;
                        DateTime fechaConf = Convert.ToDateTime(this.txtFechaListado.Text);
                        oGuia.Entregada("", this.AgenciaConectadaID, this.usuario, fechaConf);
                    }
                    #endregion

                    #region CerrarListado
                    listado.AgenciaID = AgenciaConectadaID;
                    listado.IDSesion  = Session.SessionID;
                    if (listado.Cerrar(usuario, this.AgenciaConectadaID))
                    {
                        if (listado.EstadoListadoConformadas == NegociosSisPackInterface.SisPack.EstadoListadoConformadas.Cerrado)
                        {
                            string mensaje = "El listado se cerró con éxito. ";
                            string script  = "<script language='javascript'>\n";
                            script += "alert('" + mensaje + "');";
                            script += "window.location.href = 'ListadoConformadaAdmin.aspx?ListadoConformadasID=" + this.txtListadoConformadasID.Text + "';\n";
                            script += "</script>";
                            Page.RegisterStartupScript("scriptOk", script);
                        }
                        else
                        {
                            string mensaje = "El listado no pudo cerrarse ya que contiene guías a las que le faltan datos. ";
                            string script  = "<script language='javascript'>\n";
                            script += "alert('" + mensaje + "');";
                            script += "</script>";
                            Page.RegisterStartupScript("scriptOk", script);
                            //this.BindGrilla();
                        }
                    }
                    else
                    {
                        string script = "<script language='javascript'>\n";
                        script += "alert('Los datos no se guardaron debido a errores.');\n";
                        script += "</script>";
                        Page.RegisterStartupScript("scriptError", script);
                    }
                    #endregion
                }
                else
                {
                    Exception ex = new Exception("Debe asignar guías para poder cerrar el listado.");
                    throw ex;
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)phErrores.Controls[0]).setMensaje(ex.Message);
            }
        }
Ejemplo n.º 4
0
        public int AgregarGuia(IGuia guia, IUsuarios usuario, int agenciaConectadaID, int cantGuias, string nroRemito)
        {
            using (SqlConnection conexion = new SqlConnection())
            {
                GuiaServicioConfirmacion guiaServicio = new GuiaServicioConfirmacion();
                SqlTransaction           transaccion  = null;
                transaccion = null;
                conexion.ConnectionString = Config.ConnectionString;
                try
                {
                    // Abro la conexión a la BD
                    conexion.Open();
                    // Inicio una transacción
                    transaccion = conexion.BeginTransaction();

                    // Reviso si la guía esta Conformada o Entregada. Si no está conformada o entregada la conformo.
                    //if ((!guia.RevisarSiTieneEstadoHistoricoBuscado(7, 4, guia.AgenciaDestinoID)) && (!guia.RevisarSiTieneEstadoHistoricoBuscado(6, 1, guia.AgenciaDestinoID)))

                    /*10/10/2012: Si la guia va a un punto de recepcion ajeno debo buscar cual es la agencia de referencia de redespacho para que se conforme para dicha agencia*/
                    int agenciaDestinoID = 0;
                    if (guia.PuntoRecepcionID > 0)
                    {
                        PuntoRecepcion puntoRecepcion = new PuntoRecepcion();
                        puntoRecepcion.PuntoRecepcionID = guia.PuntoRecepcionID;
                        puntoRecepcion.Consultar();
                        if (puntoRecepcion.AgenciaReferenciaRedespacho > 0)
                        {
                            agenciaDestinoID = puntoRecepcion.AgenciaReferenciaRedespacho;
                        }
                        else
                        {
                            // Si en el caso que el punto de recepcion no tuviera agencia de referencia de redespacho, coloco como conformada a la agencia origen de la guia.
                            agenciaDestinoID = guia.AgenciaOrigenID;
                        }
                    }
                    else
                    {
                        agenciaDestinoID = guia.AgenciaDestinoID == 0 ? guia.AgenciaOrigenID : guia.AgenciaDestinoID; //En caso de error tomo agenciadestino = agenciaorigen
                    }
                    //DM 09/10/2012 modificado para que no tome un guia anulada y si ya ha sido conformada por alguna agencia
                    if ((!guia.RevisarSiTieneEstadoHistoricoBuscado(7, 4, agenciaDestinoID)) && (!guia.RevisarSiTieneEstadoHistoricoBuscado(6, 1, agenciaDestinoID)) && (!guia.EsGuiaAnulada(guia.GuiaID)) && (!guia.RevisarSiTieneEstadoHistoricoBuscadoSinAgencia(7, 4)))
                    {
                        #region Remito en cuenta corriente
                        if (guia.TipoGuia.Equals("R") && guia.GuiaTieneFPD() && guia.RemitoEstaFacturado() == false)
                        {
                            /* VSA: Controlar si el remito original se pasó a cuenta corriente -> Generar remito no factura. */
                            GuiaPasajeACtaCte oDatos = new GuiaPasajeACtaCte();
                            oDatos.GuiaID = guia.GuiaID;
                            oDatos.Consultar();
                            if (oDatos.ClienteIDNuevo != 0 && oDatos.ClienteIDAnt == 0)
                            {
                                guia.OFactura = new Factura();
                                guia.OFactura.ClasificacionFacturaID = (int)SisPack.ClasificacionFactura.Remito;
                                guia.OFactura.ClienteID       = oDatos.ClienteIDNuevo;
                                guia.OFactura.CondicionPagoID = (int)NegociosSisPackInterface.SisPack.CondicionPago.CuentaCorriente;

                                Cliente cliente = new Cliente();
                                cliente.ClienteID = oDatos.ClienteIDNuevo;
                                cliente.Consultar();
                                guia.OFactura.CondicionIVAAgentePago = (int)cliente.CondicionIva;
                                guia.OFactura.NroCUITAgentePago      = cliente.NroCuit;
                            }
                            oDatos = null;
                        }
                        #endregion

                        /*16/05/2012: Si la guia va a un punto de recepcion ajeno debo buscar cual es la agencia de referencia de redespacho para que se conforme para dicha agencia*/
                        //int agenciaDestinoID = 0;
                        //if (guia.PuntoRecepcionID > 0)
                        //{
                        //    PuntoRecepcion puntoRecepcion = new PuntoRecepcion();
                        //    puntoRecepcion.PuntoRecepcionID = guia.PuntoRecepcionID;
                        //    puntoRecepcion.Consultar();
                        //    if (puntoRecepcion.AgenciaReferenciaRedespacho > 0)
                        //        agenciaDestinoID = puntoRecepcion.AgenciaReferenciaRedespacho;
                        //    else
                        //        // Si en el caso que el punto de recepcion no tuviera agencia de referencia de redespacho, coloco como conformada a la agencia origen de la guia.
                        //        agenciaDestinoID = guia.AgenciaOrigenID;
                        //}
                        //else
                        //    agenciaDestinoID = guia.AgenciaDestinoID;

                        if (!guia.Entregada("Guía conformada por proceso de Recepción de Conformadas", agenciaDestinoID, transaccion, usuario))
                        {
                            new Exception("La guía " + guia.TipoGuia + " - " + guia.NroSucursalGuia + " - " + guia.NroGuia + " no se puede conformar correctamente.");
                        }
                    }

                    int lote = guia.RecibidaControlada("", agenciaConectadaID, usuario, this.CajaID, cantGuias, transaccion);

                    if (lote == 0) /* La guía ya se almacenó rollback */
                    {
                        new Exception("La guía " + guia.TipoGuia + " - " + guia.NroSucursalGuia + " - " + guia.NroGuia + " ya está almacenada en otra caja.");
                    }
                    else
                    {
                        if (nroRemito != string.Empty) // si el remito es string.Empty es que no se selecciono para confirmar servicio
                        {
                            //Diego Guardo la confirmacion del servicio
                            guiaServicio.Fecha     = DateTime.Now;
                            guiaServicio.AgenciaID = agenciaConectadaID;
                            guiaServicio.GuiaID    = guia.GuiaID;
                            guiaServicio.NroRemito = nroRemito;
                            guiaServicio.UsuarioID = usuario.UsuarioID;
                            guiaServicio.GuardarConfirmacion(transaccion);
                        }
                    }

                    transaccion.Commit();
                    return(lote);
                }
                catch (Exception ex)
                {
                    transaccion.Rollback();
                    throw ex;
                }
            }
        }