public ActionResult Create([Bind(Include = "AppId,AppName,RegDate,Status,UserId")] Application application) { if (ModelState.IsValid) { int max = -99; using (rshar102DataBaseEntities context = new rshar102DataBaseEntities()) { foreach (Application data in context.Applications) { if (data.AppId > max) { max = data.AppId; } } } application.AppId = max + 1; application.Status = 1; application.RegDate = DateTime.Now; db.Applications.Add(application); db.SaveChanges(); return(RedirectToAction("GetApps", "ShowApps", new { userId = application.UserId })); } ViewBag.UserId = new SelectList(db.AspNetUsers, "Id", "FirstName", application.UserId); return(View(application)); }
//[Authorize (Roles = "User, Admin")] public HttpResponseMessage Post([FromBody] ErrorLogModel ts) { HttpResponseMessage result; if (ts != null) { using (rshar102DataBaseEntities context = new rshar102DataBaseEntities()) { try { Application application = new Application(); foreach (var app in context.Applications) { if (app.AppId == Convert.ToInt32(ts.ApplicationID)) { application = app; } } if (application.AppId == 0) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Application Id is invalid. Does not exist in database.")); } Log dummy = new Log() { //LogId = Convert.ToInt32(ts.ErrorLogID), AppId = Convert.ToInt32(ts.ApplicationID), LogMessage = ts.ErrorMessage, LogCategory = ts.ErrorCategory, Timestamp = Convert.ToDateTime(DateTime.Now), Application = application }; context.Logs.Add(dummy); context.SaveChanges(); } catch (Exception ex) { Console.WriteLine(ex.Message); return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Internal Server Error occurred while handling the request. Please try again later.")); } } result = Request.CreateResponse(HttpStatusCode.Created, ts); } else { result = Request.CreateResponse(HttpStatusCode.BadRequest, "Server failed to save data"); } return(result); }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } rshar102DataBaseEntities db = new rshar102DataBaseEntities(); var user = await UserManager.FindAsync(model.Email, model.Password); // 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.Email, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: AspNetUser logged = db.AspNetUsers.SingleOrDefault(u => u.UserName == model.Email); if (logged.Status == null) { logged.Status = 1; } else if (logged.Status == 0) { AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie); Session.Clear(); Session.Abandon(); Session.RemoveAll(); FormsAuthentication.SignOut(); this.Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1)); this.Response.Cache.SetCacheability(HttpCacheability.NoCache); this.Response.Cache.SetNoStore(); return(View("Lockout")); } Session["LastLogin"] = logged.LastLogin; Session["UserId"] = logged.Id; logged.LastLogin = DateTime.Now; db.Entry(logged).State = EntityState.Modified; db.SaveChanges(); if (UserManager.IsInRole(user.Id, "Admin")) { Session["UserRole"] = "Admin"; return(RedirectToAction("ShowUsers", "Home")); } else { Session["UserRole"] = "User"; return(RedirectToAction("ShowApps", "Home")); } 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)); } }