public string AgregarReservaDesdeHotSale(ReservaViewModel reservaModelo) { var reservasCliente = this.ObtenerReservasCliente(reservaModelo.IdCliente); if (reservasCliente.Any(t => (Convert.ToDateTime(reservaModelo.FechaReserva).CompareTo(Convert.ToDateTime(t.FechaReserva)) >= 0 && Convert.ToDateTime(reservaModelo.FechaReserva).CompareTo(Convert.ToDateTime(t.FechaReserva).AddDays(7)) <= 0) || (Convert.ToDateTime(reservaModelo.FechaReserva).AddDays(7).CompareTo(Convert.ToDateTime(t.FechaReserva)) >= 0 && Convert.ToDateTime(reservaModelo.FechaReserva).AddDays(7).CompareTo(Convert.ToDateTime(t.FechaReserva).AddDays(7)) <= 0))) { return(string.Format("Ya posee una reserva en la misma semana en otra propiedad.")); } RESERVA nuevaReserva = new RESERVA(); nuevaReserva.IdCliente = reservaModelo.IdCliente; nuevaReserva.Fecha = Convert.ToDateTime(reservaModelo.FechaReserva); nuevaReserva.IdPropiedad = reservaModelo.IdPropiedad; nuevaReserva.Credito = reservaModelo.Credito; this.HomeSwitchDB.RESERVA.Add(nuevaReserva); this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Reservas"); return("OK"); }
public string CrearSubasta(SUBASTA nuevaSubasta) { List <SubastaViewModel> subastasPropiedad = this.ObtenerSubastasDePropiedad(nuevaSubasta.IdPropiedad); ReservaService servicioReserva = new ReservaService(); var reservasPropiedad = servicioReserva.ObtenerReservasPropiedad(nuevaSubasta.IdPropiedad); if (nuevaSubasta.ValorMinimo <= 0) { return(string.Format("No se pudo crear la subasta, el valor inicial para pujar debe ser mayor que 0.")); } if (nuevaSubasta.FechaReserva.CompareTo(nuevaSubasta.FechaComienzo.AddDays(3)) < 0) { return(string.Format("No se pudo crear la subasta, la semana que se desea subastar transcurre durante o antes que la subasta.")); } if (subastasPropiedad.Any(t => nuevaSubasta.FechaComienzo.CompareTo(Convert.ToDateTime(t.FechaReserva)) >= 0 && nuevaSubasta.FechaComienzo.CompareTo(Convert.ToDateTime(t.FechaReserva).AddDays(7)) <= 0)) { return(string.Format("No se pudo crear la subasta para la propiedad seleccionada, ya posee una subasta definida durante los días elegidos.")); } if (reservasPropiedad.Any(t => nuevaSubasta.FechaReserva.CompareTo(Convert.ToDateTime(t.FechaReserva)) >= 0 && nuevaSubasta.FechaReserva.CompareTo(Convert.ToDateTime(t.FechaReserva).AddDays(7)) <= 0)) { return(string.Format("No se pudo crear la subasta para la propiedad seleccionada, posee reservas confirmadas durante los días elegidos a subastar.")); } this.HomeSwitchDB.SUBASTA.Add(nuevaSubasta); this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Subastas"); return("OK"); }
public bool ConfirmarSubasta(int idSubasta) { var subastaModelo = this.HomeSwitchDB.SUBASTA.SingleOrDefault(t => t.IdSubasta == idSubasta); subastaModelo.Estado = string.Format("CONFIRMADO"); this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Subastas"); return(true); }
public bool ActualizarConMaximaPuja(PujaViewModel nuevaPuja) { var subastaModelo = this.HomeSwitchDB.SUBASTA.SingleOrDefault(t => t.IdSubasta == nuevaPuja.IdSubasta); subastaModelo.ValorMinimo = nuevaPuja.Monto; subastaModelo.IdCliente = nuevaPuja.IdCliente; this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Subastas"); return(true); }
public bool CambiarEstatusPropiedad(int idPropiedad) { var propiedadABorrar = this.HomeSwitchDB.PROPIEDAD.SingleOrDefault(t => t.IdPropiedad == idPropiedad); if (propiedadABorrar != null) { propiedadABorrar.Activa = !propiedadABorrar.Activa; this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Propiedades"); return(true); } return(false); }
public bool CancelarReserva(int idReserva) { var reservaBorrar = this.HomeSwitchDB.RESERVA.SingleOrDefault(t => t.IdReserva == idReserva); if (reservaBorrar != null) { this.HomeSwitchDB.RESERVA.Remove(reservaBorrar); this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Reservas"); return(true); } return(false); }
public bool BorrarSemanaHotSale(int idHotSale) { var hotsale = this.HomeSwitchDB.HOTSALE.Where(t => t.IdHotSale == idHotSale).SingleOrDefault(); if (hotsale != null) { this.HomeSwitchDB.HOTSALE.Remove(hotsale); this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("HotSales"); return(true); } return(false); }
public bool ModificarSemanaHotSale(int idHotSale, decimal nuevoValor) { var hotsale = this.HomeSwitchDB.HOTSALE.Where(t => t.IdHotSale == idHotSale).SingleOrDefault(); if (hotsale != null) { hotsale.Precio = nuevoValor; this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("HotSales"); return(true); } return(false); }
public bool LiberarHotSale(DateTime fecha, int idPropiedad) { var hotsale = this.HomeSwitchDB.HOTSALE.Where(t => t.IdPropiedad == idPropiedad && t.FechaDisponible == fecha).SingleOrDefault(); if (hotsale != null) { hotsale.Estado = true; this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("HotSales"); return(true); } return(false); }
public bool EliminarImagen(int idImagen) { var imagenAEliminar = this.HomeSwitchDB.IMAGEN.Where(t => t.IdImagen == idImagen).SingleOrDefault(); if (imagenAEliminar == null) { return(false); } this.HomeSwitchDB.IMAGEN.Remove(imagenAEliminar); this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Propiedades"); CacheHomeSwitchHome.RemoveOnCache("Subastas"); return(true); }
public string AgregarReserva(ReservaViewModel reservaModelo) { var creditoService = new CreditoService(); var clienteCreditos = creditoService.ObtenerCreditosAnio(DateTime.Parse(reservaModelo.FechaReserva).Year, reservaModelo.IdCliente); var reservasCliente = this.ObtenerReservasCliente(reservaModelo.IdCliente); var propiedadReservas = this.ObtenerReservasPropiedad(reservaModelo.IdPropiedad); var servicioSubasta = new SubastaService(); var propiedadSubastas = servicioSubasta.ObtenerSubastasDePropiedad(reservaModelo.IdPropiedad).Where(t => Convert.ToDateTime(reservaModelo.FechaReserva).CompareTo(Convert.ToDateTime(t.FechaComienzo)) >= 0 && Convert.ToDateTime(reservaModelo.FechaReserva).CompareTo(Convert.ToDateTime(t.FechaComienzo).AddDays(10)) <= 0); if (clienteCreditos.Credito <= 0) { return(string.Format("Ya dispone de dos reservas en el año {0}, no posee de más créditos para acceder a una nueva.", clienteCreditos.Anio)); } if (propiedadReservas.Any(t => (Convert.ToDateTime(reservaModelo.FechaReserva).CompareTo(Convert.ToDateTime(t.FechaReserva)) >= 0 && Convert.ToDateTime(reservaModelo.FechaReserva).CompareTo(Convert.ToDateTime(t.FechaReserva).AddDays(7)) <= 0) || (Convert.ToDateTime(reservaModelo.FechaReserva).AddDays(7).CompareTo(Convert.ToDateTime(t.FechaReserva)) >= 0 && Convert.ToDateTime(reservaModelo.FechaReserva).AddDays(7).CompareTo(Convert.ToDateTime(t.FechaReserva).AddDays(7)) <= 0))) { return(string.Format("La semana elegida no está disponible para la propiedad seleccionada.")); } if (reservasCliente.Any(t => (Convert.ToDateTime(reservaModelo.FechaReserva).CompareTo(Convert.ToDateTime(t.FechaReserva)) >= 0 && Convert.ToDateTime(reservaModelo.FechaReserva).CompareTo(Convert.ToDateTime(t.FechaReserva).AddDays(7)) <= 0) || (Convert.ToDateTime(reservaModelo.FechaReserva).AddDays(7).CompareTo(Convert.ToDateTime(t.FechaReserva)) >= 0 && Convert.ToDateTime(reservaModelo.FechaReserva).AddDays(7).CompareTo(Convert.ToDateTime(t.FechaReserva).AddDays(7)) <= 0))) { return(string.Format("Ya posee una reserva en la misma semana en otra propiedad.")); } RESERVA nuevaReserva = new RESERVA(); nuevaReserva.IdCliente = reservaModelo.IdCliente; nuevaReserva.Fecha = Convert.ToDateTime(reservaModelo.FechaReserva); nuevaReserva.IdPropiedad = reservaModelo.IdPropiedad; nuevaReserva.Credito = reservaModelo.Credito; this.HomeSwitchDB.RESERVA.Add(nuevaReserva); this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Reservas"); return("OK"); }
public bool ActualizarSubasta(SUBASTA subastaActualizada, int idSubasta) { if (subastaActualizada.ValorMinimo > 0) { var subastaModelo = this.HomeSwitchDB.SUBASTA.SingleOrDefault(t => t.IdSubasta == idSubasta); subastaModelo.ValorMinimo = subastaActualizada.ValorMinimo; this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Subastas"); return(true); } else { return(false); } }
public string ConfirmarPremium(int IdCliente) { var premiumAceptado = this.HomeSwitchDB.PREMIUM.Where(t => t.IdCliente == IdCliente).FirstOrDefault(); if (premiumAceptado != null) { premiumAceptado.Aceptado = "SI"; this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Clientes"); return(string.Format("OK")); } else { return(string.Format("No se pudo obtener la información del usuario seleccionado. Ha ocurrido un error en el servidor.")); } }
public bool RemoverSubasta(int idSubasta) { var subastaABorrar = this.HomeSwitchDB.SUBASTA.SingleOrDefault(t => t.IdSubasta == idSubasta); if (subastaABorrar != null) { this.HomeSwitchDB.SUBASTA.Remove(subastaABorrar); this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Subastas"); return(true); } else { return(false); } }
public bool ActualizarPropiedad(PROPIEDAD datosPrioridad, int idPropiedad) { if (datosPrioridad.Descripcion != null && datosPrioridad.Pais != null && datosPrioridad.Descripcion.Length >= 20) { var propiedadModelo = this.HomeSwitchDB.PROPIEDAD.SingleOrDefault(t => t.IdPropiedad == idPropiedad); propiedadModelo.Descripcion = datosPrioridad.Descripcion; propiedadModelo.Pais = datosPrioridad.Pais; this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Propiedades"); return(true); } else { return(false); } }
public string RechazarSolicitudPremium(int rechazado) { var premiumRechazado = this.HomeSwitchDB.PREMIUM.Where(t => t.IdCliente == rechazado).FirstOrDefault(); if (premiumRechazado != null) { this.HomeSwitchDB.PREMIUM.Remove(premiumRechazado); this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Clientes"); return(string.Format("OK")); } else { return(string.Format("No se pudo obtener la información del usuario seleccionado. Ha ocurrido un error en el servidor.")); } }
public bool CrearPropiedad(PROPIEDAD nuevaPropiedad) { List <PropiedadViewModel> propiedadesActuales = this.ObtenerTodasLasPropiedades(); if (nuevaPropiedad.Pais != null && !propiedadesActuales.Any(t => t.Nombre.Trim().ToLower() == nuevaPropiedad.Nombre.Trim().ToLower())) { this.HomeSwitchDB.PROPIEDAD.Add(nuevaPropiedad); this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Propiedades"); return(true); } else { return(false); } }
public bool ActualizarContrasenia(int idCliente, string nuevaPass) { var cliente = this.HomeSwitchDB.CLIENTE.Where(t => t.IdCliente == idCliente).SingleOrDefault(); if (cliente != null) { var usuario = this.HomeSwitchDB.USUARIO.Where(t => t.IdUsuario == cliente.IdUsuario).SingleOrDefault(); usuario.Password = nuevaPass; this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Clientes"); return(true); } return(false); }
public string PujarSubasta(SUBASTA subastaPujada, int idSubasta, int idCliente) { var subastaActualizar = this.HomeSwitchDB.SUBASTA.SingleOrDefault(t => t.IdSubasta == idSubasta); var pujaService = new PujaService(); var reservas = new ReservaService(); if (subastaActualizar == null) { return(string.Format("Se ha producido un error en el servidor.")); } if (subastaActualizar.ValorActual >= subastaPujada.ValorActual || subastaActualizar.ValorMinimo >= subastaPujada.ValorActual) { return(string.Format("El valor ingresado es menor al valor actual.")); } if (reservas.ObtenerReservasClientePorAnio(idCliente, DateTime.Now.Year).Count == 2) { return(string.Format("Ya posee dos reservas efectuadas, no puede participar de la puja.")); } if (reservas.ObtenerReservasCliente(idCliente).Any(t => (Convert.ToDateTime(t.FechaReserva).CompareTo(Convert.ToDateTime(subastaActualizar.FechaReserva)) <= 0 && Convert.ToDateTime(t.FechaReserva).AddDays(7).CompareTo(Convert.ToDateTime(subastaActualizar.FechaReserva)) >= 0) || (Convert.ToDateTime(subastaActualizar.FechaReserva).CompareTo(Convert.ToDateTime(t.FechaReserva)) <= 0 && Convert.ToDateTime(subastaActualizar.FechaReserva).AddDays(7).CompareTo(Convert.ToDateTime(t.FechaReserva)) >= 0) )) { return(string.Format("Ya posee una reserva durante la semana que se está subastando.")); } subastaActualizar.ValorActual = subastaPujada.ValorActual; subastaActualizar.IdCliente = idCliente; this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Subastas"); return(string.Format("OK")); }
public string ConfirmarNuevoCliente(int idCliente) { var nuevoCliente = this.HomeSwitchDB.CLIENTE.SingleOrDefault(t => t.IdCliente == idCliente); if (nuevoCliente != null) { var nuevoUsuario = this.HomeSwitchDB.USUARIO.SingleOrDefault(t => t.IdUsuario == nuevoCliente.USUARIO.IdUsuario); nuevoUsuario.Login = true; this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Clientes"); return(string.Format("OK")); } else { return(string.Format("No se pudo obtener la información del usuario seleccionado. Ha ocurrido un error en el servidor.")); } }
public string RegistrarComoPremium(int IdCliente) { var tieneSolicitudPremium = this.HomeSwitchDB.PREMIUM.Where(t => t.IdCliente == IdCliente).Any(); if (!tieneSolicitudPremium) { var nuevoPremium = new PREMIUM(); nuevoPremium.IdCliente = IdCliente; nuevoPremium.Aceptado = "NO"; this.HomeSwitchDB.PREMIUM.Add(nuevoPremium); this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Clientes"); return(string.Format("OK")); } return(string.Format("No se pudo obtener la información del usuario seleccionado. Ha ocurrido un error en el servidor.")); }
public List <PropiedadViewModel> ObtenerTodasLasPropiedades() { List <PropiedadViewModel> propiedadesActuales; if (!CacheHomeSwitchHome.ExistOnCache("Propiedades")) { propiedadesActuales = new List <PropiedadViewModel>(); var propiedadesBD = HomeSwitchDB.PROPIEDAD.ToList(); foreach (var propiedad in propiedadesBD) { propiedadesActuales.Add(new PropiedadViewModel().ToViewModel(propiedad)); } CacheHomeSwitchHome.SaveToCache("Propiedades", propiedadesActuales); } propiedadesActuales = (List <PropiedadViewModel>)CacheHomeSwitchHome.GetFromCache("Propiedades"); return(propiedadesActuales); }
private List <HotSaleViewModel> ObtenerHotSales() { List <HotSaleViewModel> hotSales; if (!CacheHomeSwitchHome.ExistOnCache("HotSales")) { hotSales = new List <HotSaleViewModel>(); var hotSalesBD = HomeSwitchDB.HOTSALE.ToList(); foreach (var hotsale in hotSalesBD) { hotSales.Add(new HotSaleViewModel().ToViewModel(hotsale)); } CacheHomeSwitchHome.SaveToCache("HotSales", hotSales); } hotSales = (List <HotSaleViewModel>)CacheHomeSwitchHome.GetFromCache("HotSales"); return(hotSales); }
public string RechazarSolicitudNuevoCliente(int rechazado) { var solicitudNuevoCliente = this.HomeSwitchDB.CLIENTE.Where(t => t.IdCliente == rechazado).FirstOrDefault(); if (solicitudNuevoCliente != null) { var solicitudNuevoUsuario = this.HomeSwitchDB.USUARIO.Where(t => t.Usuario == solicitudNuevoCliente.USUARIO.Usuario).FirstOrDefault();; this.HomeSwitchDB.CLIENTE.Remove(solicitudNuevoCliente); this.HomeSwitchDB.USUARIO.Remove(solicitudNuevoUsuario); this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Clientes"); return(string.Format("OK")); } else { return(string.Format("No se pudo obtener la información del usuario seleccionado. Ha ocurrido un error en el servidor.")); } }
public List <ReservaViewModel> ObtenerReservas() { List <ReservaViewModel> reservasActuales; if (!CacheHomeSwitchHome.ExistOnCache("Reservas")) { reservasActuales = new List <ReservaViewModel>(); var reservasBD = HomeSwitchDB.RESERVA.ToList(); foreach (var reserva in reservasBD) { reservasActuales.Add(new ReservaViewModel().ToViewModel(reserva)); } CacheHomeSwitchHome.SaveToCache("Reservas", reservasActuales); } reservasActuales = (List <ReservaViewModel>)CacheHomeSwitchHome.GetFromCache("Reservas"); return(reservasActuales); }
private List <ClienteViewModel> ObtenerListaDeClientes() { List <ClienteViewModel> clientes; if (!CacheHomeSwitchHome.ExistOnCache("Clientes")) { clientes = new List <ClienteViewModel>(); foreach (var cliente in this.HomeSwitchDB.CLIENTE.ToList()) { var clienteActual = new ClienteViewModel().ToViewModel(cliente); clientes.Add(clienteActual); } CacheHomeSwitchHome.SaveToCache("Clientes", clientes); } clientes = (List <ClienteViewModel>)CacheHomeSwitchHome.GetFromCache("Clientes"); return(clientes); }
public bool AgregarImagen(int idPropiedad, string nombreImagen) { var yaExiste = this.HomeSwitchDB.IMAGEN.Where(t => t.Nombre == nombreImagen).Any(); if (yaExiste) { return(false); } IMAGEN nuevaImagen = new IMAGEN(); nuevaImagen.Nombre = nombreImagen; nuevaImagen.IdPropiedad = idPropiedad; nuevaImagen.Path = string.Format("/app-content/{0}", nombreImagen); this.HomeSwitchDB.IMAGEN.Add(nuevaImagen); this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Propiedades"); CacheHomeSwitchHome.RemoveOnCache("Subastas"); return(true); }
public bool BorrarPropiedad(int idPropiedad) { var propiedadABorrar = this.HomeSwitchDB.PROPIEDAD.SingleOrDefault(t => t.IdPropiedad == idPropiedad); var subastaService = new SubastaService(); var propiedadAsViewModel = new PropiedadViewModel().ToViewModel(propiedadABorrar); var reservaService = new ReservaService(); var subastasPropiedad = subastaService.ObtenerSubastasDePropiedad(idPropiedad); var reservaPropiedad = reservaService.ObtenerReservasPropiedad(idPropiedad); if (propiedadABorrar != null && !subastasPropiedad.Any() && !reservaPropiedad.Any()) { this.HomeSwitchDB.PROPIEDAD.Remove(propiedadABorrar); this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Propiedades"); return(true); } else { return(false); } }
public string RegistrarNuevoCliente(ClienteViewModel nuevoCliente) { if (this.ExisteCliente(nuevoCliente)) { return(string.Format("Ya existe un usuario registrado con la cuenta de correo '{0}'.", nuevoCliente.Email)); } if (this.CrearUsuario(nuevoCliente.Usuario, nuevoCliente.Password)) { var clienteACrear = new CLIENTE(); clienteACrear.Nombre = nuevoCliente.Nombre; clienteACrear.Apellido = nuevoCliente.Apellido; clienteACrear.IdUsuario = this.HomeSwitchDB.USUARIO.Where(t => t.Usuario == nuevoCliente.Usuario).Select(t => t.IdUsuario).FirstOrDefault(); var esCBUNumerico = int.TryParse(nuevoCliente.CBU, out int cbuEntero); clienteACrear.Banco = nuevoCliente.Banco; clienteACrear.CBU = esCBUNumerico ? cbuEntero : 0; clienteACrear.DomicioFiscal = nuevoCliente.DomicioFiscal; clienteACrear.FechaDeNacimiento = Convert.ToDateTime(nuevoCliente.FechaDeNacimiento); clienteACrear.MedioDePago = nuevoCliente.MedioDePago; clienteACrear.DNI = nuevoCliente.DNI; clienteACrear.Email = nuevoCliente.Email; this.HomeSwitchDB.CLIENTE.Add(clienteACrear); this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("Clientes"); return(string.Format("OK")); } return(string.Format("El nombre de usuario ingresado: '{0}' no está disponible.", nuevoCliente.Usuario)); }
public bool CrearSemanaHotSale(HotSaleViewModel hotSaleModel) { var hotsales = this.ObtenerHotSalesPropiedad(hotSaleModel.IdPropiedad); if (hotsales.Any(t => DateTime.Parse(hotSaleModel.FechaDisponible).CompareTo(Convert.ToDateTime(t.FechaDisponible)) >= 0 && DateTime.Parse(hotSaleModel.FechaDisponible).CompareTo(Convert.ToDateTime(t.FechaDisponible).AddDays(7)) <= 0)) { return(false); } else { var hotSaleNueva = new HOTSALE(); hotSaleNueva.IdPropiedad = hotSaleModel.IdPropiedad; hotSaleNueva.FechaDisponible = DateTime.Parse(hotSaleModel.FechaDisponible); hotSaleNueva.Precio = hotSaleModel.Precio; hotSaleNueva.Estado = true; this.HomeSwitchDB.HOTSALE.Add(hotSaleNueva); this.HomeSwitchDB.SaveChanges(); CacheHomeSwitchHome.RemoveOnCache("HotSales"); return(true); } }