Exemple #1
0
        public IActionResult CreateTimeslipTemplate(CustomDay_WBIVM customDay_WBIVM)
        {
            Guid          wbiGuid           = Guid.Parse(customDay_WBIVM.WBI_Id);
            CustomDay_WBI timeslip_template = new CustomDay_WBI()
            {
                NewChangeRequestId = wbiGuid,
                CustomDayId        = customDay_WBIVM.CustomDayId,
                Remarks            = customDay_WBIVM.Remarks
            };

            if (customDay_WBIVM.StartTime != null)
            {
                timeslip_template.StartTime = DateTime.Parse(customDay_WBIVM.StartTime);
            }
            else
            {
                //throw new ArgumentNullException("You need to enter a start time...");
                return(new BadRequestObjectResult(new { message = "You need to enter a start time..." }));
            }

            if (customDay_WBIVM.EndTime != null)
            {
                timeslip_template.EndTime = DateTime.Parse(customDay_WBIVM.EndTime);
            }
            else
            {
                return(new BadRequestObjectResult(new { message = "You need to enter an end time..." }));
            }

            foreach (var item in _context.Timeslip_Templates.Where(i => i.CustomDayId == customDay_WBIVM.CustomDayId))
            {
                if (item.StartTime >= timeslip_template.EndTime || item.EndTime <= timeslip_template.StartTime)
                {
                }
                else
                {
                    return(new BadRequestObjectResult(new { message = "Times cannot overlap" }));
                }
            }
            _context.Timeslip_Templates.Add(timeslip_template);
            _context.SaveChanges();

            return(new OkObjectResult(timeslip_template));
        }
