예제 #1
0
        public void DeleteOneProject(Guid id)
        {
            NewProjectExtensionBase project = _context.NewProjectExtensionBase
                                              .Where(i => i.NewProjectId == id).FirstOrDefault();

            NewProjectTypeExtensionBase projectType = _context.NewProjectTypeExtensionBase
                                                      .Where(u => u.NewProjectTypeId == project.NewProjectTypeId)
                                                      .FirstOrDefault();

            _context.NewProjectExtensionBase.Remove(project);
            _context.NewProjectTypeExtensionBase.Remove(projectType);
            _context.SaveChanges();
        }
예제 #2
0
        public void CreateProject(ProjectVM projectVM)
        {
            Guid projectTypeGuid;
            NewProjectTypeExtensionBase currentProjectType = null;

            //if the input projectTypeId is a valid Guid, use it to search the database
            bool success = Guid.TryParse(projectVM.ProjectTypeId, out Guid result);

            //fix this
            if (success)
            {
                projectTypeGuid = result;

                //find existing project type in the database
                currentProjectType = _context.NewProjectTypeExtensionBase.Where(p => p.NewProjectTypeId == projectTypeGuid)
                                     .FirstOrDefault();
            }
            //if the project type doesn't exist, use the default
            if (currentProjectType == null)
            {
                currentProjectType = _context.NewProjectTypeExtensionBase.Where(pt => pt.NewName == ConstantDirectory.ProjectTypeNameDefault).FirstOrDefault();
            }
            //if it still doesn't exist, create it
            if (currentProjectType == null)
            {
                currentProjectType = new NewProjectTypeExtensionBase()
                {
                    NewProjectTypeId = Guid.NewGuid(),
                    //assign the default name
                    NewName = ConstantDirectory.ProjectTypeNameDefault
                };
                _context.NewProjectTypeExtensionBase.Add(currentProjectType);
                _context.SaveChanges();
            }

            NewProjectExtensionBase project = new NewProjectExtensionBase()
            {
                NewProjectId     = Guid.NewGuid(),
                NewName          = projectVM.ProjectName,
                NewStartDate     = projectVM.StartDate,
                NewEndDate       = projectVM.EndDate,
                NewProjectTypeId = currentProjectType.NewProjectTypeId,
                NewAccountId     = Guid.Parse(projectVM.ClientId)
            };

            _context.NewProjectExtensionBase.Add(project);
            _context.SaveChanges();
        }
예제 #3
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();
        }