示例#1
0
        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");
        }
示例#2
0
        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);
            }
        }