public async Task CreateAsync(Usuario usuario)
        {
            try
            {
                var c = crudUsuario.Exists <Usuario>(usuario);

                if (c != null)
                {
                    // Ya existe un usuario con esos datos
                    throw new BussinessException(10);
                }

                crudUsuario.Create(usuario);

                var mng = new Rol_UsuarioManager();
                foreach (string rol in usuario.Roles)
                {
                    var rolUsuario = new Rol_Usuario
                    {
                        IdRol     = rol,
                        IdUsuario = usuario.Identificacion
                    };

                    mng.Create(rolUsuario);
                }

                Response response = await EnviarCorreoManager.GetInstance().ExecuteVerificacionUsuario(usuario);
            }
            catch (Exception ex)
            {
                ExceptionManager.GetInstance().Process(ex);
            }
        }
        public async Task RestablecerContrasennaAsync(Usuario usuario)
        {
            try
            {
                Usuario us = crudUsuario.Retrieve <Usuario>(usuario);
                if (us == null)
                {
                    //El usuario no existe
                    throw new BussinessException(12);
                }
                else if (!usuario.Correo.Equals(us.Correo))
                {
                    //Datos incorrectos
                    throw new BussinessException(6);
                }
                else
                {
                    string nuevaContrasenna = RandomString(8);
                    us.Contrasenna = nuevaContrasenna;
                    crudUsuario.UpdateContrasenna(us);

                    Response response = await EnviarCorreoManager.GetInstance().ExecuteRestablecerContrasenna(us);
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.GetInstance().Process(ex);
            }
        }
 public static EnviarCorreoManager GetInstance()
 {
     if (instance == null)
     {
         instance = new EnviarCorreoManager();
     }
     return(instance);
 }
示例#4
0
        public async Task UpdateAsync(SolicitudHotel solicitudHotel)
        {
            //valores a modificar
            var     estadoCambio = solicitudHotel.Estado;
            decimal membrecia    = 0;

            if (solicitudHotel.Membrecia > 0)
            {
                membrecia = solicitudHotel.Membrecia;
            }

            var hotelEnviado = new SolicitudHotel
            {
                CodigoSolicitud = solicitudHotel.CodigoSolicitud
            };



            SolicitudHotel c = null;

            c = crudSolicitudHotel.Retrieve <SolicitudHotel>(hotelEnviado);



            if (c != null)//si la solicitud del id existe quiero que le cambie el estado
            {
                if (estadoCambio.Equals("Aprobada"))
                {
                    if (c.Estado.Equals("Pendiente"))
                    {
                        c.Estado    = "Aprobada";
                        c.Membrecia = membrecia;
                        var respuesta = await EnviarCorreoManager.GetInstance().ExecuteCorreoSolicitudAprobada(c.CorreoUsuario, c);
                    }
                }
                else if (estadoCambio.Equals("Rechazada"))
                {
                    if (c.Estado.Equals("Pendiente"))
                    {
                        c.Estado    = "Rechazada";
                        c.Membrecia = 0;

                        var respuesta = await EnviarCorreoManager.GetInstance().ExecuteCorreoSolicitudRechazada(c.CorreoUsuario, c);
                    }
                }
                else
                {
                }
                crudSolicitudHotel.Update(c);
            }
            else
            {
                throw new BussinessException(55);
            }
        }
示例#5
0
        public async Task CreatePdfAsync()
        {
            var hotel = new Hotel()
            {
                Nombre         = "Marriott los sueños",
                CedulaJuridica = "12345678945",
                Correo         = "*****@*****.**",
                Direccion      = "200 mtrs al norte de la escuela de San Pedro, posfhksf kjsadhfk sjh fksh dflsjdl"
            };

            var cliente = new Usuario()
            {
                PrimerNombre    = "Daniel",
                PrimerApellido  = "Herrera",
                SegundoApellido = "Peraza",
                Identificacion  = "115800345",
                Correo          = "*****@*****.**",
                DireccionExacta = "Frente a la municipalidad"
            };

            var detalles = new ArrayList()
            {
                new LineaDetalleFactura()
                {
                    Nombre   = "Inscripción hotel",
                    Precio   = 2500,
                    Cantidad = 1,
                    SubTotal = 2500,
                    Impuesto = 10,
                    Total    = 2750
                },
                new LineaDetalleFactura()
                {
                    Nombre   = "Servicio al cuarto",
                    Precio   = 500,
                    Cantidad = 2,
                    SubTotal = 1000,
                    Impuesto = 10,
                    Total    = 1100
                }
            };

            var numeroFactura      = "17";
            var descripcionFactura = "Inscripción de hotel";

            await PdfManager.Create(numeroFactura, descripcionFactura, detalles, hotel, cliente);

            await EnviarCorreoManager.GetInstance().ExecuteEnviarFactura(cliente.Correo, numeroFactura);
        }
        public static async Task Create(string numeroFactura, string descripcion, ArrayList detalles, Hotel hotel, Usuario cliente)
        {
            var    writer     = new PdfWriter(DEST + numeroFactura + ".pdf");
            var    pdf        = new PdfDocument(writer);
            var    document   = new Document(pdf);
            var    font       = PdfFontFactory.CreateFont(StandardFonts.TIMES_ROMAN);
            var    bold       = PdfFontFactory.CreateFont(StandardFonts.TIMES_BOLD, true);
            string numFactura = "Factura " + numeroFactura;

            // Header
            document.Add(
                new Paragraph()
                .SetTextAlignment(TextAlignment.RIGHT)
                .SetMultipliedLeading(1)
                .Add(new Text(String.Format("{0} \n", numFactura))
                     .SetFont(bold).SetFontSize(14))
                .Add(DateTime.Now.ToString("dd/MM/yyyy"))
                );

            var logo = new Image(ImageDataFactory.Create("https://res.cloudinary.com/datatek/image/upload/v1565550484/Imagenes%20default/WhatsApp_Image_2019-08-11_at_1.02.53_PM_s8xxeq.jpg"))
                       .SetHorizontalAlignment(HorizontalAlignment.CENTER);

            document.Add(logo);

            // Motivo de factura
            document.Add(new Paragraph(String.Format("Factura por {0}", descripcion))
                         .SetFont(bold).SetFontSize(16)
                         .SetTextAlignment(TextAlignment.CENTER));

            // Partes
            document.Add(GetAddressTable(hotel, cliente, bold));

            // Detalles
            document.Add(GetLineItemTable(detalles, bold));

            // Total
            float total = 0;

            foreach (LineaDetalleFactura item in detalles)
            {
                total += item.Total;
            }
            document.Add(GetTotalsTable(total, bold));

            document.Close();


            await EnviarCorreoManager.GetInstance().ExecuteEnviarFactura(cliente.Correo, numeroFactura);
        }
        public async Task Create(LlaveQR llave)
        {
            try
            {
                var QR = new LlaveQR();
                do
                {
                    llave.CodigoQR = RandomString(8);
                    QR             = crudLlaveQR.Retrieve <LlaveQR>(llave);
                } while (QR != null);

                llave.ImagenQR = getImagenQR(llave.CodigoQR);
                crudLlaveQR.Create(llave);
                await EnviarCorreoManager.GetInstance().ExecuteCorreoCodigoQR(llave.IdUsuario, llave);
            }
            catch (Exception ex)
            {
                ExceptionManager.GetInstance().Process(ex);
            }
        }
        public async Task CreateYEnviar(LlaveQR llave, Usuario usuario)
        {
            try
            {
                UsuarioManager mngU = new UsuarioManager();
                Usuario        u    = null;
                try
                {
                    u = mngU.RetrieveAll().FindAll(FindCorreo).First <Usuario>();
                }
                catch (Exception ex)
                {
                    throw new BussinessException(12);
                }
                //validar si existe
                if (u != null)
                {
                    //validar estado del usuario
                    switch (u.ValorEstado)
                    {
                    case "3":
                        //El usuario existe pero aún no ha verificado su cuenta
                        throw new BussinessException(8);

                    case "2":
                        //El usuario existe pero su contraseña ha expirado
                        throw new BussinessException(9);

                    case "0":
                        //El usuario existe pero se encuentra inactivo
                        throw new BussinessException(9);
                    }

                    var mngRoles   = new Rol_UsuarioManager();
                    var rolUsuario = new Rol_Usuario
                    {
                        IdUsuario = u.Identificacion,
                        IdRol     = "CLT"
                    };
                    var roles = mngRoles.RetrieveAllById(rolUsuario);
                    //validar que el usuario sea un cliente

                    foreach (Rol_Usuario rol in roles)
                    {
                        if (rol.IdRol.Equals("CLT") == false)
                        {
                            throw new Exception("El usuario no es válido");
                        }
                    }


                    var QR = new LlaveQR();
                    do
                    {
                        llave.CodigoQR = RandomString(8);
                        QR             = crudLlaveQR.Retrieve <LlaveQR>(llave);
                    } while (QR != null);

                    llave.ImagenQR = getImagenQR(llave.CodigoQR);

                    crudLlaveQR.Create(llave);
                    await EnviarCorreoManager.GetInstance().ExecuteCorreoCodigoQR(u.Correo, llave);
                }
                else
                {
                    //no existe ese usuario
                    throw new BussinessException(12);
                }

                bool FindCorreo(Usuario usu)
                {
                    if (usu.Correo == usuario.Correo)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.GetInstance().Process(ex);
            }
        }