Example #1
0
        public async Task <IActionResult> OnPostSaveAe(int id)
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            var activityEntityToUpdate = await _context.ActivityEntity.FindAsync(ActivityEntity.Id);

            if (await TryUpdateModelAsync(activityEntityToUpdate,
                                          "ActivityEntity",
                                          s => s.EndTime,
                                          s => s.Tasks))
            {
                if (activityEntityToUpdate.EndTime != null)
                {
                    activityEntityToUpdate.EndTime = Extensions.DateTimeExtensions.RoundUp2(activityEntityToUpdate.EndTime.Value, TimeSpan.FromMinutes(1));
                }

                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index"));
            }

            return(Page());
        }
Example #2
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            _context.Attach(Location).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!LocationExists(Location.Id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(RedirectToPage("./Index"));
        }
Example #3
0
        public async Task OnGetFinish(int id)
        {
            var activityEntityToUpdate = await _context.ActivityEntity.FindAsync(id);

            activityEntityToUpdate.EndTime = Extensions.DateTimeExtensions.RoundUp(DateTime.Now, TimeSpan.FromMinutes(1));

            await _context.SaveChangesAsync();

            ActivityEntities = await _context.ActivityEntity
                               .Include(a => a.ActivityType)
                               .Include(a => a.Client)
                               .Include(a => a.Project)
                               .AsNoTracking()
                               .OrderByDescending(x => x.StartTime)
                               .ToListAsync();
        }
Example #4
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            var addressToUpdate = await _context.Addresses.FindAsync(id);

            if (await TryUpdateModelAsync(addressToUpdate,
                                          "Address",
                                          s => s.AddressLine1,
                                          s => s.AddressLine2,
                                          s => s.AddressLine3,
                                          s => s.City,
                                          s => s.Region,
                                          s => s.PostalCode,
                                          s => s.County,
                                          s => s.Country))
            {
                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index"));
            }

            return(Page());
        }
Example #5
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            _context.ActivityTypes.Add(ActivityType);
            await _context.SaveChangesAsync();

            return(RedirectToPage("./Index"));
        }
Example #6
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Invoice = await _context.Invoices.FindAsync(id);

            if (Invoice != null)
            {
                _context.Invoices.Remove(Invoice);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
Example #7
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            var emptyActivityEntity = new ActivityEntity();

            if (await TryUpdateModelAsync(
                    emptyActivityEntity,
                    "ActivityEntity",
                    s => s.StartTime,
                    s => s.LocationId,
                    s => s.ProjectId,
                    s => s.ActivityTypeId,
                    s => s.ClientId,
                    s => s.Billable,
                    s => s.Tasks))
            {
                var currentTime = DateTimeExtensions.RoundUp2(emptyActivityEntity.StartTime, TimeSpan.FromMinutes(1));

                if (InterruptCurrentActivity)
                {
                    var currentActivity = await _context.ActivityEntity.OrderByDescending(i => i.StartTime).FirstOrDefaultAsync(i => i.EndTime == null);

                    if (!(currentActivity is null))
                    {
                        currentActivity.EndTime = currentTime;
                    }
                }

                emptyActivityEntity.StartTime = currentTime;
                _context.ActivityEntity.Add(emptyActivityEntity);
                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index"));
            }

            PopulateActivityTypesDropDownList(_context, emptyActivityEntity.ActivityTypeId);
            PopulateClientDropDownList(_context, emptyActivityEntity.ClientId);
            PopulateProjectsDropDownList(_context, emptyActivityEntity.ProjectId);
            PopulateLocationDropDownList(_context, emptyActivityEntity.LocationId);

            return(Page());
        }
