Beispiel #1
0
        public ActionResult ClockOut(WorkTimeEventModel workTimeEventModel, LoginViewModel lvm)
        {
            //gets user from db by email or username
            var user = db.Users.SingleOrDefault(x => x.UserName == lvm.Email || x.Email == lvm.Email);
            // Checks Db users for email that matches the email user typed in
            ApplicationUser dbUser   = db.Users.FirstOrDefault(x => x.Email == lvm.Email || x.UserName == lvm.Email);
            var             worktime = db.EventModels.FirstOrDefault(x => x.User.Id == dbUser.Id && !x.EndTime.HasValue);

            if (worktime != null)
            {  //Update the current open event with an end datetime.
                //Updates message column in db Event
                worktime.Message += "clock out: " + lvm.Message;
                DateTime endTime = DateTime.Now;
                worktime.EndTime = endTime;
                workTimeEventModel.Clockout();
                db.SaveChanges();
                db.SaveChanges();
                //displays message to user *currently using to keep track of methods
                TempData["message"] = "Clock out: " + DateTime.Now.ToString("h:mm tt") + " Have a great day!";
                return(RedirectToAction("Login", "Account"));
            }
            //displays message to user *currently using to keep track of methods
            else
            {
                TempData["message"] = "Unable to clock out, please clock in to clock out";
            }
            return(RedirectToAction("Login", "Account"));
        }
Beispiel #2
0
        public ActionResult ClockIn(WorkTimeEventModel workTimeEventModel, LoginViewModel lvm)
        {
            // Checks Db users for email that matches the email user typed in
            ApplicationUser dbUser = db.Users.FirstOrDefault(x => x.Email == lvm.Email || x.UserName == lvm.Email);
            //gets user from db by email or username
            var user = db.Users.SingleOrDefault(x => x.UserName == lvm.Email || x.Email == lvm.Email);
            //maps user from db to current user
            var ClockInTimeEvent = db.EventModels.FirstOrDefault(x => x.User.Id == user.Id);
            // Checks if user is clocked in by checking if any events exist without a endtime
            var WorkTimeEvent = db.EventModels.FirstOrDefault(x => x.User.Id == dbUser.Id && !x.EndTime.HasValue);

            //if user is already clocked in but has no endtime value
            if (ClockInTimeEvent != null && WorkTimeEvent != null)
            {
                //displays message to user *currently using to keep track of methods
                TempData["message"] = "Already clocked in";
                return(RedirectToAction("Login", "Account"));
            }
            //if a user is not already clocked in, create a new worktimeevent and save to db
            //clock in
            else
            {
                DateTime           start   = DateTime.Now;
                var                message = "clock in: " + lvm.Message;
                WorkTimeEventModel clockIn = new WorkTimeEventModel(dbUser, message, start);
                db.EventModels.Add(clockIn);
                db.SaveChanges();
                //displays message to user *currently using to keep track of methods
                TempData["message"] = "Clock in: " + DateTime.Now.ToString("h:mm tt") + " Have a great shift " + user.Fname;
                return(RedirectToAction("Login", "Account"));
            }
        }
Beispiel #3
0
        public ActionResult ClockOut(WorkTimeEventModel workTimeEventModel, LoginViewModel lvm)
        {
            var user     = db.Users.SingleOrDefault(x => x.Id == lvm.UserId);
            var worktime = db.EventModels.FirstOrDefault(x => x.User.Id == user.Id && !x.EndTime.HasValue);

            if (worktime != null)
            {  //Update the current open event with an end datetime.
                //Updates message column in db Event
                worktime.Message += "clock out: " + lvm.Message;
                DateTime endTime = DateTime.Now;
                worktime.EndTime = endTime;
                workTimeEventModel.Clockout();
                db.SaveChanges();
                db.SaveChanges();
                //displays message to user *currently using to keep track of methods
                TempData["message"] = "Clock out: " + DateTime.Now.ToString("h:mm tt") + " Have a great day!";
                return(RedirectToAction("ClockInPage", "WorkTimeEvent"));
            }
            //displays message to user *currently using to keep track of methods
            else
            {
                TempData["message"] = "Unable to clock out, please clock in to clock out";
            }
            return(RedirectToAction("ClockInPage", "WorkTimeEvent"));
        }
Beispiel #4
0
        public ActionResult DeleteConfirmed(Guid id)
        {
            WorkTimeEventModel workTimeEventModel = db.WorkTimeEventModels.Find(id);

            db.EventModels.Remove(workTimeEventModel);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #5
0
 public ActionResult Edit([Bind(Include = "EventId,StartTime,EndTime,Message,Title,AdminId")] WorkTimeEventModel workTimeEventModel)
 {
     if (ModelState.IsValid)
     {
         db.Entry(workTimeEventModel).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(workTimeEventModel));
 }
Beispiel #6
0
        // GET: WorkTimeEventModel/Delete/5
        public ActionResult Delete(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            WorkTimeEventModel workTimeEventModel = db.WorkTimeEventModels.Find(id);

            if (workTimeEventModel == null)
            {
                return(HttpNotFound());
            }
            return(View(workTimeEventModel));
        }