public ActionResult Edit(PositionQuestionViewModel Pq) { userType = Convert.ToInt32(Request.RequestContext.HttpContext.Session["TipoUsuario"]); ViewBag.Cargos = new SelectList(Tools.LeerCargos(userType), "Codigo_Cargo", "Nombre_Cargo", ""); ViewBag.Section = new SelectList(Tools.LeerSecciones(), "Codigo_Seccion", "Nombre_Seccion", ""); ViewBag.State = new SelectList(Tools.LeerEstados(), "IdState", "StateDescription", ""); ViewBag.RQuestion = new SelectList(Tools.LeerPreguntasAleatorias(Pq.Codigo_seccion, Pq.Numero_Pregunta), "Numero_Pregunta", "Texto_Pregunta", ""); try { if (ModelState.IsValid) { #region Graba Datos using BD_EvaluacionEntities Db = new BD_EvaluacionEntities(); Preguntas_Cargos oPq = Db.Preguntas_Cargos.Where(i => i.Codigo_Cargo == Pq.Codigo_Cargo && i.Cod_Cargo_Evaluado == Pq.Cod_Cargo_Evaluado && i.Codigo_seccion == Pq.Codigo_seccion && i.Numero_Pregunta == Pq.Numero_Pregunta).SingleOrDefault(); if (oPq != null) { oPq.Numero_Pregunta = Pq.Numero_Pregunta; oPq.IdState = Pq.IdState; Db.Entry(oPq).State = System.Data.Entity.EntityState.Modified; Db.SaveChanges(); mensaje = "Ok"; } else { mensaje = "El registro no se modificó"; } #endregion } else { #region Errores de Modelo string errors = string.Empty; foreach (var item in ModelState.Values) { if (item.Errors.Count > 0) { mensaje += string.Format("{0} \n", item.Errors[0].ErrorMessage); } } mensaje += " Contacte al Administrador"; #endregion } return(View(new { mensaje })); } catch (Exception ex) { mensaje = ex.InnerException.InnerException.Message + "Contactar al administrador"; return(RedirectToAction("Edit", "PositionQuestion", new { codCargo = Pq.Codigo_Cargo, codCargoEval = Pq.Cod_Cargo_Evaluado, codSection = Pq.Codigo_seccion, questionNo = Pq.Numero_Pregunta, mensaje })); } }
public JsonResult Create(List <PositionQuestionViewModel> ListJson) { try { #region Graba Datos using var bd = new BD_EvaluacionEntities(); foreach (var item in ListJson) { var existe = bd.Cargos_Evaluadores.Where(x => x.Codigo_Cargo == item.Codigo_Cargo && x.Cod_Cargo_Evaluado == item.Cod_Cargo_Evaluado); if (existe.Count() != 0) { var oPQ = new Preguntas_Cargos { Codigo_Cargo = item.Codigo_Cargo, Cod_Cargo_Evaluado = item.Cod_Cargo_Evaluado, Codigo_seccion = item.Codigo_seccion, Numero_Pregunta = item.Numero_Pregunta, IdState = item.IdState }; bd.Preguntas_Cargos.Add(oPQ); } else { mensaje = "Usuarios Evaluador y Evaluado no existen en Cargos Evaluadores Valide la información e intente nuevamente"; return(Json(mensaje)); } } bd.SaveChanges(); mensaje = "Ok"; #endregion } catch (Exception ex) { mensaje = ex.InnerException.InnerException.Message + "Contactar al administrador"; } return(Json(mensaje)); }
public List <EPExcelModel> SaveEPExcel(string FilePath) { List <EPExcelModel> excelData = new List <EPExcelModel>(); try { FileInfo existingFile = new FileInfo(FilePath); using ExcelPackage package = new ExcelPackage(existingFile); ExcelWorksheet wrkSheet = package.Workbook.Worksheets[1]; int rowCount = wrkSheet.Dimension.End.Row; BD_EvaluacionEntities db = new BD_EvaluacionEntities(); var Proceso = db.Procesos_Evaluacion.Where(x => x.Estado_PE == "A").FirstOrDefault(); var EvalNo = db.Auto_Evaluaciones.Where(ae => ae.Codigo_Proceso == Proceso.Codigo_Proceso).FirstOrDefault(); try { var NumEval = EvalNo.Numero_Evaluacion; for (int row = 2; row <= rowCount; row++) { if (wrkSheet.Cells[row, 1].Value != null) { NumEval += 1; var CodCargo = wrkSheet.Cells[row, 1].Value.ToString().Trim().ToUpper(); var CodSec = wrkSheet.Cells[row, 2].Value.ToString().Trim().ToUpper(); var Pctje = wrkSheet.Cells[row, 3].Value.ToString().Trim().ToUpper(); var CodUsuario = db.Usuarios.Where(u => u.Codigo_Cargo == CodCargo).Select(usu => usu.Codigo_Usuario).FirstOrDefault(); int res = Tools.ValidaDominios(CodSec); if (res == 1) { int total = 0; IEnumerable <int> Preguntas; if (Pctje == "S") { var Preg = db.Preguntas_Aleatorias.Where(x => x.Codigo_Seccion == CodSec && x.Ponderacion_P > 0) .Select(a => a.Numero_Pregunta); Preguntas = Preg.ToList(); } else { var Preg = db.Preguntas_Aleatorias.Where(xx => xx.Codigo_Seccion == CodSec && xx.Ponderacion_P == 0) .Select(a => a.Numero_Pregunta); Preguntas = Preg.ToList(); } foreach (var QuestNo in Preguntas) { var existe = db.Preguntas_Cargos.Find(CodCargo, CodCargo, CodSec, QuestNo); if (existe == null) { total += 1; var oEpc = new Preguntas_Cargos { Codigo_Cargo = CodCargo, Cod_Cargo_Evaluado = CodCargo, Codigo_seccion = CodSec, Numero_Pregunta = QuestNo, IdState = 1 }; db.Preguntas_Cargos.Add(oEpc); excelData.Add(new EPExcelModel() { Codigo_Cargo = CodCargo, Cod_Cargo_Evaluado = CodCargo, Codigo_Seccion = CodSec, Numero_Pregunta = QuestNo, IdState = 1 }); } var EvCargos = db.Cargos_Evaluadores.Where(x => x.Cod_Cargo_Evaluado == CodCargo && x.Codigo_Cargo != CodCargo).Select(ev => ev.Codigo_Cargo).ToList(); foreach (var cargo in EvCargos) { var existePC = db.Preguntas_Cargos.Find(cargo, CodCargo, CodSec, QuestNo); if (existePC == null) { var oEvc = new Preguntas_Cargos { Codigo_Cargo = cargo, Cod_Cargo_Evaluado = CodCargo, Codigo_seccion = CodSec, Numero_Pregunta = QuestNo, IdState = 1 }; db.Preguntas_Cargos.Add(oEvc); excelData.Add(new EPExcelModel() { Codigo_Cargo = cargo, Cod_Cargo_Evaluado = CodCargo, Codigo_Seccion = CodSec, Numero_Pregunta = QuestNo, IdState = 1 }); } } db.SaveChanges(); if (total == 0) { excelData.Clear(); excelData.Add(new EPExcelModel() { Codigo_Seccion = "Error", Mensaje = "Los registros ya existen, valide la información", Numero_Pregunta = 0 }); } } } } } } catch (Exception ex) { string mensaje = ex.InnerException.InnerException.Message; excelData.Clear(); excelData.Add(new EPExcelModel() { Codigo_Seccion = "Error", Mensaje = mensaje, Numero_Pregunta = 0 }); } return(excelData); } catch (Exception ex) { string mensaje = ex.Message; excelData.Clear(); excelData.Add(new EPExcelModel() { Codigo_Seccion = "Error", Mensaje = mensaje, Numero_Pregunta = 0 }); return(excelData); } }