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(); }
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(); }
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(); }