Exemplo n.º 1
0
        public bool FechaMayorA96Horas(FechaContratacion fecha)
        {
            DateTime diaDeHoy          = DateTime.Today;
            DateTime fechaContratacion = fecha.Fecha.Date;
            TimeSpan diferencia        = fechaContratacion - diaDeHoy;
            int      diasDeDiferencia  = diferencia.Days;

            if (diasDeDiferencia > 4)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        private bool FechaEsValidaDeFinalizar(FechaContratacion fechaContratacion)
        {
            DateTime diaDeHoy = DateTime.Today.Date;

            if (diaDeHoy > fechaContratacion.Fecha)
            {
                return(true);
            }
            else if (diaDeHoy == fechaContratacion.Fecha)
            {
                return(false);
            }
            else
            {
                return(false);
            }
        }
        public ActionResult CrearContratacion(String[] diasSeleccionados, int usuarioId, int publicacionId)
        {
            using (var db = new SQLServerContext())
            {
                var usuario     = db.Usuarios.SingleOrDefault(u => u.Id == usuarioId);
                var publicacion = db.Publicaciones.SingleOrDefault(p => p.Id == publicacionId);

                if (publicacion.Usuario.Id == usuarioId)
                {
                    return(Json("NOTOK", JsonRequestBehavior.AllowGet));
                }

                Contratacion contratacion = new Contratacion
                {
                    Estado      = "Pendiente",
                    Publicacion = publicacion,
                    Usuario     = usuario
                };

                db.Contrataciones.Add(contratacion);

                DateTime fecha;

                foreach (var diaSeleccionado in diasSeleccionados)
                {
                    fecha = TransformarFecha(diaSeleccionado);

                    if (EstaDisponibleLaFecha(fecha, publicacion))
                    {
                        FechaContratacion fechaContratacion = new FechaContratacion
                        {
                            Contratacion = contratacion,
                            Fecha        = fecha,
                            Reservada    = true
                        };

                        db.FechasXContratacion.Add(fechaContratacion);
                    }
                }

                db.SaveChanges();

                return(Json(contratacion.Id, JsonRequestBehavior.AllowGet));
            }
        }