Example #1
0
 public async Task <bool> JobsiteHasClockedInTimestamp(Jobsite jobsite)
 {
     return(await _db.Timestamps
            .Include(t => t.Jobsite)
            .AnyAsync(
                t => t.Jobsite == jobsite && t.ClockedIn == true));
 }
Example #2
0
 public async Task <ICollection <Timestamp> > GetTimestampsForJob(Jobsite jobsite)
 {
     return(await _db.Timestamps
            .Include(t => t.AppUser)
            .Where(t => t.Jobsite == jobsite)
            .ToListAsync());
 }
Example #3
0
        public async Task <IActionResult> Create(OrderViewModel model)
        {
            if (ModelState.IsValid)
            {
                var crane = await _context.Cranes.FirstOrDefaultAsync(x => x.CraneId == model.CraneId);

                if (crane == null)
                {
                    return(NotFound());
                }

                var company = new Company
                {
                    CompanyName = model.CompanyName,
                    Address     = model.CompanyAddress.Street + ", " + model.CompanyAddress.City + " " +
                                  model.CompanyAddress.State + ", " + model.CompanyAddress.ZipCode
                };

                _context.Add(company);


                var contact = new Contact
                {
                    FirstName = model.FirstName,
                    LastName  = model.LastName,
                    Email     = model.Email,
                    Phone     = model.Phone,
                    Company   = company
                };
                _context.Add(contact);



                var jobsite = new Jobsite
                {
                    JobsiteName = model.JobsiteName,
                    Address     = model.JobsiteAddress.Street + ", " + model.JobsiteAddress.City + " " +
                                  model.JobsiteAddress.State + ", " + model.JobsiteAddress.ZipCode
                };

                var order = new Order
                {
                    OrderDate = DateTime.Today,
                    StartDate = model.StartDate,
                    EndDate   = model.EndDate,
                    Company   = company,
                    Crane     = crane,
                    Jobsite   = jobsite
                };

                _context.Add(order);
                _context.Add(jobsite);
                await _context.SaveChangesAsync();

                return(View("Confirmation"));
            }

            return(View("Details", model));
        }
Example #4
0
        public ActionResult DeleteConfirmed(int id)
        {
            Jobsite jobsite = db.Jobsites.Find(id);

            db.Jobsites.Remove(jobsite);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #5
0
 public ActionResult Edit([Bind(Include = "JobSiteID,Address,Town,State,Zip")] Jobsite jobsite)
 {
     if (ModelState.IsValid)
     {
         db.Entry(jobsite).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(jobsite));
 }
Example #6
0
        public ActionResult Create([Bind(Include = "JobSiteID,Address,Town,State,Zip")] Jobsite jobsite)
        {
            if (ModelState.IsValid)
            {
                db.Jobsites.Add(jobsite);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(jobsite));
        }
Example #7
0
        public async Task <bool> ClockIn(Jobsite jobsite, AppUser user)
        {
            var timestamp = new Timestamp
            {
                Jobsite        = jobsite,
                AppUser        = user,
                ClockedIn      = true,
                ClockedInStamp = DateTimeOffset.Now
            };

            _db.Timestamps.Add(timestamp);

            return(await _db.SaveChangesAsync() > 0);
        }
Example #8
0
        public async Task <PagedList <Timestamp> > GetTimestampsForJobByDate(Jobsite jobsite, TimestampParameters timestampParameters)
        {
            var query = _db.Timestamps
                        .Include(t => t.AppUser)
                        .Where(t => t.Jobsite == jobsite &&
                               t.ClockedInStamp >= timestampParameters.FromDate &&
                               t.ClockedInStamp <= timestampParameters.ToDate)
                        .OrderByDescending(t => t.ClockedInStamp);

            return(await PagedList <Timestamp> .ToPagedList(
                       query,
                       timestampParameters.PageNumber,
                       timestampParameters.PageSize));
        }
Example #9
0
        // GET: Jobsites/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Jobsite jobsite = db.Jobsites.Find(id);

            if (jobsite == null)
            {
                return(HttpNotFound());
            }
            return(View(jobsite));
        }
Example #10
0
        public async Task <bool> AddTimestamp(Jobsite jobsite, AppUser user, DateTimeOffset clockedIn, DateTimeOffset clockedOut)
        {
            var timestamp = new Timestamp
            {
                Jobsite         = jobsite,
                AppUser         = user,
                ClockedIn       = false,
                ClockedInStamp  = clockedIn,
                ClockedOutStamp = clockedOut
            };

            _db.Timestamps.Add(timestamp);

            return(await _db.SaveChangesAsync() > 0);
        }