Example #8
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            ActivityEntity = await _context.ActivityEntity.AsNoTracking().FirstOrDefaultAsync(x => x.Id == id);

            if (ActivityEntity != null)
            {
                _context.ActivityEntity.Remove(ActivityEntity);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
Example #9
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            var activityEntityToUpdate = await _context.ActivityEntity
                                         .FindAsync(id);

            if (await TryUpdateModelAsync(activityEntityToUpdate,
                                          "ActivityEntity",
                                          s => s.StartTime,
                                          s => s.EndTime,
                                          s => s.LocationId,
                                          s => s.ProjectId,
                                          s => s.ActivityTypeId,
                                          s => s.ClientId,
                                          s => s.Billable,
                                          s => s.Tasks,
                                          s => s.OriginalStartTime,
                                          s => s.OriginalEndTime,
                                          s => s.InvoiceStatement))
            {
                activityEntityToUpdate.StartTime = DateTimeExtensions.RoundUp2(activityEntityToUpdate.StartTime, TimeSpan.FromMinutes(1));

                if (activityEntityToUpdate.EndTime != null)
                {
                    activityEntityToUpdate.EndTime = activityEntityToUpdate.EndTime.Value;
                }

                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index"));
            }

            PopulateActivityTypesDropDownList(_context, activityEntityToUpdate.ActivityTypeId);
            PopulateClientDropDownList(_context, activityEntityToUpdate.ClientId);
            PopulateProjectsDropDownList(_context, activityEntityToUpdate.ProjectId);
            PopulateLocationDropDownList(_context, activityEntityToUpdate.LocationId);

            return(Page());
        }
Example #10
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            var clientToUpdate = await _context.Clients.FindAsync(id);

            if (!await TryUpdateModelAsync(clientToUpdate,
                                           "Client",
                                           s => s.Name,
                                           s => s.IsDefault,
                                           s => s.DefaultBillableRate))
            {
                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index"));
            }

            return(Page());
        }
Example #11
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            var emptyProject = new Project();

            if (await TryUpdateModelAsync(
                    emptyProject,
                    "Project",
                    s => s.Name,
                    s => s.IsDefault,
                    s => s.DefaultActivityTypeId,
                    s => s.DefaultClientId,
                    s => s.DefaultLocationId))
            {
                if (emptyProject.IsDefault)
                {
                    var projects = _context.Projects.Where(x => x.IsDefault);
                    foreach (var p in projects)
                    {
                        p.IsDefault = false;
                    }
                }

                _context.Projects.Add(emptyProject);
                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index"));
            }

            PopulateActivityTypesDropDownList(_context, emptyProject.DefaultActivityTypeId);
            PopulateClientDropDownList(_context, emptyProject.DefaultClientId);
            PopulateLocationDropDownList(_context, emptyProject.DefaultLocationId);

            return(Page());
        }
Example #12
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            var projectToUpdate = await _context.Projects.FindAsync(id);

            if (await TryUpdateModelAsync(projectToUpdate,
                                          "Project",
                                          s => s.Name,
                                          s => s.IsDefault,
                                          s => s.DefaultActivityTypeId,
                                          s => s.DefaultClientId,
                                          s => s.DefaultLocationId,
                                          s => s.DefaultBillableRate))
            {
                if (projectToUpdate.IsDefault)
                {
                    var projects = _context.Projects.Where(x => x.IsDefault);
                    foreach (var p in projects)
                    {
                        p.IsDefault = false;
                    }
                }

                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index"));
            }

            PopulateActivityTypesDropDownList(_context, projectToUpdate.DefaultActivityTypeId);
            PopulateClientDropDownList(_context, projectToUpdate.DefaultClientId);
            PopulateLocationDropDownList(_context, projectToUpdate.DefaultLocationId);

            return(Page());
        }
Example #13
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            var emptyContact = new Contact();

            if (await TryUpdateModelAsync(
                    emptyContact,
                    "Contact",
                    s => s.DisplayName,
                    s => s.FirstName,
                    s => s.LastName,
                    s => s.ClientId))
            {
                _context.Contacts.Add(Contact);
            }
            await _context.SaveChangesAsync();

            return(RedirectToPage("./Index"));
        }