public void AgregarSolicitudEntrega(SolicitudEntrega S, UsuarioEmpleado ULogueado)
        {
            SqlConnection oConexion = new SqlConnection(Conexion.Cnn(ULogueado));

            SqlCommand oComando = new SqlCommand("SolicitudesDeEntregaAlta", oConexion);

            oComando.CommandType = CommandType.StoredProcedure;

            SqlParameter _fechaEntrega = new SqlParameter("@FechaDeEntrega", S.FechaEntrega);
            SqlParameter _nomDest      = new SqlParameter("@NombreDestinatario", S.NombreDestinatario);
            SqlParameter _dirDest      = new SqlParameter("@DireccionDestinatario", S.DireccionDestinatario);
            SqlParameter _nomUsuEmp    = new SqlParameter("@NombreUsuarioEmpleado", S.Empleado.NombreUsuario);
            SqlParameter _Retorno      = new SqlParameter("@Retorno", SqlDbType.Int);

            _Retorno.Direction = ParameterDirection.ReturnValue;

            oComando.Parameters.Add(_fechaEntrega);
            oComando.Parameters.Add(_nomDest);
            oComando.Parameters.Add(_dirDest);
            oComando.Parameters.Add(_nomUsuEmp);
            oComando.Parameters.Add(_Retorno);

            SqlTransaction _miTransaccion = null;

            try
            {
                oConexion.Open();
                _miTransaccion = oConexion.BeginTransaction();

                oComando.Transaction = _miTransaccion;
                oComando.ExecuteNonQuery();


                int numeroInterno = Convert.ToInt32(_Retorno.Value);

                if (numeroInterno == -1)
                {
                    throw new Exception(" El usuario que intenta asociar a la factura no existe ");
                }

                foreach (Paquete unPaquete in S.ListaPaquete)
                {
                    PersistenciaSolicitudPaquete.GetInstancia().AltaSolicitudPaquete(numeroInterno, unPaquete.CodigoBarras, _miTransaccion);
                }


                _miTransaccion.Commit();
            }
            catch (Exception ex)
            {
                _miTransaccion.Rollback();
                throw ex;
            }
            finally
            {
                oConexion.Close();
            }
        }
示例#2
0
        public void AgregarSolicitudEntrega(SolicitudEntrega S, UsuarioEmpleado ULogueado)
        {
            if (DateTime.Now > S.FechaEntrega)
            {
                throw new Exception("La fecha de entrega no puede ser anterior a la actual");
            }

            Persistencia.Fabrica.GetPS().AgregarSolicitudEntrega(S, ULogueado);
        }
