Пример #1
0
        public List <NotificacionOrden> GetSolicitantesOrden(OCOrdenCompra orden, string tipo_autorizacion_sg)
        {
            List <NotificacionOrden> ldoc = new List <NotificacionOrden>();

            try
            {
                CapaDatos.StoreProcedure consulta = new CapaDatos.StoreProcedure("[lafarnet].[dbo].[sp_get_solicitantes_orden]");
                consulta.AgregarParametro("@codigo_orden", orden.codigo_orden);
                DataTable dt = consulta.RealizarConsulta(Parametros.ConexionBDSAP());

                foreach (DataRow item in dt.Rows)
                {
                    NotificacionOrden a = new NotificacionOrden
                    {
                        codigo_solicitud = (item["codigo_solicitud"]).ToString(),
                        codigo_orden     = (item["codigo_orden"]).ToString(),
                        solicitante      = (item["solicitante"]).ToString(),
                        autorizador      = (item["autorizador"]).ToString()
                    };
                    ldoc.Add(a);

                    SCUsuarios solicitante = new SCUsuarios();
                    SCUsuarios autorizador = new SCUsuarios();
                    solicitante = new UsuariosNegocio().GetUsuariosPorUsername(a.solicitante);
                    autorizador = new UsuariosNegocio().GetUsuariosPorUsername(a.autorizador);

                    Email email = new Email();
                    email.From    = "*****@*****.**";
                    email.To      = "*****@*****.**"; //solicitante.email; // -- Colocar este valor en producción
                    email.Subject = "Sistema de Compras";

                    switch (tipo_autorizacion_sg)
                    {
                    case "X":
                        email.Body = comunes.bodyEmailAnularOrden(solicitante, a, orden);     //"Se ha creado una nueva solicitud de compra para su autorización";
                        break;

                    case "R":
                        email.Body = comunes.bodyEmailRechazarOrden(solicitante, a, orden);
                        break;

                    case "A":
                        email.Body = comunes.bodyEmailAprobarOrden(solicitante, a, orden);
                        break;
                    }

                    comunes.enviarEmail(email);
                }
                return(ldoc);
            }
            catch (Exception ex)
            {
                return(ldoc);
            }
        }
Пример #2
0
        public Boolean Autorizar(RequestAutorizacionSolicitud s)
        {
            if (s.motivo_autorizacion_superior == null)
            {
                s.motivo_autorizacion_superior = "NA";
            }
            try
            {
                CapaDatos.StoreProcedure consultaMS = new CapaDatos.StoreProcedure("sp_aprobar_o_rechazar_solicitud");
                consultaMS.AgregarParametro("@codigo_solicitud", s.codigo_solicitud);
                consultaMS.AgregarParametro("@motivo_autorizacion_superior", s.motivo_autorizacion_superior);
                consultaMS.AgregarParametro("@estado_autorizacion", s.estado_autorizacion);
                consultaMS.AgregarParametro("@autorizador", s.autorizador);
                DataTable dtMS = consultaMS.RealizarConsulta(Parametros.ConexionBDSAP());

                SolicitudCompra sc = new SolicitudCompra();
                sc = this.GetSolicitudXCodigo(s.codigo_solicitud);

                SCUsuarios solicitante = new SCUsuarios();
                SCUsuarios autorizador = new SCUsuarios();

                solicitante = new UsuariosNegocio().GetUsuariosPorUsername(sc.solicitante);
                autorizador = new UsuariosNegocio().GetUsuariosPorUsername(s.autorizador);

                SCSolicitudCompraComunes comunes = new SCSolicitudCompraComunes();

                Email email = new Email();
                email.From = autorizador.email;
                email.To   = "*****@*****.**"; // solicitante.email;  // -- Colocar este valor en producción

                if (s.estado_autorizacion == "A")
                {
                    email.Subject = "Solicitud de Compra Aprobada";
                    email.Body    = comunes.bodyEmailAprobarSolicitud(autorizador, solicitante, s.codigo_solicitud); //"Se ha anulado una solicitud"
                }
                else
                {
                    email.Subject = "Solicitud de Compra Rechazada";
                    email.Body    = comunes.bodyEmailRechazarSolicitud(autorizador, solicitante, s.codigo_solicitud, s.motivo_autorizacion_superior); //"Se ha anulado una solicitud"
                }

                comunes.enviarEmail(email);
                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Пример #3
0
        public Boolean Add(SolicitudCompra s)
        {
            try
            {
                CapaDatos.StoreProcedure consulta = new CapaDatos.StoreProcedure("sp_solicitud_insert");
                consulta.AgregarParametro("@codigo", s.codigo);
                consulta.AgregarParametro("@tipo", s.tipo);
                consulta.AgregarParametro("@estado", s.estado);
                consulta.AgregarParametro("@estado_transferencia", s.estado_transferencia);
                consulta.AgregarParametro("@fecha", DateTime.Now);
                consulta.AgregarParametro("@motivo", s.motivo);
                consulta.AgregarParametro("@usuario_anulacion", s.usuario_anulacion);
                consulta.AgregarParametro("@motivo_anulacion", s.motivo_anulacion);
                consulta.AgregarParametro("@fecha_anulacion", DateTime.Now);
                consulta.AgregarParametro("@solicitante", s.solicitante);
                consulta.AgregarParametro("@autorizador", s.autorizador);
                consulta.AgregarParametro("@estado_autorizacion_superior", s.estado_autorizacion_superior);
                consulta.AgregarParametro("@fecha_autorizacion_superior", DateTime.Now);
                consulta.AgregarParametro("@motivo_autorizacion", s.motivo_autorizacion);
                consulta.AgregarParametro("@tipo_compra", s.tipo_compra);
                consulta.AgregarParametro("@codigo_proveedor", s.codigo_proveedor);
                consulta.AgregarParametro("@nombre_proveedor", s.nombre_proveedor);
                consulta.AgregarParametro("@usuario_creacion", s.usuario_creacion);
                consulta.AgregarParametro("@fecha_creacion", DateTime.Now);
                consulta.AgregarParametro("@usuario_modificacion", s.usuario_modificacion);
                consulta.AgregarParametro("@fecha_modificacion", DateTime.Now);
                DataTable  dt          = consulta.RealizarConsulta(Parametros.ConexionBDSAP());
                SCUsuarios solicitante = new SCUsuarios();
                SCUsuarios autorizador = new SCUsuarios();
                solicitante = new UsuariosNegocio().GetUsuariosPorUsername(s.solicitante);
                autorizador = new UsuariosNegocio().GetUsuariosPorUsername(s.autorizador);

                SCSolicitudCompraComunes comunes = new SCSolicitudCompraComunes();

                Email email = new Email();
                email.From    = solicitante.email;
                email.To      = "*****@*****.**";                                                  // autorizador.email;  -- Colocar este valor en producción
                email.Subject = "Solicitud de Compra";
                email.Body    = comunes.bodyEmailNuevaSolicitud(autorizador, solicitante, s.codigo); //"Se ha creado una nueva solicitud de compra para su autorización";

                comunes.enviarEmail(email);
                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }