예제 #1
0
 public void Cliente_EstaActivo()
 {
     var BD = Singleton.GetInstance();
     var cliente = BD.GetClientePorID("1");
     Membresia membresia = new Membresia(DateTime.Today, DateTime.Today.AddDays(5), false);
     cliente.Membresias.Add(membresia);
     var obtenido = cliente.EstaActivo();
     Assert.AreEqual(true, obtenido);
 }
예제 #2
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);
 }
예제 #3
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;
 }
예제 #4
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");
 }
예제 #5
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);
 }
예제 #6
0
 public void Membresia_CalcularTotal()
 {
     Membresia membresia = new Membresia(DateTime.Today, DateTime.Today.AddDays(5), false);
     double obtenido = membresia.CalcularTotal();
     Assert.AreEqual(61, obtenido);
 }
예제 #7
0
        public void EsPeriodoMembresiaExcluyente()
        {
            var BD = Singleton.GetInstance();
            Membresia membresia = new Membresia(DateTime.Today.AddDays(-1), DateTime.Today.AddDays(1), true);
            var cliente = BD.GetClientePorID("1");
            cliente.Membresias.Add(membresia);

            Membresia membresiaSolapada = new Membresia(DateTime.Today, DateTime.Today.AddDays(2), true);
            var obtenido = BD.EsPeriodoMembresiaExcluyente(cliente, membresiaSolapada);
            Assert.AreEqual(false, obtenido);
        }
예제 #8
0
        public void AddGruposTrabajo()
        {
            var grupoNuevo = new GrupoTrabajo() { ID = "1", Nombre = "Grupo 1", Colaboradores = Clientes};
            GruposTrabajo.Add(grupoNuevo);
            Clientes.Where(c => c.ID.Equals("1")).First().GrupoTrabajo = grupoNuevo;
            Clientes.Where(c => c.ID.Equals("2")).First().GrupoTrabajo = grupoNuevo;
            Clientes.Where(c => c.ID.Equals("3")).First().GrupoTrabajo = grupoNuevo;

            Membresia membresia = new Membresia(DateTime.Today, DateTime.Today.AddDays(5), false);
            Clientes.Where(c => c.ID.Equals("1")).First().Membresias.Add(membresia);
        }
예제 #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 bool DeleteFactura(string idCliente, Membresia membresia = null, Reserva reserva = null)
 {
     Factura factura = Facturas.Where(f => f.Cliente.ID.Equals(idCliente) && f.Reserva.Equals(reserva) && f.Membresia.Equals(membresia)).FirstOrDefault();
     if (factura != null)
     {
         Facturas.Remove(factura);
         return true;
     }
     return false;
 }