private List <string> EjecutarValidaciones(GestanteCitaModel gestanteCita)
        {
            DateTime      hoy     = DateTime.Today;
            List <string> errores = new List <string>();

            if (gestanteCita.GestanteKey == 0)
            {
                errores.Add("No existe gestante registrada para el DNI ingresado.");
            }

            if (gestanteCita.GestanteCitaId == 0 &&
                gestanteManager.ObtenerGestanteCitasByGestanteYFecha(gestanteCita.GestanteKey, gestanteCita.FechaCita).Any())
            {
                errores.Add("Ya existe una cita programada para la gestante y fecha seleccionadas.");
            }
            if (gestanteCita.GestanteCitaId > 0)
            {
                var fechaCita = gestanteManager.ObtenerFechaCitaByGestanteCitaKey(gestanteCita.GestanteCitaId);
                if (fechaCita != gestanteCita.FechaCita &&
                    gestanteManager.ObtenerGestanteCitasByGestanteYFecha(gestanteCita.GestanteKey, gestanteCita.FechaCita).Any())
                {
                    errores.Add("Ya existe una cita programada para la gestante y fecha seleccionadas.");
                }
            }
            if (gestanteCita.FechaCita.Value <= hoy)
            {
                errores.Add("La fecha de cita no puede ser en el pasado.");
            }
            return(errores);
        }
 public int GrabarGestanteCita(GestanteCitaModel gestanteCita, short modo)
 {
     return(_db.sproc_AddUpdateGestanteCita(modo,
                                            gestanteCita.GestanteCitaId,
                                            gestanteCita.GestanteKey,
                                            gestanteCita.FechaCita,
                                            gestanteCita.HoraCita,
                                            gestanteCita.NombreMedico,
                                            gestanteCita.EstablecimientoId,
                                            gestanteCita.UsuarioEditor
                                            ).SingleOrDefault() ?? 0);
 }
 private void ConfigurarViewBag(GestanteCitaModel gestanteCita = null)
 {
     if (gestanteCita != null)
     {
         ViewBag.EstablecimientoId = new SelectList(establecimientoManager.ListarEstablecimientos(), "EstablecimientoId", "Descripcion",
                                                    gestanteCita.EstablecimientoId);
         ViewBag.Horas = new SelectList(utilManager.ListarHoras(), gestanteCita.FechaCita);
     }
     else
     {
         ViewBag.EstablecimientoId = new SelectList(establecimientoManager.ListarEstablecimientos(), "EstablecimientoId", "Descripcion");
         ViewBag.Horas             = new SelectList(utilManager.ListarHoras());
     }
 }
        // GET: GestanteCita/Editar/5
        public ActionResult Editar(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RegistrarAccion((byte)AccionSesion.Accesar, (byte)ObjetoSesion.EditarGestanteCita, null);
            GestanteCitaModel gestanteCita = gestanteManager.MostrarGestanteCita((int)id);

            if (gestanteCita == null)
            {
                return(HttpNotFound());
            }
            ConfigurarMenues();
            ConfigurarViewBag(gestanteCita);
            return(View(gestanteCita));
        }
 public ActionResult Editar([Bind(Include = "GestanteCitaId,GestanteNroDocumento,GestanteKey,FechaCita,HoraCita," +
                                            "EstablecimientoId")] GestanteCitaModel gestanteCita)
 {
     foreach (var error in EjecutarValidaciones(gestanteCita))
     {
         ModelState.AddModelError(string.Empty, error);
     }
     if (ModelState.IsValid)
     {
         gestanteCita.UsuarioEditor = ObtenerUsuarioKeyLogeado();
         int updatedGestanteCitaKey = gestanteManager.GrabarGestanteCita(gestanteCita, 1);
         RegistrarAccion((byte)AccionSesion.Actualizar, (byte)ObjetoSesion.EditarGestanteCita, updatedGestanteCitaKey);
         return(RedirectToAction("Index"));
     }
     ConfigurarMenues();
     ConfigurarViewBag(gestanteCita);
     return(View(gestanteCita));
 }
        public GestanteCitaModel MostrarGestanteCita(int id)
        {
            GestanteCita gestanteCita = _db.GestanteCitas.Find(id);

            if (gestanteCita != null)
            {
                GestanteCitaModel gestanteModel = new GestanteCitaModel();
                gestanteModel.GestanteCitaId       = gestanteCita.GestanteCitaId;
                gestanteModel.GestanteNroDocumento = gestanteCita.Gestante.GestanteNroDocumento;
                gestanteModel.GestanteKey          = gestanteCita.GestanteKey;
                gestanteModel.FechaCita            = gestanteCita.FechaCita;
                gestanteModel.HoraCita             = gestanteCita.HoraCita;
                gestanteModel.NombreMedico         = gestanteCita.NombreMedico;
                gestanteModel.EstablecimientoId    = gestanteCita.EstablecimientoId;
                gestanteModel.Establecimiento      = gestanteCita.Establecimiento.Descripcion;
                return(gestanteModel);
            }
            else
            {
                return(null);
            }
        }