Example #1
0
        public bool EnviarNotificacionNuevaSubasta(List <string> listaMails, SubastaViewModel subastaModel)
        {
            MailMessage msg = new MailMessage();

            msg.From = new MailAddress("*****@*****.**");

            foreach (var mail in listaMails)
            {
                msg.To.Add(new MailAddress(mail));
            }

            msg.Subject = "HOME SWITCH HOME - ¡Próxima subasta en residencia de su interés!";
            msg.Body    = string.Format("Le informamos que a partir del día {0}, y durante las siguientes 72 horas, se llevará a cabo una subasta en la residencia {1}. ", subastaModel.FechaComienzo, subastaModel.Propiedad.Nombre) +
                          string.Format("Con un valor inicial de {0} USD. ¡Esperamos contar con usted! Atte. Equipo de Home Switch Home.", subastaModel.ValorMinimo);
            try
            {
                client.Send(msg);
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
            finally
            {
                msg.Dispose();
            }
        }
        public JsonResult CrearSubasta(string propiedad, string valorMinimo, string fechaComienzo, string fechaReserva)
        {
            SUBASTA nuevaSubasta = new SUBASTA();

            nuevaSubasta.IdPropiedad   = Int32.Parse(propiedad);
            nuevaSubasta.FechaComienzo = DateTime.Parse(fechaComienzo);
            nuevaSubasta.FechaReserva  = DateTime.Parse(fechaReserva);
            nuevaSubasta.ValorMinimo   = Convert.ToDecimal(valorMinimo);
            nuevaSubasta.Estado        = "NUEVO";

            var mensaje = this.servicioSubasta.CrearSubasta(nuevaSubasta);

            if (mensaje != "OK")
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(Json(mensaje, JsonRequestBehavior.AllowGet));
            }

            var           clientesNotificar = this.servicioPropiedad.ObtenerNotificaciones(nuevaSubasta.IdPropiedad);
            List <string> clientes          = new List <string>();
            var           subastaModel      = new SubastaViewModel().ToViewModel(nuevaSubasta);

            subastaModel.Propiedad = this.servicioPropiedad.ObtenerPropiedades().Where(t => t.IdPropiedad == subastaModel.IdPropiedad).SingleOrDefault();

            foreach (var notificacion in clientesNotificar)
            {
                clientes.Add(notificacion.CLIENTE.Email);
            }


            this.servicioMail.EnviarNotificacionNuevaSubasta(clientes, subastaModel);
            return(this.SubastasSinEmpezar());
        }
Example #3
0
        public bool EnviarMailGanoSubasta(SubastaViewModel subastaModel)
        {
            MailMessage msg = new MailMessage();

            msg.From = new MailAddress("*****@*****.**");
            msg.To.Add(new MailAddress(subastaModel.Cliente.Email));
            msg.Subject = "HOME SWITCH HOME - ¡Ha ganado la subasta!";
            msg.Body    = string.Format("Felicitaciones {0}, usted ha resultado vencedor de la subasta de la residencia {1} en el sistema HOME SWITCH HOME.", subastaModel.Cliente.Nombre, subastaModel.Propiedad.Nombre) +
                          string.Format("Su reserva comienza el día {0}. ¡Que la disfrute! Atte. Equipo de Home Switch Home.", subastaModel.FechaReserva);
            try
            {
                client.Send(msg);
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
            finally
            {
                msg.Dispose();
            }
        }
Example #4
0
        private List <SubastaViewModel> ObtenerSubastas()
        {
            List <SubastaViewModel> subastasActuales;

            if (!CacheHomeSwitchHome.ExistOnCache("Subastas"))
            {
                subastasActuales = new List <SubastaViewModel>();
                var subastasBD = HomeSwitchDB.SUBASTA.ToList();


                foreach (var subasta in subastasBD)
                {
                    var vistaSubasta = new SubastaViewModel().ToViewModel(subasta);

                    if (vistaSubasta.Propiedad == null)
                    {
                        var propiedadModelo = HomeSwitchDB.PROPIEDAD.SingleOrDefault(t => t.IdPropiedad == vistaSubasta.IdPropiedad);
                        vistaSubasta.Propiedad = new PropiedadViewModel().ToViewModel(propiedadModelo);
                    }

                    if (vistaSubasta.IdCliente != null && vistaSubasta.Cliente == null)
                    {
                        var clienteModelo = HomeSwitchDB.CLIENTE.SingleOrDefault(t => t.IdCliente == vistaSubasta.IdCliente);
                        vistaSubasta.Cliente = new ClienteViewModel().ToViewModel(clienteModelo);
                    }

                    subastasActuales.Add(vistaSubasta);
                }

                CacheHomeSwitchHome.SaveToCache("Subastas", subastasActuales);
            }

            subastasActuales = (List <SubastaViewModel>)CacheHomeSwitchHome.GetFromCache("Subastas");

            return(subastasActuales);
        }
Example #5
0
        public bool EnviarNotificacionNuevoHotSale(List <ClienteViewModel> listaClientes, SubastaViewModel subastaModel)
        {
            MailMessage msg = new MailMessage();

            msg.From = new MailAddress("*****@*****.**");

            foreach (var cliente in listaClientes)
            {
                msg.To.Add(new MailAddress(cliente.Email));
            }

            msg.Subject = "HOME SWITCH HOME - ¡Próximo HOT SALE en residencia de su interés!";
            msg.Body    = string.Format("Le informamos que a partir del día {0}, dará comienzo el HOT SALE en la residencia {1}. ", subastaModel.FechaComienzo, subastaModel.Propiedad.Nombre) +
                          string.Format("¡Esperemos contar con usted! Atte. Equipo de Home Switch Home.", subastaModel.FechaReserva);
            try
            {
                client.Send(msg);
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
            finally
            {
                msg.Dispose();
            }
        }