public ActionResult Support() { using (TehnicalDepartmentDb db = new TehnicalDepartmentDb()) { string CreatedByName = User.Identity.Name; string Company = Request.Cookies["companyCookie"].Value; int id = db.Users.Where(m => m.company == Company && m.username == CreatedByName).FirstOrDefault().userId; List <Request> requests = db.Requests.Where(m => m.createdBy == id).ToList(); List <myIncidentRequestViewModel> myIncidentRequestViewModels = new List <myIncidentRequestViewModel>(); foreach (var req in requests) { List <RequestHistory> s = new List <RequestHistory>(); s = db.RequestHistories.Where(m => m.requestId == req.requestId).ToList(); string statusString = s.Last().status; myIncidentRequestViewModels.Add(new myIncidentRequestViewModel { Id = req.requestId, IncidentRequest = req.type == false ? "Incident" : "Request", Title = req.title, CreatedBy = db.Users.Where(m => m.userId == req.createdBy).FirstOrDefault().username, DepartmentAssigned = req.departmentAssigned, Priority = req.priority == 0 ? "Low" : req.priority == 1 ? "Medium" : "High", Status = statusString }); } return(View(myIncidentRequestViewModels)); } }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { { using (TehnicalDepartmentDb db = new TehnicalDepartmentDb()) { User check = db.Users.FirstOrDefault(u => u.company == model.Company); if (check != null) { return(View(model)); } var user = new ApplicationUser { UserName = model.User, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { // await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); createRolesandUsers(user.Id); User newUser = new User { company = model.Company, type = 0, username = model.User, password = model.Password, email = model.Email }; db.Users.Add(newUser); db.SaveChanges(); // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); return(RedirectToAction("sucessfullyRegistered", "Account")); } AddErrors(result); } } } // If we got this far, something failed, redisplay form return(View(model)); }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } { using (TehnicalDepartmentDb db = new TehnicalDepartmentDb()) { User check = db.Users.FirstOrDefault(u => u.company == model.Company && u.username == model.User && u.password == model.Password); if (check == null) { return(View(model)); } // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, change to shouldLockout: true var result = await SignInManager.PasswordSignInAsync(model.User, model.Password, model.RememberMe, shouldLockout : false); Session["Company"] = check.company; HttpCookie myCookie = new HttpCookie("companyCookie"); switch (result) { case SignInStatus.Success: myCookie.Value = check.company; myCookie.Expires = DateTime.Now.AddDays(7); Response.Cookies.Add(myCookie); return(RedirectToAction("Index", "Manage")); //return RedirectToLocal(returnUrl); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresVerification: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe })); case SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); //return RedirectToAction("Manage", "Home"); } } } }
public async Task <ActionResult> Create(IncidentRequestViewModel model) { if (ModelState.IsValid) { using (TehnicalDepartmentDb db = new TehnicalDepartmentDb()) { string CreatedByName = User.Identity.Name; int CreatedById = db.Users.FirstOrDefault(u => u.username == CreatedByName).userId; Request request = new Request { createdBy = CreatedById, title = model.title, description = model.description, type = model.type == "0" ? false : true, departmentAssigned = model.departmentAssigned, employeeAssigned = null, priority = model.priority }; db.Requests.Add(request); await db.SaveChangesAsync(); List <Request> newRequestList = db.Requests.Where(u => u.createdBy == CreatedById).ToList(); List <Request> newRequestListDescendingOrder = newRequestList.OrderByDescending(u => u.requestId).ToList(); int newRequestId = newRequestListDescendingOrder.First().requestId; RequestHistory requestHistory = new RequestHistory { requestId = newRequestId, from = CreatedByName, to = model.departmentAssigned, data = DateTime.Now, status = "Pending" }; db.RequestHistories.Add(requestHistory); await db.SaveChangesAsync(); return(RedirectToAction("Support")); } } // ViewBag.createdBy = new SelectList(db.Users, "userId", "company", request.createdBy); return(View(model)); }
// GET: IncidentRequest/Create public ActionResult Create() { IncidentRequestViewModel model = new IncidentRequestViewModel(); using (TehnicalDepartmentDb db = new TehnicalDepartmentDb()) { List <Department> departments = db.Departments.ToList(); foreach (var d in departments) { model.departmentsList.Add(new SelectListItem { Text = d.name, Value = d.name.ToString() }); } return(View(model)); } }
// GET: UsersManagement/Create public ActionResult Create() { CompanyUsersRegisterViewModel model = new CompanyUsersRegisterViewModel(); using (TehnicalDepartmentDb db = new TehnicalDepartmentDb()) { List <Department> departments = db.Departments.ToList(); foreach (var d in departments) { model.departmentsList.Add(new SelectListItem { Text = d.name, Value = d.departmentId.ToString() }); } model.userTypes.Add(new SelectListItem { Text = "Employee", Value = 1.ToString() }); model.userTypes.Add(new SelectListItem { Text = "Customer", Value = 2.ToString() }); return(View(model)); } }
public async Task <ActionResult> Create(IncidentRequestViewModel model) { if (ModelState.IsValid) { using (TehnicalDepartmentDb db = new TehnicalDepartmentDb()) { string CreatedByName = User.Identity.Name; int CreatedById = db.Users.FirstOrDefault(u => u.username == CreatedByName).userId; int? fileval = null; DatabaseConnection.File fileDb = null; if (model.file != null && model.file.ContentLength > 0) { try { string path = Path.Combine(Server.MapPath("~/Files"), Path.GetFileName(model.file.FileName)); model.file.SaveAs(path); fileDb = new DatabaseConnection.File { fileName = model.file.FileName, fileType = model.file.ContentType }; db.Files.Add(fileDb); await db.SaveChangesAsync(); fileval = fileDb.fileId; } catch (Exception ex) { ViewBag.Message = "ERROR:" + ex.Message.ToString(); } } else { ViewBag.Message = "You have not specified a file."; fileval = null; } Request request = new Request { createdBy = CreatedById, title = model.title, description = model.description, type = model.type == "0" ? false : true, departmentAssigned = model.departmentAssigned, fileId = fileval, employeeAssigned = null, priority = model.priority, }; db.Requests.Add(request); await db.SaveChangesAsync(); List <Request> newRequestList = db.Requests.Where(u => u.createdBy == CreatedById).ToList(); List <Request> newRequestListDescendingOrder = newRequestList.OrderByDescending(u => u.requestId).ToList(); int newRequestId = newRequestListDescendingOrder.First().requestId; RequestHistory requestHistory = new RequestHistory { requestId = newRequestId, from = CreatedByName, to = model.departmentAssigned, data = DateTime.Now, status = "Pending" }; db.RequestHistories.Add(requestHistory); await db.SaveChangesAsync(); return(RedirectToAction("Support")); } } // ViewBag.createdBy = new SelectList(db.Users, "userId", "company", request.createdBy); return(View(model)); }