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)); }
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)); }