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 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); } }