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);
        }
Example #3
0
        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));
            }
        }