示例#3
0
    protected void btnAgregar_Click(object sender, EventArgs e)
    {
        SolicitudEntrega sol_ent = null;

        try
        {
            UsuarioEmpleado usuemp        = (UsuarioEmpleado)Session["Usuario"];
            List <Paquete>  paquetes      = (List <Paquete>)Session["PaqueteSeleccion"];
            DateTime        fecha_entrega = Convert.ToDateTime(txtFecha.Text);
            string          nombre_dest   = txtNombre.Text;
            string          direccion     = txtDireccion.Text;

            sol_ent = new SolicitudEntrega
            {
                NumeroInterno         = 0,
                FechaEntrega          = fecha_entrega,
                NombreDestinatario    = nombre_dest,
                DireccionDestinatario = direccion,
                Estado       = "En Depósito",
                Empleado     = usuemp,
                ListaPaquete = paquetes.ToArray()
            };
        }
        catch (Exception ex)
        {
            lblMensaje.Text = ex.Message;
        }

        try
        {
            new ServicioClient().AgregarSolicitudEntrega(sol_ent, sol_ent.Empleado);
            lblMensaje.Text   = "Solicitud de entrega agregada con éxito";
            txtNombre.Text    = "";
            txtDireccion.Text = "";
            txtFecha.Text     = "";
            List <Paquete> lista_paq_sin_asignar = (List <Paquete>)Session["Paquetes"];
            grvPaquetes.DataSource = lista_paq_sin_asignar;
            grvPaquetes.DataBind();
            btnAgregar.Enabled          = false;
            Session["PaqueteSeleccion"] = new List <Paquete>();
            List <Paquete> lista_paq_asignados = (List <Paquete>)Session["PaqueteSeleccion"];
            grvAsignados.DataSource = lista_paq_asignados;
            grvAsignados.DataBind();
        }
        catch (Exception ex)
        {
            lblMensaje.Text = ex.Message;
        }
    }
        public List <SolicitudEntrega> ListarSolicitudEntregaEmpresaLogueada(UsuarioEmpresa ULogueado)
        {
            SqlConnection oConexion = new SqlConnection(Conexion.Cnn(ULogueado));

            SqlCommand oComando = new SqlCommand("SolicitudesDeEntregaListarPorEmpresa", oConexion);

            oComando.CommandType = CommandType.StoredProcedure;
            SqlParameter _nomUsu = new SqlParameter("@NombreUsuario", ULogueado.NombreUsuario);

            oComando.Parameters.Add(_nomUsu);



            List <SolicitudEntrega> listSolicitud = new List <SolicitudEntrega>();

            try
            {
                oConexion.Open();
                SqlDataReader dr = oComando.ExecuteReader();

                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        int              numInt       = (int)dr["NumeroInterno"];
                        DateTime         fechaEntr    = (DateTime)dr["FechaDeEntrega"];
                        string           nombreDest   = dr["NombreDestinatario"].ToString();
                        string           dirDesti     = dr["DireccionDestinatario"].ToString();
                        string           estado       = dr["EstadoSolicitud"].ToString();
                        string           usuEmp       = dr["NombreUsuarioEmpleado"].ToString();
                        UsuarioEmpleado  empleado     = PersistenciaUsuarioEmpleado.GetInstancia().BuscarUsuarioEmpleadoTodos(usuEmp, ULogueado);
                        List <Paquete>   listaPaquete = PersistenciaSolicitudPaquete.GetInstancia().ListarPaquetesEnSolicitud(numInt, ULogueado);
                        SolicitudEntrega solicitud    = new SolicitudEntrega(numInt, fechaEntr, nombreDest, dirDesti, estado, empleado, listaPaquete);

                        listSolicitud.Add(solicitud);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                oConexion.Close();
            }

            return(listSolicitud);
        }
        public SolicitudEntrega BuscarSolicitudEntrega(int pNumeroInterno, UsuarioEmpleado ULogueado)
        {
            SqlConnection oConexion = new SqlConnection(Conexion.Cnn(ULogueado));

            SqlCommand oComando = new SqlCommand("SolicitudesDeEntregaBuscar", oConexion);

            oComando.CommandType = CommandType.StoredProcedure;

            SqlParameter _numInt  = new SqlParameter("@NumeroInterno", pNumeroInterno);
            SqlParameter _Retorno = new SqlParameter("@Retorno", SqlDbType.Int);

            _Retorno.Direction = ParameterDirection.ReturnValue;

            oComando.Parameters.Add(_numInt);
            oComando.Parameters.Add(_Retorno);

            SolicitudEntrega solicitud = null;

            try
            {
                oConexion.Open();
                SqlDataReader dr = oComando.ExecuteReader();

                if (dr.HasRows)
                {
                    dr.Read();

                    DateTime        fechaEntr    = (DateTime)dr["FechaDeEntrega"];
                    string          nombreDest   = dr["NombreDestinatario"].ToString();
                    string          dirDesti     = dr["DireccionDestinatario"].ToString();
                    string          estado       = dr["EstadoSolicitud"].ToString();
                    string          usuEmp       = dr["NombreUsuarioEmpleado"].ToString();
                    UsuarioEmpleado empleado     = PersistenciaUsuarioEmpleado.GetInstancia().BuscarUsuarioEmpleadoTodos(usuEmp, ULogueado);
                    List <Paquete>  listaPaquete = PersistenciaSolicitudPaquete.GetInstancia().ListarPaquetesEnSolicitud(pNumeroInterno, ULogueado);
                    solicitud = new SolicitudEntrega(pNumeroInterno, fechaEntr, nombreDest, dirDesti, estado, empleado, listaPaquete);

                    dr.Close();
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                oConexion.Close();
            }
            return(solicitud);
        }
        public void Agregar(SolicitudEntrega solicitud)
        {
            Conexion.Conectar();
            SqlCommand cmd = new SqlCommand("sp_AgregarSolicitudDeEntrega", Conexion.cnn);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("Nombre", solicitud.Nombre);
            cmd.Parameters.AddWithValue("Direccion", solicitud.Direccion);
            cmd.Parameters.AddWithValue("fechaEntrega", solicitud.FechaEntrega);
            cmd.Parameters.AddWithValue("Estado", solicitud.Estado);
            cmd.Parameters.AddWithValue("Usuario", solicitud.Empleado.Usuario);
            cmd.Parameters.AddWithValue("Numero", solicitud.Paquete.Numero);
            cmd.Parameters.AddWithValue("Rut", solicitud.Paquete.Empresa.Rut);

            SqlParameter r = new SqlParameter();

            r.Direction = System.Data.ParameterDirection.ReturnValue;
            cmd.Parameters.Add(r);
            try
            {
                cmd.ExecuteNonQuery();
                int retorno = Convert.ToInt32(r.Value);
                if (retorno == -1)
                {
                    throw new Exception("Ya tiene solicitud de entrega");
                }
                else if (retorno == -2)
                {
                    throw new Exception("Paquete no existe. ");
                }
                else if (retorno == -3)
                {
                    throw new Exception("No existe usuario");
                }
                else if (retorno != 1)
                {
                    throw new Exception("Error ");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                Conexion.Desconectar();
            }
        }
        public void ModificarEstadoSolicitudEntrega(SolicitudEntrega S, UsuarioEmpleado ULogueado)
        {
            SqlConnection oConexion = new SqlConnection(Conexion.Cnn(ULogueado));

            SqlCommand oComando = new SqlCommand("SolicitudesDeEntregaModificarEstado", oConexion);

            oComando.CommandType = CommandType.StoredProcedure;

            SqlParameter _numeroInterno = new SqlParameter("@NumeroInterno", S.NumeroInterno);
            SqlParameter _Retorno       = new SqlParameter("@Retorno", SqlDbType.Int);

            _Retorno.Direction = ParameterDirection.ReturnValue;

            oComando.Parameters.Add(_numeroInterno);
            oComando.Parameters.Add(_Retorno);

            try
            {
                oConexion.Open();
                oComando.ExecuteNonQuery();
                int return_value = Convert.ToInt32(_Retorno.Value);


                if (return_value == -1)
                {
                    throw new Exception(" La solicitud que intenta modificar no existe ");
                }
                if (return_value == -2)
                {
                    throw new Exception(" Ha habido un error al intentar modificar la solicitud ");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                oConexion.Close();
            }
        }
        public List <SolicitudEntrega> BuscarSolicitudesPorFecha(DateTime fecha)
        {
            SqlConnection cnn = new SqlConnection(Conexion.connectionString);

            cnn.Open();
            SqlCommand cmd = new SqlCommand("sp_BuscarSolicitudPorFecha", cnn);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("Fecha", fecha);
            SqlDataReader           dr;
            List <SolicitudEntrega> Lista = new List <SolicitudEntrega>();

            try
            {
                dr = cmd.ExecuteReader();

                while (dr.Read())
                {
                    PerEmpleado      perEmp    = new PerEmpleado();
                    Empleado         emp       = perEmp.BuscarEmpleado(dr["Usuario"].ToString());
                    PerPaquetes      perPaq    = new PerPaquetes();
                    Paquete          paq       = perPaq.BuscarPaquetePorPks(Convert.ToInt32(dr["Rut"]), Convert.ToInt32(dr["Numero"]));
                    SolicitudEntrega solicitud = new SolicitudEntrega(Convert.ToInt32(dr["NumeroSistema"]), dr["Nombre"].ToString(),
                                                                      dr["Direccion"].ToString(), Convert.ToDateTime(dr["FechaEntrega"]),
                                                                      dr["Estado"].ToString(), emp, paq);
                    Lista.Add(solicitud);
                }
                dr.Close();
            }
            catch
            {
                throw new Exception("Debe de ingresar una fecha");
            }
            finally
            {
                cnn.Close();
            }
            return(Lista);
        }
        public SolicitudEntrega BuscarSolicitudesDeEntrega(Paquete paq)
        {
            SqlConnection cnn = new SqlConnection(Conexion.connectionString);

            cnn.Open();

            PerEmpresa       perempresa = new PerEmpresa();
            SolicitudEntrega solicitud  = null;

            SqlCommand cmd = new SqlCommand("sp_BuscarSolicitudDeEntrega", cnn);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("Rut", paq.Empresa.Rut);
            cmd.Parameters.AddWithValue("Numero", paq.Numero);
            try
            {
                SqlDataReader dr = cmd.ExecuteReader();

                while (dr.Read())
                {
                    PerEmpleado perEmp   = new PerEmpleado();
                    Empleado    empleado = perEmp.BuscarEmpleado(dr["Usuario"].ToString());
                    solicitud = new SolicitudEntrega(Convert.ToInt32(dr["NumeroSistema"]), dr["Nombre"].ToString(), dr["Direccion"].ToString(), Convert.ToDateTime(dr["FechaEntrega"]), dr["Estado"].ToString(), empleado, paq);
                }
                dr.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                cnn.Close();
            }
            return(solicitud);
        }
        public void CambiarEstado(SolicitudEntrega solicitud)
        {
            Conexion.Conectar();
            SqlCommand cmd = new SqlCommand("sp_CambiarEstadoDeSolicitud", Conexion.cnn);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("NumerodeSistema", solicitud.NumeroSistema);
            SqlParameter r = new SqlParameter();

            r.Direction = System.Data.ParameterDirection.ReturnValue;
            cmd.Parameters.Add(r);
            try
            {
                cmd.ExecuteNonQuery();
                int retorno = Convert.ToInt32(r.Value);
                if (retorno == -1)
                {
                    throw new Exception("No existe la solicitud de entrega");
                }
                else if (retorno == -2)
                {
                    throw new Exception("No puedes cambiar el estado a un paquete entregado ");
                }
                else if (retorno != 1)
                {
                    throw new Exception("Error ");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                Conexion.Desconectar();
            }
        }
        protected void grdPaquete_SelectedIndexChanged(object sender, EventArgs e)
        {
            lblError.Text     = string.Empty;
            lblSolicitud.Text = string.Empty;
            lblTitulo.Text    = string.Empty;

            LogPaquetes logP = new LogPaquetes();
            Empresa     emp  = (Empresa)Session["Empresa"];

            Session["Paquete"] = logP.BuscarPaquetePorPks(emp.Rut, Convert.ToInt32(grdPaquete.SelectedRow.Cells[0].Text));

            LogSolicitudEntrega logSol    = new LogSolicitudEntrega();
            SolicitudEntrega    solicitud = logSol.BuscarSolicitudDeEntrega((Paquete)Session["Paquete"]);

            if (solicitud == null)
            {
                lblSolicitud.Text = "El paquete no tiene solicitud";
            }
            else
            {
                lblTitulo.Text    = "Solcitud de Entrega";
                lblSolicitud.Text = solicitud.ToString();
            }
        }
示例#12
0
        protected void btnConfirmar_Click(object sender, EventArgs e)
        {
            try
            {
                Empleado emp     = (Empleado)Session["Usuario"];
                Paquete  paquete = (Paquete)Session["Paquete"];

                SolicitudEntrega    solicitud = new SolicitudEntrega(0, txtNombre.Text, txtDireccion.Text, cldFecha.SelectedDate, "Deposito", emp, paquete);
                LogSolicitudEntrega log       = new LogSolicitudEntrega();
                log.Agregar(solicitud);

                lblMensaje.Text = "Solicitud Agregada ";
                ListarPaquetesSinSolicitud();
                DesactivarCajas();
                Limpiar();
                lblEmpresa.Text = string.Empty;
                lblError.Text   = string.Empty;
                lblTitulo.Text  = string.Empty;
            }
            catch (Exception ex)
            {
                lblError.Text = ex.Message;
            }
        }
示例#13
0
 public void ModificarEstadoSolicitudEntrega(SolicitudEntrega S, UsuarioEmpleado ULogueado)
 {
     Persistencia.Fabrica.GetPS().ModificarEstadoSolicitudEntrega(S, ULogueado);
 }
示例#14
0
 public void CambiarEstado(SolicitudEntrega solicitud)
 {
     persistencia.CambiarEstado(solicitud);
 }
示例#15
0
 public void Agregar(SolicitudEntrega solicitud)
 {
     persistencia.Agregar(solicitud);
 }
 void IServicio.ModificarEstadoSolicitudEntrega(SolicitudEntrega S, UsuarioEmpleado ULogueado)
 {
     Fabrica.GetLS().ModificarEstadoSolicitudEntrega(S, ULogueado);
 }
 void IServicio.AgregarSolicitudEntrega(SolicitudEntrega S, UsuarioEmpleado ULogueado)
 {
     Fabrica.GetLS().AgregarSolicitudEntrega(S, ULogueado);
 }