コード例 #1
0
        public JsonResult CopiarEncuesta(int PK_Id_Encuesta)
        {
            var usuarioActual  = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);
            var comunicaciones = db.Tbl_ComunicacionesInternas.Where(x => (x.PK_Id_Encuesta == PK_Id_Encuesta && x.NitEmpresa == usuarioActual.NitEmpresa)).SingleOrDefault();

            using (var Transaction = db.Database.BeginTransaction())
            {
                ComunicacionesInternas comunicados = new ComunicacionesInternas()
                {
                    Titulo         = comunicaciones.Titulo,
                    CuerpoHTML     = comunicaciones.CuerpoHTML,
                    BuildFormHtml  = comunicaciones.BuildFormHtml,
                    webControls    = comunicaciones.webControls,
                    EstadoEncuesta = "Copia/En Espera",
                    FechaCreacion  = DateTime.Now.ToString(),
                    FechaEnvio     = "",
                    NitEmpresa     = usuarioActual.NitEmpresa
                };
                db.Tbl_ComunicacionesInternas.Add(comunicados);
                db.SaveChanges();
                Transaction.Commit();
            }

            return(Json(true, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        public JsonResult GuardarEncuestaT(int PK_Id_Encuesta, string Titulo, string CuerpoEncuesta, string buildform, string webControls, string EstadoEncuesta, string vigencia, string[] url)
        {
            var    usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);
            var    encuesta      = db.Tbl_ComunicacionesInternas.Where(x => x.PK_Id_Encuesta == PK_Id_Encuesta).SingleOrDefault();
            string url1          = url[0];
            string url2          = url[1];
            string FechaEnvio    = string.Empty;
            string web_controls  = string.Empty;

            string[] TokenPublico = url[1].Split('=');
            string[] webctrl      = webControls.Split('|');
            int      cont         = 1;

            for (int i = 0; i < webctrl.Length; i++)
            {
                if (webctrl[i] != "")
                {
                    if (cont <= 2)
                    {
                        if (cont == 2)
                        {
                            web_controls += webctrl[i] + '|';
                        }
                        else
                        {
                            web_controls += webctrl[i] + ',';
                        }

                        cont++;
                    }

                    if (cont == 3)
                    {
                        cont = 1;
                    }
                }
            }

            using (var Transaction = db.Database.BeginTransaction())
            {
                if (encuesta != null)
                {
                    encuesta.Titulo         = Titulo;
                    encuesta.CuerpoHTML     = CuerpoEncuesta;
                    encuesta.BuildFormHtml  = buildform;
                    encuesta.webControls    = web_controls;
                    encuesta.FechaCreacion  = DateTime.Now.ToString();
                    encuesta.FechaEnvio     = DateTime.Now.ToString();
                    encuesta.EstadoEncuesta = "Publicado";
                    encuesta.vigencia       = vigencia;
                    encuesta.URL            = url1 + '?' + url2;
                    encuesta.TokenPublico   = TokenPublico[1];
                    db.Tbl_ComunicacionesInternas.Attach(encuesta);
                    var entry = db.Entry(encuesta);
                    entry.State = System.Data.Entity.EntityState.Modified;
                    entry.Property(x => x.Titulo).IsModified         = true;
                    entry.Property(x => x.CuerpoHTML).IsModified     = true;
                    entry.Property(x => x.BuildFormHtml).IsModified  = true;
                    entry.Property(x => x.webControls).IsModified    = true;
                    entry.Property(x => x.FechaCreacion).IsModified  = true;
                    entry.Property(x => x.FechaEnvio).IsModified     = true;
                    entry.Property(x => x.EstadoEncuesta).IsModified = true;
                    db.SaveChanges();

                    var encuestas_preguntas = db.Tbl_ComunicacionesEncuestasPreguntas.Where(x => x.fk_pk_id_encuesta == PK_Id_Encuesta).ToList();
                    db.Tbl_ComunicacionesEncuestasPreguntas.RemoveRange(encuestas_preguntas);
                    db.SaveChanges();

                    string[] webControl = web_controls.Split('|');
                    for (int i = 0; i < webControl.Length; i++)
                    {
                        string[] controls = webControl[i].Split(',');
                        if (controls[0] != "")
                        {
                            ComunicacionesEncuestasPreguntas objpreguntas = new ComunicacionesEncuestasPreguntas()
                            {
                                fk_pk_id_encuesta = PK_Id_Encuesta,
                                pregunta          = controls[0],
                                control           = controls[1]
                            };
                            db.Tbl_ComunicacionesEncuestasPreguntas.Add(objpreguntas);
                            db.SaveChanges();
                        }
                    }
                }
                else
                {
                    ComunicacionesInternas comunicados = new ComunicacionesInternas()
                    {
                        Titulo         = Titulo,
                        CuerpoHTML     = CuerpoEncuesta,
                        BuildFormHtml  = buildform,
                        webControls    = web_controls,
                        EstadoEncuesta = EstadoEncuesta,
                        FechaCreacion  = DateTime.Now.ToString(),
                        FechaEnvio     = FechaEnvio,
                        NitEmpresa     = usuarioActual.NitEmpresa,
                        vigencia       = vigencia,
                        URL            = url1 + '?' + url2,
                        TokenPublico   = TokenPublico[1]
                    };
                    db.Tbl_ComunicacionesInternas.Add(comunicados);
                    db.SaveChanges();

                    string[] webControl = web_controls.Split('|');
                    for (int i = 0; i < webControl.Length; i++)
                    {
                        string[] controls = webControl[i].Split(',');
                        if (controls[0] != "")
                        {
                            ComunicacionesEncuestasPreguntas objpreguntas = new ComunicacionesEncuestasPreguntas()
                            {
                                fk_pk_id_encuesta = PK_Id_Encuesta,
                                pregunta          = controls[0],
                                control           = controls[1]
                            };
                            db.Tbl_ComunicacionesEncuestasPreguntas.Add(objpreguntas);
                            db.SaveChanges();
                        }
                    }
                }
                Transaction.Commit();
            }
            return(Json(true, JsonRequestBehavior.AllowGet));
        }