public IActionResult Create(CitaViewModel vm) { vm.Cita.Usuario = _usuarios.GetByIdentityUserId(_userManager.GetUserId(this.User)); vm.Cita.Fecha = new DateTime(vm.Fecha.Year, vm.Fecha.Month, vm.Fecha.Day, vm.Hora.Hour, vm.Hora.Minute, 0); vm.Cita.TipoCita = _tiposCita.GetById(vm.Cita.TipoCitaId); vm.TiposCita = _tiposCita.GetAll(); //is Fecha in at least 15 minutes if ((vm.Cita.Fecha - DateTime.Now).TotalMinutes < 15) { ModelState.AddModelError("Hora", "La Fecha y Hora de la cita ya paso o es en menos de 15 minutos"); return(View(vm)); } // is there already a Cita in the same day? if (_citas.GetAllCitasUsuario(vm.Cita.UsuarioId).Any(cita => cita.Fecha.Date == vm.Cita.Fecha.Date)) { //show error ModelState.AddModelError("Fecha", "El Paciente ya tiene una cita programada para este dia"); return(View(vm)); } _citas.Create(vm.Cita); return(RedirectToAction("Listado")); }