Exemple #2
0
        public void SeedData()
        {
            if (_context.AccountBase.Any())
            {
                return;
            }
            var clients = new AccountBase[]
            {
                new AccountBase {
                    AccountId = Guid.NewGuid(), Name = "Calgary Flames", DeletionStateCode = 0, StateCode = 0
                },
                new AccountBase {
                    AccountId = Guid.NewGuid(), Name = "Vancouver Canucks", DeletionStateCode = 0, StateCode = 0
                },
                new AccountBase {
                    AccountId = Guid.NewGuid(), Name = "Winnipeg Jets", DeletionStateCode = 0, StateCode = 0
                }
            };

            foreach (AccountBase a in clients)
            {
                _context.AccountBase.Add(a);
            }
            _context.SaveChanges();

            if (_context.NewProjectTypeExtensionBase.Any())
            {
                return;
            }
            var projectTypes = new NewProjectTypeExtensionBase[]
            {
                new NewProjectTypeExtensionBase
                {
                    NewProjectTypeId = Guid.NewGuid(),
                    NewName          = "Sports related"
                }
            };

            foreach (NewProjectTypeExtensionBase t in projectTypes)
            {
                _context.NewProjectTypeExtensionBase.Add(t);
            }
            _context.SaveChanges();

            if (_context.NewProjectExtensionBase.Any())
            {
                return;
            }
            var projects = new NewProjectExtensionBase[]
            {
                new NewProjectExtensionBase {
                    NewProjectId     = Guid.NewGuid(),
                    NewName          = "Project Calgary",
                    NewStartDate     = new DateTime(2018, 01, 20, 01, 01, 01),
                    NewEndDate       = new DateTime(2018, 01, 30, 02, 02, 02),
                    NewAccountId     = clients.Single(c => c.Name == "Calgary Flames").AccountId,
                    NewProjectTypeId = projectTypes.Single(t => t.NewName == "Sports related").NewProjectTypeId
                },
                new NewProjectExtensionBase {
                    NewProjectId     = Guid.NewGuid(),
                    NewName          = "Project Vancouver",
                    NewStartDate     = new DateTime(2018, 02, 20, 01, 01, 01),
                    NewEndDate       = new DateTime(2018, 02, 27, 02, 02, 02),
                    NewAccountId     = clients.Single(c => c.Name == "Vancouver Canucks").AccountId,
                    NewProjectTypeId = projectTypes.Single(t => t.NewName == "Sports related").NewProjectTypeId
                },
                new NewProjectExtensionBase {
                    NewProjectId     = Guid.NewGuid(),
                    NewName          = "Project Winnipeg",
                    NewStartDate     = new DateTime(2018, 03, 20, 01, 01, 01),
                    NewEndDate       = new DateTime(2018, 03, 30, 02, 02, 02),
                    NewAccountId     = clients.Single(c => c.Name == "Winnipeg Jets").AccountId,
                    NewProjectTypeId = projectTypes.Single(t => t.NewName == "Sports related").NewProjectTypeId
                }
            };

            foreach (NewProjectExtensionBase p in projects)
            {
                _context.NewProjectExtensionBase.Add(p);
            }
            _context.SaveChanges();

            if (_context.NewChangeRequestExtensionBase.Any())
            {
                return;
            }
            var workBreakdownItems = new NewChangeRequestExtensionBase[]
            {
                new NewChangeRequestExtensionBase {
                    NewChangeRequestId = Guid.NewGuid(),
                    NewName            = "Calgary's Finance",
                    NewEstimatedHours  = 999,
                    NewActualHours     = 20,
                    NewProjectId       = projects.Single(p => p.NewName == "Project Calgary").NewProjectId
                },
                new NewChangeRequestExtensionBase {
                    NewChangeRequestId = Guid.NewGuid(),
                    NewName            = "Calgary's Management",
                    NewEstimatedHours  = 999,
                    NewActualHours     = 30,
                    NewProjectId       = projects.Single(p => p.NewName == "Project Calgary").NewProjectId
                },
                new NewChangeRequestExtensionBase {
                    NewChangeRequestId = Guid.NewGuid(),
                    NewName            = "Vancouver's Finance",
                    NewEstimatedHours  = 999,
                    NewActualHours     = 20,
                    NewProjectId       = projects.Single(p => p.NewName == "Project Vancouver").NewProjectId
                },
                new NewChangeRequestExtensionBase {
                    NewChangeRequestId = Guid.NewGuid(),
                    NewName            = "Vancouver's Management",
                    NewEstimatedHours  = 999,
                    NewActualHours     = 30,
                    NewProjectId       = projects.Single(p => p.NewName == "Project Vancouver").NewProjectId
                },
                new NewChangeRequestExtensionBase {
                    NewChangeRequestId = Guid.NewGuid(),
                    NewName            = "Winnipeg's Finance",
                    NewEstimatedHours  = 999,
                    NewActualHours     = 20,
                    NewProjectId       = projects.Single(p => p.NewName == "Project Winnipeg").NewProjectId
                },
                new NewChangeRequestExtensionBase {
                    NewChangeRequestId = Guid.NewGuid(),
                    NewName            = "Winnipeg's Management",
                    NewEstimatedHours  = 999,
                    NewActualHours     = 30,
                    NewProjectId       = projects.Single(p => p.NewName == "Project Winnipeg").NewProjectId
                },
            };

            foreach (NewChangeRequestExtensionBase w in workBreakdownItems)
            {
                _context.NewChangeRequestExtensionBase.Add(w);
            }
            _context.SaveChanges();

            if (_context.Users.Any())
            {
                return;
            }
            var users = new User[]
            {
                new User {
                    UserId    = Guid.NewGuid(),
                    Email     = "*****@*****.**",
                    Password  = "******",
                    FirstName = "Bob",
                    LastName  = "Jones"
                },
                new User {
                    UserId    = Guid.NewGuid(),
                    Email     = "*****@*****.**",
                    Password  = "******",
                    FirstName = "Sally",
                    LastName  = "Smith"
                }
            };

            foreach (User u in users)
            {
                _context.Users.Add(u);
            }
            _context.SaveChanges();


            if (_context.NewTimesheetEntryExtensionBase.Any())
            {
                return;
            }
            var timeslips = new NewTimesheetEntryExtensionBase[]
            {
                new NewTimesheetEntryExtensionBase
                {
                    NewTimesheetEntryId = Guid.NewGuid(),
                    NewStartTask        = DateTime.ParseExact("2018-04-20 08:00", "yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture),
                    NewEndTask          = DateTime.ParseExact("2018-04-20 11:00", "yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture),
                    NewRemarks          = "Test Remark",
                    NewChangeRequestId  = workBreakdownItems.Single(w => w.NewName == "Calgary's Finance").NewChangeRequestId,
                    OwningUser          = users.Single(u => u.Email == "*****@*****.**").UserId
                },
                new NewTimesheetEntryExtensionBase
                {
                    NewTimesheetEntryId = Guid.NewGuid(),
                    NewStartTask        = DateTime.ParseExact("2018-04-20 13:00", "yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture),
                    NewEndTask          = DateTime.ParseExact("2018-04-20 16:00", "yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture),
                    NewRemarks          = "Test Remark two",
                    NewChangeRequestId  = workBreakdownItems.Single(w => w.NewName == "Vancouver's Finance").NewChangeRequestId,
                    OwningUser          = users.Single(u => u.Email == "*****@*****.**").UserId
                },
            };

            foreach (NewTimesheetEntryExtensionBase t in timeslips)
            {
                _context.NewTimesheetEntryExtensionBase.Add(t);
            }
            _context.SaveChanges();

            if (_context.CustomDays.Any())
            {
                return;
            }
            var customMonday = new CustomDay
            {
                CustomDayId = "aosidjf",
                Name        = "My Monday",
                Description = "This is my typical monday",
                UserId      = _context.Users.FirstOrDefault().UserId
            };

            _context.CustomDays.Add(customMonday);
            _context.SaveChanges();

            if (_context.Timeslip_Templates.Any())
            {
                return;
            }
            var timeslipTemplates = new CustomDay_WBI[]
            {
                new CustomDay_WBI
                {
                    TimeslipTemplateId = "testId1",
                    NewChangeRequestId = workBreakdownItems.Single(w => w.NewName == "Calgary's Finance").NewChangeRequestId,
                    CustomDayId        = customMonday.CustomDayId,
                    StartTime          = DateTime.ParseExact("08:00", "HH:mm", CultureInfo.InvariantCulture),
                    EndTime            = DateTime.ParseExact("11:00", "HH:mm", CultureInfo.InvariantCulture),
                    Remarks            = "This is a test remark on morning timeslip template"
                },
                new CustomDay_WBI
                {
                    TimeslipTemplateId = "testId2",
                    NewChangeRequestId = workBreakdownItems.Single(w => w.NewName == "Vancouver's Finance").NewChangeRequestId,
                    CustomDayId        = customMonday.CustomDayId,
                    StartTime          = DateTime.ParseExact("13:00", "HH:mm", CultureInfo.InvariantCulture),
                    EndTime            = DateTime.ParseExact("16:00", "HH:mm", CultureInfo.InvariantCulture),
                    Remarks            = "This is a test remark on afternoon timeslip template"
                },
            };

            foreach (CustomDay_WBI c in timeslipTemplates)
            {
                _context.Timeslip_Templates.Add(c);
            }
            _context.SaveChanges();
        }