Beispiel #1
0
        public async Task <ActionResult> Create([Bind(Include = "ChildId,TrackedDate,FamilyTime,ScreenTime,ScreenTimeGoal")] TrackedTime trackedTime)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var selectedChild = db.Children.Find(trackedTime.ChildId);
                    trackedTime.ScreenTimeGoal = selectedChild.ScreenTimeGoal;
                    db.TrackedTimes.Add(trackedTime);
                    await db.SaveChangesAsync();

                    return(RedirectToAction("Index"));
                }
            }
            catch (DataException)
            {
                ModelState.AddModelError("", "Oop! Unable to save data. There is problem with our server. Please try again next time!");
            }

            var userId       = User.Identity.GetUserId();
            var userChildren = db.Children.Where(child => child.UserId == userId).ToList();

            ViewBag.ChildId = new SelectList(userChildren, "Id", "Name", trackedTime.ChildId);
            return(View(trackedTime));
        }
Beispiel #2
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            TrackedTime trackedTime = new TrackedTime {
                Id = id
            };

            db.Entry(trackedTime).State = EntityState.Deleted;
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Beispiel #3
0
        // GET: TrackedTimes/Delete/5
        public async Task <ActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TrackedTime trackedTime = await db.TrackedTimes.FindAsync(id);

            if (trackedTime == null || trackedTime.Child.UserId != User.Identity.GetUserId())
            {
                return(HttpNotFound());
            }
            return(View(trackedTime));
        }
Beispiel #4
0
        public async Task <ActionResult> Edit(TrackedTime trackedTime)
        {
            if (ModelState.IsValid)
            {
                db.Entry(trackedTime).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            List <Child> userChildren = new List <Child> {
                trackedTime.Child
            };

            ViewBag.ChildId = new SelectList(userChildren, "Id", "Name", trackedTime.ChildId);
            return(View(trackedTime));
        }
Beispiel #5
0
        public static string ConvertTotalTimeToText(TrackedTime trackedTime, bool isTimeTrackingAllowed)
        {
            if (trackedTime.Status == TrackedTime.EStatus.NotAvailable)
            {
                return("N/A");
            }

            if (trackedTime.Status == TrackedTime.EStatus.Loading)
            {
                return("Loading...");
            }

            Debug.Assert(trackedTime.Amount.HasValue);
            if (trackedTime.Amount.Value != TimeSpan.Zero)
            {
                return(trackedTime.Amount.Value.ToString(@"hh\:mm\:ss"));
            }

            return(isTimeTrackingAllowed ? Constants.NotStartedTimeTrackingText : Constants.NotAllowedTimeTrackingText);
        }
Beispiel #6
0
        // GET: TrackedTimes/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TrackedTime trackedTime = await db.TrackedTimes.FindAsync(id);

            if (trackedTime == null || trackedTime.Child.UserId != User.Identity.GetUserId())
            {
                return(HttpNotFound());
            }

            List <Child> children = new List <Child> {
                trackedTime.Child
            };

            ViewBag.ChildId = new SelectList(children, "Id", "Name", trackedTime.ChildId);
            return(View(trackedTime));
        }