public MensajeEducacionalViewModel MostrarMensajeEducacional(int id)
        {
            var mensajeEducacional = _db.MensajeEducacional.Find(id);

            if (mensajeEducacional == null)
            {
                return(null);
            }

            var mensEducacionalModel = new MensajeEducacionalViewModel
            {
                IdMensajeEducacional = mensajeEducacional.IdMensajeEducacional,
                SemanaEmbarazo       = mensajeEducacional.SemanaEmbarazo,
                EstadoId             = mensajeEducacional.EstadoId,
                UsuarioEditor        = mensajeEducacional.UsuarioEditor,
                Contenido            = new List <ContenidoMensajeEducacionalViewModel>()
            };


            foreach (var mensContenidoModel in mensajeEducacional.ContenidoMensajeEducacional.Select(mcd => new ContenidoMensajeEducacionalViewModel
            {
                IdContenidoMensajeEducacional = mcd.IdContenidoMensajeEducacional,
                IdMensajeEducacional = mcd.IdMensajeEducacional,
                DiaSemana = mcd.DiaSemana,
                Contenido = mcd.Contenido
            }))
            {
                mensEducacionalModel.Contenido.Add(mensContenidoModel);
            }

            return(mensEducacionalModel);
        }
Exemple #2
0
        public JsonResult Edit(MensajeEducacionalViewModel mensajeEducacional)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var result = _mensajeEducacionalManager.GrabarMensaje(mensajeEducacional);

                    if (result < 1)
                    {
                        return
                            (Json(
                                 new
                        {
                            Success = 0,
                            ex = new Exception("No se pudo registrar el mensaje.").Message.ToString()
                        }));
                    }

                    RegistrarAccion((byte)AccionSesion.Actualizar, (byte)ObjetoSesion.EditarMensEducacion, result);
                    return(Json(new { Success = 1, IdMensajeEducacional = result, ex = "" }));
                }
            }
            catch (Exception ex)
            {
                // If Sucess== 0 then Unable to perform Save/Update Operation and send Exception to View as JSON
                return(Json(new { Success = 0, ex = ex.Message.ToString() }));
            }

            return(Json(new { Success = 0, ex = new Exception("No se pudo registrar el mensaje.").Message.ToString() }));
        }
Exemple #3
0
        public JsonResult Crear(MensajeEducacionalViewModel mensajeEducacional)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    mensajeEducacional.UsuarioEditor = ObtenerUsuarioKeyLogeado();
                    var result = _mensajeEducacionalManager.GrabarMensaje(mensajeEducacional);

                    switch (result)
                    {
                    case 0:
                        return
                            (Json(
                                 new
                        {
                            Success = 0,
                            ex = new Exception("No se pudo registrar el mensaje.").Message.ToString()
                        }));

                    case -1:
                        return
                            (Json(
                                 new
                        {
                            Success = 0,
                            ex = new Exception("Ya fueron configurados mensajes para la semana.").Message.ToString()
                        }));
                    }

                    RegistrarAccion((byte)AccionSesion.Crear, (byte)ObjetoSesion.CrearMensEducacion, result);
                    return(Json(new { Success = 1, IdMensajeEducacional = result, ex = "" }));
                }
            }
            catch (Exception ex)
            {
                // If Sucess== 0 then Unable to perform Save/Update Operation and send Exception to View as JSON
                return(Json(new { Success = 0, ex = ex.Message.ToString() }));
            }

            return(Json(new { Success = 0, ex = new Exception("No se pudo registrar  el mensaje").Message.ToString() }));
        }
        public int GrabarMensaje(MensajeEducacionalViewModel mensajeEducacional)
        {
            try
            {
                var meId = mensajeEducacional.IdMensajeEducacional;

                MensajeEducacional mesEducacional;
                if (meId > 0)
                {
                    mesEducacional = _db.MensajeEducacional.FirstOrDefault(me => me.IdMensajeEducacional == meId);

                    if (mesEducacional == null)
                    {
                        return(0);
                    }

                    _db.Entry(mesEducacional).State = EntityState.Modified;

                    if (mensajeEducacional.Contenido != null && mensajeEducacional.Contenido.Any())
                    {
                        foreach (var detail in mensajeEducacional.Contenido)
                        {
                            detail.MensajeEducacional = mensajeEducacional;
                            if (detail.IdContenidoMensajeEducacional == 0)
                            {
                                var newCont = new ContenidoMensajeEducacional()
                                {
                                    IdMensajeEducacional = meId,
                                    DiaSemana            = detail.DiaSemana,
                                    Contenido            = detail.Contenido
                                };
                                mesEducacional.ContenidoMensajeEducacional.Add(newCont);
                            }
                            else
                            {
                                var contMesEducacional = _db.ContenidoMensajeEducacional.Single(x => x.IdContenidoMensajeEducacional == detail.IdContenidoMensajeEducacional);
                                contMesEducacional.DiaSemana        = detail.DiaSemana;
                                contMesEducacional.Contenido        = detail.Contenido;
                                _db.Entry(contMesEducacional).State = EntityState.Modified;
                            }
                        }

                        if (mesEducacional.ContenidoMensajeEducacional != null)
                        {
                            foreach (var cme in mesEducacional.ContenidoMensajeEducacional.Where(x => mensajeEducacional.Contenido.All(u => u.IdContenidoMensajeEducacional != x.IdContenidoMensajeEducacional)).ToList())
                            {
                                _db.ContenidoMensajeEducacional.Remove(cme);
                            }
                        }
                    }
                    else
                    {
                        mesEducacional.ContenidoMensajeEducacional = null;
                        var contenidoToRemove = _db.ContenidoMensajeEducacional.Where(x => x.IdMensajeEducacional == meId);
                        foreach (var mec in contenidoToRemove)
                        {
                            _db.ContenidoMensajeEducacional.Remove(mec);
                        }
                    }
                    _db.SaveChanges();
                    return(meId);
                }

                var mesEnSemana = _db.MensajeEducacional.FirstOrDefault(me => me.SemanaEmbarazo == mensajeEducacional.SemanaEmbarazo);

                if (mesEnSemana != null)
                {
                    return(-1);
                }

                mesEducacional = new MensajeEducacional()
                {
                    SemanaEmbarazo = mensajeEducacional.SemanaEmbarazo,
                    UsuarioEditor  = mensajeEducacional.UsuarioEditor,
                    EstadoId       = 1,
                    FechaCreacion  = DateTime.Now
                };

                foreach (var contenido in mensajeEducacional.Contenido.Select(content => new ContenidoMensajeEducacional()
                {
                    DiaSemana = content.DiaSemana,
                    Contenido = content.Contenido
                }))
                {
                    mesEducacional.ContenidoMensajeEducacional.Add(contenido);
                }

                _db.MensajeEducacional.Add(mesEducacional);
                _db.SaveChanges();
                return(mesEducacional.IdMensajeEducacional);
            }
            catch (Exception e)
            {
                return(0);
            }
        }