public async Task <ActionResult> Index(int?id) { ViewBag.FormId = id ?? -1; if (HttpContext.Session.GetInt32("UserId") == null) { return(RedirectToAction("Index", "Home")); } if (HttpContext.Session.GetString("Role") != "Admin" && id != -1) // Check if user has valid access to the form { var db = new SarahIncContext(); var dbUserId = Convert.ToInt32(HttpContext.Session.GetInt32("UserId")); var form = db.Form.FirstOrDefault(x => x.TempId == id); var user = form.FormUser.FirstOrDefault(x => x.UserId == dbUserId); if (user == null) { RedirectToAction("Index", "Admin"); } } if (id == -1) { return(RedirectToAction("Index", "Form", new { id = await UpsertForm() })); } return(View()); }
public JsonResult GetFormVars(int formId) { var sarahDb = new SarahIncContext(); var frmVarList = new List <FormVariableModel>(); var formVarList = sarahDb.FormVariable.Select(formVars => new FormVariableModel(_mapper) { Id = formVars.FormDataId, FormId = formVars.FormId, Description = formVars.Description, Name = formVars.Name, Value = formVars.Value }).Where(f => f.FormId == formId).OrderBy(o => o.Name); if (formVarList.Any()) { foreach (var formVar in formVarList) { frmVarList.Add(formVar); } } var result = frmVarList; return(Json(result)); }
public ActionResult UpdateFormVars(FormVariableModel frmVar) { if (frmVar.Description.Length < 1 || frmVar.Name.Length < 1 || frmVar.Value.Length < 1) { ModelState.AddModelError("Form Variable", "Form Variable should have a name, a description and a value"); } if (!ModelState.IsValid) { return(Json(ModelState)); } using (var dbContext = new SarahIncContext()) { var formVar = (from f in dbContext.FormVariable where f.FormDataId == frmVar.Id select f).FirstOrDefault(); if (formVar == null) { return(Json(ModelState)); } formVar.FormId = frmVar.FormId; formVar.Description = frmVar.Description; formVar.Name = frmVar.Name; formVar.Value = frmVar.Value; dbContext.SaveChanges(); } // Return the updated frmVar. Also return any validation errors. return(Json(ModelState)); }
public ActionResult CreateEvalType(string evalTypeVar) { if (string.IsNullOrEmpty(evalTypeVar)) { ModelState.AddModelError("Evaluation Type Variable", "Evaluation Type Variable should have a name"); } if (!ModelState.IsValid) { return(Json(ModelState)); } using (var dbContext = new SarahIncContext()) { var evalType = new EvalTypeVarModel(); var evalTypVar = (from e in dbContext.Evaluation where e.Type == evalTypeVar select e).FirstOrDefault(); if (evalTypVar != null) { return(Json(ModelState)); } evalTypVar = new Evaluation(); dbContext.Evaluation.Add(evalTypVar); evalTypVar.Type = evalTypeVar; dbContext.SaveChanges(); evalType.Id = evalTypVar.Id; evalType.Name = evalTypeVar; } // Return the updated evalTypeVar. Also return any validation errors. return(Json(ModelState)); }
public ActionResult UpdateTmplVars(TemplateVariableModel tmplVar) { if (tmplVar.Description.Length < 1 || tmplVar.Name.Length < 1 || tmplVar.Value.Length < 1) { ModelState.AddModelError("Template Variable", "Template Variable should have a name, a description and a value"); } if (!ModelState.IsValid) { return(Json(ModelState)); } using (var dbContext = new SarahIncContext()) { var tplVar = (from t in dbContext.TemplateVariable where t.TmplId == tmplVar.TmplId select t).FirstOrDefault(); if (tplVar == null) { return(Json(ModelState)); } tplVar.UserId = tmplVar.UserId; tplVar.Description = tmplVar.Description; tplVar.Name = tmplVar.Name; tplVar.Value = tmplVar.Value; dbContext.SaveChanges(); } // Return the updated tmplVar. Also return any validation errors. return(Json(ModelState)); }
public JsonResult UpsertUser([FromBody] UserModel um) { using (var dbContext = new SarahIncContext()) { var curUser = (from u in dbContext.User where u.UserId == um.UserId select u).FirstOrDefault(); um.MapUser(); if (curUser == null) { curUser = new User(); dbContext.User.Add(curUser); _mapper.Map(um, curUser); curUser.Password = UserData.CreateHash(um.NewPass); } else { um.Password = curUser.Password; _mapper.Map(um, curUser); } dbContext.SaveChanges(); return(Json(curUser.UserId)); } }
public async Task <TU> ReadRecordById <TU, TV>(int id, int secondId = 0) where TV : class where TU : new() { var record = new TU(); try { using (var db = new SarahIncContext()) { TV result; if (secondId == 0) { result = await db.Set <TV>().FindAsync(id); } else { result = await db.Set <TV>().FindAsync(id, secondId); } _mapper.Map(result, record); } } catch (Exception ex) { Logging.LogError(ex.Message, MethodBase.GetCurrentMethod().ToString(), typeof(TU) + " " + id); } return(record); }
public JsonResult GetTplVars(string sec, string subSec, string desc) { var sarahDb = new SarahIncContext(); var dbUserId = Convert.ToInt32(HttpContext.Session.GetInt32("UserId")); var tplVarList = new List <TemplateVariableModel>(); var tmplVarList = sarahDb.TemplateVariable.Select(tmplVars => new TemplateVariableModel(_mapper) { TmplId = tmplVars.TmplId, UserId = tmplVars.UserId, Section = tmplVars.Section, SubSection = tmplVars.SubSection, Description = tmplVars.Description, Name = tmplVars.Name, Value = tmplVars.Value }).Where(f => (f.UserId == dbUserId || f.UserId == null) && f.Section == sec && f.SubSection == subSec && f.Description == desc).OrderBy(o => o.Name); if (tmplVarList.Any()) { foreach (var tmplVar in tmplVarList) { tplVarList.Add(tmplVar); } } var result = tplVarList; return(Json(result)); }
public async Task <bool> DeleteRecord <TU>(int id, int secondId = 0) where TU : class { try { using (var db = new SarahIncContext()) { TU record; if (secondId == 0) { record = await db.Set <TU>().FindAsync(id); } else { record = await db.Set <TU>().FindAsync(id, secondId); } db.Set <TU>().Remove(record); await db.SaveChangesAsync(); return(true); } } catch (Exception ex) { Logging.LogError(ex.Message, MethodBase.GetCurrentMethod().ToString(), typeof(TU) + " " + id); } return(false); }
public static Tuple <int, int?> GetPrimaryKeys <TU>(TU entity) { using (var db = new SarahIncContext()) { var keyNames = db.Model.FindEntityType(typeof(TU)).FindPrimaryKey().Properties.Select(x => x.Name).ToList(); var keyNameCount = keyNames.Count; return(new Tuple <int, int?>((int)entity.GetType().GetProperty(keyNames[0]).GetValue(entity, null), keyNameCount > 1 ? (int?)entity.GetType().GetProperty(keyNames[1]).GetValue(entity, null) : null));; } }
public static IEnumerable <EvaluationFormModel> GetKendoEvaluationTypes() { using (var dbContext = new SarahIncContext()) { var eval = (from e in dbContext.Evaluation select e); return(eval.Select(evalElem => new EvaluationFormModel { EvalTypeId = evalElem.Id - 1, EvaluationType = evalElem.Type }).ToList()); } }
public JsonResult UpsertFinalForm([FromBody] FinalFormModel ffm) { var sarahDb = new SarahIncContext(); var frm = (from t in sarahDb.Form where t.TempId == ffm.TempId select t).FirstOrDefault(); frm.FinalForm = ffm.FinalForm; sarahDb.SaveChanges(); return(Json(new { Success = true, Message = "Final Saved", Id = ffm.TempId })); }
public IEnumerable <EvaluationFormModel> GetEvaluationTypes() { using (_dbContext = new SarahIncContext()) { var eval = (from e in _dbContext.Evaluation where e.FormId == null select e); return(eval.Select(evalElem => new EvaluationFormModel { EvalTypeId = evalElem.Id - 1, EvaluationType = evalElem.Type }).ToList()); } }
public JsonResult GetPrintOptions(int formId, bool single) { if (!single) { formId = 0; } using (var db = new SarahIncContext()) { var options = db.PrintOption.Where(o => o.FormId == formId || o.FormId == null).AsEnumerable(); var result = options; return(Json(result)); } }
public JsonResult GetEvaluators() { using (var db = new SarahIncContext()) { var evalSet = db.User.Select(evaluators => new UserModel(_mapper) { UserId = evaluators.UserId, Firstname = evaluators.Firstname, Lastname = evaluators.Lastname, Title = evaluators.Title }).OrderBy(o => o.Lastname).ToList(); return(Json(evalSet)); } }
public bool DoesUserExist(string username) { using (var dbContext = new SarahIncContext()) { var userList = (from u in dbContext.User where u.Username == username select u).FirstOrDefault(); if (userList != null) { return(true); } } return(false); }
public JsonResult GetEvaluationTypes(string text, int id) { var sarahDb = new SarahIncContext(); var evalTypes = sarahDb.Evaluation.Where(x => x.FormId == null || x.FormId == id).Select(evalType => new EvaluationFormModel { EvalTypeId = evalType.Id - 1, EvaluationType = evalType.Type }); if (!string.IsNullOrEmpty(text)) { evalTypes = evalTypes.Where(e => e.EvaluationType.Contains(text)); } return(Json(evalTypes)); }
public JsonResult DeleteUser([FromBody] int userId) { using (var dbContext = new SarahIncContext()) { var curUser = (from u in dbContext.User where u.UserId == userId select u).FirstOrDefault(); if (curUser == null) { return(Json(false)); } dbContext.User.Remove(curUser); dbContext.SaveChanges(); } return(Json(true)); }
public JsonResult ChangePassword([FromBody] ChangePasswordModel cpm) { SendPassword(cpm.email, cpm.newPass); using (var dbContext = new SarahIncContext()) { var user = (from u in dbContext.User where u.UserId == cpm.userId select u).First(); user.Password = UserData.CreateHash(cpm.newPass); dbContext.SaveChanges(); } return(Json(true)); }
public JsonResult DeleteForm([FromBody] int tempId) { using (var dbContext = new SarahIncContext()) { var curForm = (from f in dbContext.Form where f.TempId == tempId select f).FirstOrDefault(); if (curForm == null) { return(Json(false)); } dbContext.Form.Remove(curForm); dbContext.SaveChanges(); } // Delete the current form. Also return any validation errors. return(Json(true)); }
public async Task <List <TU> > ReadLinkedRecordsById <TU, TV>() where TV : class where TU : new() { var result = new List <TU>(); try { using (var db = new SarahIncContext()) { BaseQuery = (IQueryable <T>)db.Set <TV>().ProjectTo <TU>(_mapper.ConfigurationProvider); SetPredicateExp(); result = await(BaseQuery as IQueryable <TU>).Future().ToListAsync(); } } catch (Exception ex) { Logging.LogError(ex.Message, MethodBase.GetCurrentMethod().ToString(), typeof(TU) + " " + PredicateExp); } return(result); }
public void AddEvaluationType(string text, int id) { var sarahDb = new SarahIncContext(); if (!string.IsNullOrEmpty(text)) { var existEvalType = (from e in sarahDb.Evaluation where e.Type == text && (e.FormId == null || e.FormId == id) select e).FirstOrDefault(); if (existEvalType == null) { var newEvalType = new Evaluation(); sarahDb.Evaluation.Add(newEvalType); newEvalType.Type = text; newEvalType.FormId = id; sarahDb.SaveChanges(); } } }
public bool Insert() { if (DoesUserExist(Username)) { return(false); } using (var dbContext = new SarahIncContext()) { var user = new User(); dbContext.User.Add(user); user.RoleId = Constants.RoleUser; user.Username = Username; user.Firstname = FirstName; user.Lastname = LastName; user.Email = Email; user.Password = UserData.CreateHash(Password); var ab = user.Password.Length; dbContext.SaveChanges(); } return(true); }
public JsonResult GetUsersBase() { var dbUserId = HttpContext.Session.GetInt32("UserId"); var role = HttpContext.Session.GetString("Role"); var modelUsers = new List <UserModel>(); using (var dbContext = new SarahIncContext()) { var users = (dbContext.User.Select(u => u)); if (users.Any()) { foreach (var user in users) { if (user.UserId == dbUserId || role == Constants.RoleAdminStr) { var mu = new UserModel(_mapper) { UserId = user.UserId, RoleValue = user.RoleId - 1, RoleName = (from r in dbContext.Role where r.RoleId == user.RoleId select r.Rolename).First(), Username = user.Username, Firstname = user.Firstname, Lastname = user.Lastname, Email = user.Email, Title = user.Title, Lockedout = user.Lockedout, LockedoutStr = user.Lockedout ? "Locked Out" : "OK" }; modelUsers.Add(mu); } } } } return(Json(modelUsers)); }
public ActionResult DeleteFormVars(FormVariableModel frm) { if (!ModelState.IsValid) { return(Json(ModelState)); } using (var dbContext = new SarahIncContext()) { var frmVar = (from f in dbContext.FormVariable where f.FormDataId == frm.Id select f).FirstOrDefault(); if (frmVar == null) { return(Json(ModelState)); } dbContext.FormVariable.Remove(frmVar); dbContext.SaveChanges(); } // Return the updated frm. Also return any validation errors. return(Json(ModelState)); }
public ActionResult DeleteUsers(TemplateVariableModel tpl) { if (!ModelState.IsValid) { return(Json(ModelState)); } using (var dbContext = new SarahIncContext()) { var tmplVar = (from t in dbContext.TemplateVariable where t.TmplId == tpl.TmplId select t).FirstOrDefault(); if (tmplVar == null) { return(Json(ModelState)); } dbContext.TemplateVariable.Remove(tmplVar); dbContext.SaveChanges(); } // Return the updated tpl. Also return any validation errors. return(Json(ModelState)); }
public JsonResult EmailReport(int tempId, string targets) { var targetList = targets.Split(';').Length > 0 ? targets.Split(';').ToList() : new List <string> { targets }; var tLen = targetList.Count; for (var x = 0; x < tLen; ++x) { using (var sarahDb = new SarahIncContext()) { var user = sarahDb.User.FirstOrDefault(f => f.Email == targetList[x]); if (user != null) { AdminController.SendEmail(targetList[x], "Here is a copy of an evaluation or assessment report", "Test Report"); } } } return(Json(new { Success = true, Message = "Report Sent" })); }
public async Task <bool> DeleteRecords <TU>(List <Tuple <int, int?> > records) where TU : class { try { using (var db = new SarahIncContext()) { var idCount = records.Count; for (var x = 0; x < idCount; ++x) { TU record; if (records[x].Item2 == null) { record = await db.Set <TU>().FindAsync(records[x].Item1); } else { record = await db.Set <TU>().FindAsync(records[x].Item1, records[x].Item2); } if (record != null) { db.Set <TU>().Remove(record); } } await db.SaveChangesAsync(); return(true); } } catch (Exception ex) { Logging.LogError(ex.Message, MethodBase.GetCurrentMethod().ToString(), typeof(TU) + " " + string.Join(",", records)); } return(false); }
public JsonResult UpsertForm([FromBody] TempFormModel tfm) { using (var dbContext = new SarahIncContext()) { var curForm = (from f in dbContext.Form where f.TempId == tfm.TempId select f).FirstOrDefault(); if (curForm == null) { return(Json(false)); } var fm = new FormModel(_mapper); _mapper.Map(tfm, fm); _mapper.Map(fm, curForm); dbContext.SaveChanges(); return(Json(true)); } }
public async Task <List <TU> > ReadRecords <TU, TV>() where TV : class { try { using (var db = new SarahIncContext()) { BaseQuery = (IQueryable <T>)db.Set <TV>(); // DEV .ProjectTo<TU>(); SetPredicateExp(); Count = BaseQuery.DeferredCount().FutureValue(); SetSortOrder(typeof(TV).GetProperties().Select(f => f.Name).First()); SetPaging(); return(await(BaseQuery as IQueryable <TU>).Future().ToListAsync()); } } catch (Exception ex) { Logging.LogError(ex.Message, MethodBase.GetCurrentMethod().ToString(), ""); } return(new List <TU>()); }