示例#1
0
        public static void EnviarEmail(List<Cliente> clientes, Reserva reserva, Cliente user)
        {
            SmtpClient SmtpServer = new SmtpClient();
            SmtpServer.Credentials = new System.Net.NetworkCredential
                        ("*****@*****.**", "colabora1234");
            SmtpServer.Port = 587;
            SmtpServer.Host = "smtp.gmail.com";
            SmtpServer.EnableSsl = true;
            var mail = new MailMessage();
            String[] addr = clientes.Select(c => c.Email).ToArray();
            try
            {
                mail.From = new MailAddress("*****@*****.**",
                "Developers", System.Text.Encoding.UTF8);
                Byte i;
                for( i = 0;i< addr.Length; i++)
                    mail.To.Add(addr[i]);
                mail.Subject = "Reserva de sala";
                mail.Body = user.Nombre + " " + user.Apellido + " te ha enviado una notificación de la reserva a la sala " + reserva.Sala.ID + ", desde " + reserva.Desde.ToShortDateString()
                    + " hasta " + reserva.Hasta.ToShortDateString();

                mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
                mail.ReplyTo = new MailAddress("*****@*****.**");
                SmtpServer.Send(mail);
            }
            catch (Exception ex){

            }
        }
示例#2
0
 public Reserva(Cliente cliente, Sala sala, DateTime fechaDesde, DateTime fechaHasta)
 {
     this.Desde = fechaDesde;
     this.Hasta = fechaHasta;
     this.Cliente = cliente;
     this.Sala = sala;
     this.SeNotifico = false;
     this.ID = cliente.ID + sala.ID + fechaDesde.Day + fechaDesde.Month + fechaDesde.Year;
 }
示例#3
0
 public ActionResult EditarCuenta(Cliente cliente, string confirmarContra, string idGrupoTrabajo, Membresia Membresia, bool membresiaOn = false)
 {
     ModelState.Remove("ID");
     ModelState.Remove("Contraseña");
     if (!membresiaOn)
     {
         ModelState.Remove("Membresia.Desde");
         ModelState.Remove("Membresia.Hasta");
     }
     if (ModelState.IsValid)
     {
         if (ValidarDatos(cliente, confirmarContra, Membresia, membresiaOn))
         {
             return ContinuarEdicionCuenta(cliente, confirmarContra, idGrupoTrabajo, Membresia, membresiaOn);
         }
     }
     CargarViewBags();
     return View(cliente);
 }
示例#4
0
 private bool ValidarDatos(Cliente cliente, string confirmarContra, Membresia Membresia, bool membresiaOn)
 {
     var ok = true;
     if (cliente.Contraseña != null && !cliente.Contraseña.Equals(confirmarContra))
     {
         ModelState.AddModelError("confirmarContra", "Las contraseñas no coinciden");
         ok = false;
     }
     if (membresiaOn && Membresia.Desde < DateTime.Today)
     {
         ModelState.AddModelError("Membresia.Desde", "La fecha desde debe ser mayoy o igual a hoy");
         ok = false;
     }
     if (membresiaOn && Membresia.Desde >= Membresia.Hasta)
     {
         ModelState.AddModelError("Membresia.Hasta", "La fecha hasta debe ser mayor a la fecha desde");
         ok = false;
     }
     if (membresiaOn && !Singleton.GetInstance().EsPeriodoMembresiaExcluyente(cliente, Membresia))
     {
         ModelState.AddModelError("Membresia.Desde", "El período de membresia debe de ser excluyente de los anteriores");
         ok = false;
     }
     return ok;
 }
示例#5
0
 private void ModificarCliente(Cliente cliente)
 {
     var clienteAModificar = Singleton.GetInstance().GetClientePorID(cliente.ID);
     clienteAModificar.Apellido = cliente.Apellido;
     if (!cliente.Contraseña.Equals(""))
         clienteAModificar.Contraseña = cliente.Contraseña;
     clienteAModificar.Direccion = cliente.Direccion;
     clienteAModificar.Email = cliente.Email;
     clienteAModificar.GrupoTrabajo = cliente.GrupoTrabajo;
     clienteAModificar.Membresias = cliente.Membresias;
     clienteAModificar.Nombre = cliente.Nombre;
 }
示例#6
0
 private ActionResult ContinuarEdicionCuenta(Cliente cliente, string confirmarContra, string idGrupoTrabajo, Membresia Membresia, bool membresiaOn)
 {
     if (idGrupoTrabajo != null)
     {
         cliente.GrupoTrabajo = Singleton.GetInstance().GetGrupoTrabajo(idGrupoTrabajo);
     }
     if (membresiaOn)
     {
         cliente.Membresias.Add(Membresia);
         Factura factura = new Factura(false)
         {
             Cliente = cliente,
             Membresia = Membresia,
             TotalAPagar = Membresia.CalcularTotal(),
             IVA = Membresia.CalcularImpuestos()
         };
         ModificarCliente(cliente);
         ViewBag.ReturnUrl = "Home";
         return View("MostrarFactura", factura);
     }
     ModificarCliente(cliente);
     return RedirectToAction("Index", "Home");
 }
示例#7
0
 public ActionResult Register(Cliente user, string confirmarContra, string idGrupoTrabajo, Membresia Membresia)
 {
     if (ModelState.IsValid)
     {
         var ok = true;
         if (!user.Contraseña.Equals(confirmarContra))
         {
             ModelState.AddModelError("confirmarContra", "Las contraseñas no coinciden");
             ok = false;
         }
         if (Singleton.GetInstance().YaExisteIDCliente(user.ID))
         {
             ModelState.AddModelError("ID", "El identificador ya existe");
             ok = false;
         }
         if (Membresia.Desde >= Membresia.Hasta)
         {
             ModelState.AddModelError("Membresia.Hasta", "La fecha hasta debe ser mayor a la fecha desde");
             ok = false;
         }
         if (ok)
         {
             if (idGrupoTrabajo != null)
             {
                 user.GrupoTrabajo = Singleton.GetInstance().GetGrupoTrabajo(idGrupoTrabajo);
             }
             user.Membresias.Add(Membresia);
             Singleton.GetInstance().Clientes.Add(user);
             Factura factura = new Factura(false)
             {
                 Cliente = user,
                 Membresia = Membresia,
                 TotalAPagar = Membresia.CalcularTotal(),
                 IVA = Membresia.CalcularImpuestos()
             };
             return View("MostrarFactura", factura);
         }
     }
     if (user.ID == null)
         user.ID = Singleton.GetInstance().GetClienteID();
     CargarViewBags();
     return View(user);
 }
示例#8
0
 public Factura GetFactura(Cliente cliente, DateTime desde, DateTime hasta)
 {
     foreach (Factura f in Facturas.Where(f => !f.EsPorReserva).ToList())
     {
         if (f.Cliente.ID.Equals(cliente.ID))
         {
             if (f.Membresia.Desde.Equals(desde) && f.Membresia.Hasta.Equals(hasta))
             {
                 return f;
             }
         }
     }
     return null;
 }
示例#9
0
 public bool EsPeriodoMembresiaExcluyente(Cliente cliente, Membresia membresia)
 {
     bool esExcluyente = true;
     foreach (var m in cliente.Membresias)
     {
         if (m.Desde < membresia.Desde && m.Hasta > membresia.Desde)
         {
             esExcluyente = false;
             break;
         }
     }
     return esExcluyente;
 }
示例#10
0
 public void AddReserva(DateTime desde, DateTime hasta, Sala sala, Cliente cliente)
 {
     Reserva reserva = new Reserva(cliente, sala, desde, hasta);
     Reservas.Add(reserva);
 }