Esempio n. 1
0
 public static Models.Project CreateFromServerToClient(this Project source)
 {
     Models.Project project=new Models.Project();
     project.ProjectId = source.ProjectId;
     project.NameE = source.NameE;
     project.NameA = source.NameA;
     project.CustomerId = source.CustomerId;
     project.OrderId = source.OrderId;
     project.SerialNo = source.SerialNo;
     project.DescriptionE = source.DescriptionE;
     project.DescriptionA = source.DescriptionA;
     project.StartDate = Convert.ToDateTime(source.StartDate).ToString("dd/MM/yyyy", new CultureInfo("en"));
     project.EndDate = Convert.ToDateTime(source.EndDate).ToString("dd/MM/yyyy", new CultureInfo("en"));
     project.Price = Convert.ToInt64(source.Price);
     project.OtherCost = Convert.ToInt64(source.OtherCost);
     project.Status = source.Status;
     project.NotesE = source.NotesE;
     project.NotesA = source.NotesA;
     project.NotesForCustomerE = source.NotesForCustomerE;
     project.NotesForCustomerA = source.NotesForCustomerA;
     project.RecCreatedBy = source.RecCreatedBy;
     project.RecCreatedDate = source.RecCreatedDate;
     project.RecLastUpdatedBy = source.RecLastUpdatedBy;
     project.RecLastUpdatedDate = source.RecLastUpdatedDate;
     if (source.CustomerId > 0)
     {
         project.CustomerNameE = source.Customer.CustomerNameE;
         project.CustomerNameA = source.Customer.CustomerNameA;
     }
     return project;
 }
        public AddProjectForm(Models.Project project, AwesomeContext db)
        {
            InitializeComponent();

            // TODO: Complete member initialization
            this.project = project;
            this.db = db;
            this.projectBindingSource.Add(project);

            var clientList = db.Clients.OrderBy(x => x.Name);

            comboBox1.Items.AddRange(clientList.Select(x => x.Name).ToArray());
            comboBox1.SelectedIndex = comboBox1.FindStringExact(project.Client.Name);
        }
Esempio n. 3
0
        protected void reload_JS(object sender, EventArgs e)
        {
            using (var db = new Models.Database())
            {
                // Get current user, HitchBOT and Project
                this.user = (Models.Password)Session["New"];
                this.HitchBOT = db.hitchBOTs.First(l => l.ID == this.user.hitchBOT.ID);
                this.Project = db.Projects.Where(p => p.EndTime == null).ToArray().Last();

                // Create new builder to build JS files
                GoogleMapsBuilder = new Helpers.Location.GoogleMapsBuilder(this.HitchBOT.ID, this.Project.ID, this.user.ID);

                // Build JS using GoogleMapsBuilder
                GoogleMapsBuilder.BuildJsAndUpload();
            }
        }
Esempio n. 4
0
        public void TestDeleteProject_NoProjectAsParameter()
        {
            var context = new MockProjectManagerEntities();
            var users   = new TestDbSet <DAC.User>();

            users.Add(new DAC.User()
            {
                Employee_ID = "414942",
                First_Name  = "ankita",
                Last_Name   = "ghosh",
                User_ID     = 123,
                Task_ID     = 123
            });
            context.Users = users;
            Models.Project testProject = null;
            var            controller  = new ProjectController(new MockProjectBC(context));
            var            result      = controller.DeleteProjectDetails(testProject) as JSendResponse;
        }
Esempio n. 5
0
        public string ValidateProject(Models.Project project)
        {
            try
            {
                ValidateEmail(project);
                ValidateCategory(project);
                ValidateStatus(project);
                _addressValidation.ValidateAddress(project.Address);

                project.Location = _addressValidation.GetGeopoint(project.Address);

                return(string.Empty);
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }
        public void TestUpdateProject_NoProjectAsParameter()
        {
            var context = new MockProjectManagerEntities();
            var users   = new TestDbSet <DAC.User>();

            users.Add(new DAC.User()
            {
                Employee_ID = "549815",
                First_Name  = "Naveen",
                Last_Name   = "Sivaraju",
                User_ID     = 123,
                Task_ID     = 123
            });
            context.Users = users;
            Models.Project testProject = null;
            var            controller  = new ProjectController(new BC.ProjectBC(context));
            var            result      = controller.UpdateProjectDetails(testProject) as JSendResponse;
        }
        public void TestDeleteProject_NoProjectAsParameter()
        {
            var context = new Test_Project_ManagerContext();
            var users   = new TestDbSet <DAC.User>();

            users.Add(new DAC.User()
            {
                Employee_ID = "375543",
                First_Name  = "Robert",
                Last_Name   = "Morin",
                User_ID     = 123,
                Task_ID     = 123
            });
            context.Users = users;
            Models.Project testProject = null;
            var            controller  = new ProjectController(new BC.ProjectBC(context));
            var            result      = controller.DeleteProjectDetails(testProject) as JSendResponse;
        }
Esempio n. 8
0
        public async Task <List <Models.Project> > GetProjects()
        {
            ProjectContainer container = await networkService.GetProjectsAsync();

            List <Models.Project> list = new List <Models.Project>();

            for (int i = 0; i < container.total_count; i++)
            {
                Models.Project tmp = new Models.Project();
                tmp.Description = container.projects[i].description;
                tmp.Name        = container.projects[i].name;
                tmp.ProjectID   = container.projects[i].id;

                list.Add(tmp);
            }

            return(list);
        }
        private static void MapMembers(Models.Project modelProject, Project storageProject)
        {
            var membersIds = modelProject.MembersIds ?? new string[0];

            storageProject.Members ??= new List <ProjectMember>();
            var newMembersIds = membersIds.Where(m => storageProject.Members.All(sm => sm.UserId != m));

            storageProject.Members.RemoveAll(m => !membersIds.Contains(m.UserId));

            foreach (var memberId in newMembersIds)
            {
                storageProject.Members.Add(new ProjectMember()
                {
                    ProjectId = storageProject.Id,
                    UserId    = memberId
                });
            }
        }
Esempio n. 10
0
        public void TestDeleteProject_NoProjectAsParameter()
        {
            var context = new MockProjectManagerEntities();
            var users   = new TestDbSet <DAC.User>();

            users.Add(new DAC.User()
            {
                Employee_ID = "136600",
                First_Name  = "Sachin",
                Last_Name   = "Kumar",
                User_ID     = 123,
                Task_ID     = 123
            });
            context.Users = users;
            Models.Project testProject = null;
            var            controller  = new ProjectController(new BusLayer.ProjectBL(context));
            var            result      = controller.DeleteProjectDetails(testProject) as JsonResponse;
        }
Esempio n. 11
0
        public async Task <IActionResult> OnGetAsync(Guid?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            ProjectSprint = await db.ProjectSprint.FirstOrDefaultAsync(m => m.Id == id);

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

            Project = await db.Project.FirstOrDefaultAsync(w => w.Id == ProjectSprint.ProjectId);

            return(Page());
        }
Esempio n. 12
0
        public void TestDeleteProject_NoProjectAsParameter()
        {
            var context = new MockProjectManagerEntities();
            var users   = new TestDbSet <DAC.User>();

            users.Add(new DAC.User()
            {
                Employee_ID = "730496",
                First_Name  = "Subhasis",
                Last_Name   = "Sarkar",
                User_ID     = 123,
                Task_ID     = 123
            });
            context.Users = users;
            Models.Project testProject = null;
            var            controller  = new ProjectController(new BC.ProjectBC(context));
            var            result      = controller.DeleteProjectDetails(testProject) as JSONResponseModel;
        }
Esempio n. 13
0
        public void TestInsertProject_NoProjectAsParameter()
        {
            var context = new MockProjectManagerEntities();
            var users   = new TestDbSet <DAC.User>();

            users.Add(new DAC.User()
            {
                Employee_ID = "469176",
                First_Name  = "Devanjan",
                Last_Name   = "Bhattacharya",
                User_ID     = 123,
                Task_ID     = 123
            });
            context.Users = users;
            Models.Project testProject = null;
            var            controller  = new ProjectController(new BC.ProjectBC(context));
            var            result      = controller.InsertProjectDetails(testProject) as JSendResponse;
        }
        public Models.Project SaveProject(Models.Project project)
        {
            Models.Project oldProject = GetProject(project.ProjectUId);

            if (oldProject == null)
            {
                _context.Entry <Models.Project>(project).State = EntityState.Added;
            }
            else
            {
                _context.Projects.Attach(oldProject);
                _context.Entry <Models.Project>(oldProject).CurrentValues.SetValues(project);
            }

            _context.SaveChanges(true);
            _log.Log($"Projeto {project.Name} foi criado/alterado.");

            return(project);
        }
Esempio n. 15
0
        public Project()
        {
            _dictionaryById     = new Dictionary <string, Models.Project>();
            _dictionaryByServer = new Dictionary <string, Models.Project>();
            StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("~/Server.txt"), Encoding.Default);
            String       line;

            while ((line = sr.ReadLine()) != null)
            {
                string[] item   = line.Split(',');
                var      server = new Models.Project {
                    Id = item[0], Name = item[2], Server = item[1]
                };
                _dictionaryById.Add(server.Id.ToLower(), server);
                _dictionaryByServer.Add(server.Server.ToLower(), server);
            }
            sr.Close();
            sr.Dispose();
        }
Esempio n. 16
0
        public async Task <bool> Update(Models.Project project)
        {
            if (project == null)
            {
                return(false);
            }
            if (project.Id == null)
            {
                return(false);
            }
            if (project.Id == "")
            {
                return(false);
            }
            TimeSheetContext.Update(project);
            await TimeSheetContext.SaveChangesAsync();

            return(true);
        }
        public static List <Project> GetWinnersCount(int eventID)
        {
            List <Project> projectList = new List <Project>();

            try
            {
                SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
                builder.DataSource     = "luckydrawapplication20200108092548dbserver.database.windows.net";
                builder.UserID         = "sqladmin";
                builder.Password       = "******";
                builder.InitialCatalog = "luckywheeldb";

                using (SqlConnection connection = new SqlConnection(builder.ConnectionString))
                {
                    StringBuilder sb = new StringBuilder();
                    sb.Append("SELECT project.ProjectID, MAX(project.ProjectName) AS ProjectName, COUNT(DISTINCT(users.PrizeWon)) AS PrizesWon FROM project INNER JOIN users ON project.ProjectID = users.ProjectID WHERE users.PrizeWon != 0 AND users.EventID = " + eventID + " GROUP BY project.ProjectID");
                    String sql = sb.ToString();

                    using (SqlCommand command = new SqlCommand(sql, connection))
                    {
                        connection.Open();
                        using (SqlDataReader rd = command.ExecuteReader())
                        {
                            while (rd.Read())
                            {
                                Models.Project project = new Models.Project();
                                project.ProjectID    = Convert.ToInt32(rd["ProjectID"]);
                                project.ProjectName  = rd["ProjectName"].ToString();
                                project.EventID      = eventID;
                                project.NoOfProjects = Convert.ToInt32(rd["PrizesWon"]);
                                projectList.Add(project);
                            }
                        }
                    }
                }
            }
            catch (SqlException e)
            {
                Console.WriteLine(e.ToString());
            }

            return(projectList);
        }
Esempio n. 18
0
        public OperationStatus SaveProject(Models.Project project)
        {
            using (DataContext)
            {
                if (project.ProjectStatus == Status.Add)
                {
                    DataContext.Entry(project).State = EntityState.Added;
                }
                else
                {
                    if (project.ProjectStatus == Status.Modify)
                    {
                        DataContext.Entry(project).State = EntityState.Modified;
                    }
                }

                return(Save <Models.Project>(project));
            }
        }
        protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, ManageEditDetailsProjectRequirements requirement)
        {
            ProjectSecurity projectSecurity = new ProjectSecurity(_context, _httpContextAccessor, context, "Project");

            string loggedInOwnerId = projectSecurity.LoggedInUser;

            Models.Project editedRecord = (Models.Project)projectSecurity.EditedRecord;

            string pmId = _context.Users.Where(x => x.UserName == editedRecord.ProjectManager).Select(x => x.Id).FirstOrDefault();

            if (context.User.IsInRole("Admin") ||
                (context.User.IsInRole("ProjectManager") && loggedInOwnerId == pmId)
                )
            {
                context.Succeed(requirement);
            }

            return(Task.CompletedTask);
        }
Esempio n. 20
0
        public ActionResult Login(string project)
        {
            Models.Login model = new Models.Login();
            ViewBag.ShowServer = true;
            if (string.IsNullOrEmpty(project))
            {
                Models.Project pjt = Project.GetInstance().GetFirestProject();
                model.Server = pjt.Server;
            }
            else if (!string.IsNullOrEmpty(project))
            {
                //StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath("~/Server.txt"), Encoding.Default);
                //String line;
                //while ((line = sr.ReadLine()) != null)
                //{
                //    string[] item = line.Split(',');
                //    if (item[0].ToLower().Equals(project.ToLower()))
                //    {
                //        model.Server = item[1].Replace(":6699","");
                //        //ViewBag.ShowServer = false;
                //        break;
                //    }
                //}
                //sr.Close();
                //sr.Dispose();
                var server = BLL.Project.GetInstance().GetById(project);
                if (server != null)
                {
                    model.Server = server.Server;//.Replace(":6699", "");
                }
            }
            else
            {
                var server = System.Web.HttpContext.Current.Request.Cookies["Server"];
                model.Server = server != null ? server.Value : "";
            }
            var userName = System.Web.HttpContext.Current.Request.Cookies["UserName"];

            model.UserName = userName != null ? userName.Value : "";
            //model.PassWord = "******";
            return(View(model));
        }
Esempio n. 21
0
        public void btnSubmit_Click(Object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                using (var context = new DatabaseContext())
                {
                    Models.Project project = new Models.Project()
                    {
                        Title          = txtTitle.Text,
                        Description    = txtDescription.Text,
                        URL            = txtURL.Text,
                        ProjectMembers = new List <ProjectMember>()
                    };

                    if (fuPoster.HasFile)
                    {
                        try
                        {
                            string filename = Guid.NewGuid().ToString() + Path.GetExtension(fuPoster.FileName);
                            fuPoster.SaveAs(Server.MapPath("/Content/Posters/") + filename);
                            project.Poster = filename;
                        }
                        catch (Exception)
                        {
                        }
                    }

                    project.ProjectMembers.Add(new ProjectMember()
                    {
                        Project = project,
                        Student = context.Student
                                  .Single(s => s.ID == CurrentStudent.ID),
                        Role       = "Leader",
                        Reflection = txtReflections.Text
                    });
                    context.Add(project);

                    context.SaveChanges();
                    Response.Redirect("/Pages/Controls/Student/UpdateProjects.aspx");
                }
            }
        }
        private static IEnumerable <ProjectOwnershipLinkViewModel> ToLinksResolver(Models.Project project)
        {
            return(null);

            //var links = new List<ProjectOwnershipLinkViewModel>();
            //foreach (var projectCompany in project.ProjectCompanies)
            //{
            //    links.AddRange(
            //        projectCompany.DependentProjectCompanyFactShares
            //        .Where(x => x.ShareFactPart > 0)
            //        .Select(
            //            share => new ProjectOwnershipLinkViewModel()
            //            {
            //                SourceId = share.OwnerProjectCompanyId,
            //                TargetId = share.DependentProjectCompanyId,
            //                Share = share.ShareFactPart
            //            }));
            //}
            //return links;
        }
Esempio n. 23
0
        public ActionResult CreateProject()
        {
            if (!permissionService.Authorize(StandardPermissionProvider.ProjectBudgetManage))
            {
                return(AccessDeniedView());
            }

            Models.Project project = new Models.Project();
            project.EntityProject = new Project();
            _donors            = projectService.GetDonors(countryProg.Id);
            _currencies        = orderRequestService.GetCurrencies();
            project.Donors     = new SelectList(_donors, "Id", "Name");
            project.Currencies = new SelectList(_currencies, "Id", "Name", countryProg.Country.CurrencyId);
            project.StaffList  = new SelectList(staffService.GetStaffByCountryProgramme(countryProg.Id), "StaffId", "StaffName");
            project.StartDate  = project.EndDate = DateTime.Now;
            ViewBag.FormHeader = Resources.BudgetController_String_NewProject;
            ViewBag.ButtonText = Resources.BudgetController_String_AddProject;
            ViewBag.EditMode   = 0;
            return(View(project));
        }
Esempio n. 24
0
        public async Task <IActionResult> OnGetAsync(int id)
        {
            const string indexPage = "/Index";

            Solution = await _db.Solutions.FindAsync(id);

            if (Solution == null)
            {
                return(RedirectToPage(indexPage));
            }

            Project = await _db.Projects.FindAsync(Solution.IdProject);

            if (Project == null)
            {
                return(RedirectToPage(indexPage));
            }

            return(Page());
        }
        public void TestDeleteProject_NoProjectAsParameter()
        {
            var context = new MockProjectManagerEntities();
            var users   = new TestDbSet <DAC.User>();

            users.Add(new DAC.User()
            {
                Employee_ID = "414942",
                First_Name  = "Raj",
                Last_Name   = "Aryan",
                User_ID     = 123,
                Task_ID     = 123
            });
            context.Users = users;
            Models.Project testProject = null;
            var            controller  = new ProjectController(new BC.ProjectBC(context));
            var            ex          = Assert.Throws <ArgumentNullException>(() => controller.DeleteProjectDetails(testProject));

            Assert.That(ex.Message, Is.Not.Null);
        }
Esempio n. 26
0
        public PerformanceMeasuresViewData(Person currentPerson, Models.Project project, ViewDataForAngularEditor viewDataForAngularEditor, ProposalSectionsStatus proposalSectionsStatus)
            : base(currentPerson, project, ProjectCreateSection.ReportedPerformanceMeasures.ProjectCreateSectionDisplayName, proposalSectionsStatus)
        {
            RefreshUrl = SitkaRoute <ProjectUpdateController> .BuildUrlFromExpression(x => x.RefreshPerformanceMeasures(project));

            DiffUrl = SitkaRoute <ProjectUpdateController> .BuildUrlFromExpression(x => x.DiffPerformanceMeasures(project));

            var performanceMeasureActuals = project.GetReportedPerformanceMeasures();
            var performanceMeasureSubcategoriesCalendarYearReportedValues =
                PerformanceMeasureSubcategoriesCalendarYearReportedValue.CreateFromPerformanceMeasuresAndCalendarYears(new List <IPerformanceMeasureReportedValue>(performanceMeasureActuals));

            PerformanceMeasureReportedValuesSummaryViewData = new PerformanceMeasureReportedValuesSummaryViewData(performanceMeasureSubcategoriesCalendarYearReportedValues,
                                                                                                                  project.GetPerformanceMeasuresExemptReportingYears().Select(x => x.CalendarYear).ToList(),
                                                                                                                  project.PerformanceMeasureActualYearsExemptionExplanation,
                                                                                                                  performanceMeasureActuals.Select(x => x.CalendarYear).Distinct().Select(x => new CalendarYearString(x)).ToList());
            ViewDataForAngular = viewDataForAngularEditor;

            IsImplementationStartYearValid = project.GetImplementationStartYear().HasValue&& project.GetImplementationStartYear() < project.GetCompletionYear();
            ReportingYearLabel             = "Year";
        }
        public JsonResult Add(object[] data)
        {
            string projectName = data[0].ToString();
            int    userId      = Convert.ToInt32(data[1]);
            var    project     = new Models.Project {
                Name = projectName, UserId = userId, User = db.Users.Find(userId)
            };

            db.Projects.Add(project);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException ex)
            {
                //TODO
            }
            return(Json(Helper.ToJson(project)));
        }
Esempio n. 28
0
        public async void RefreshList()
        {
            Loading = true;

            var projectList = await Utilities.API.GetProjects(Utilities.User.Token);

            Projects.Clear();

            foreach (Models.JsonModels.JsonProject p in projectList)
            {
                var project = new Models.Project()
                {
                    Progress = new Random().NextDouble()
                };

                Projects.Add(project);
            }

            Loading = false;
        }
Esempio n. 29
0
        public async Task <IActionResult> Get()
        {
            List <Project> project_ = new List <Project>();
            var            Project  = await(from data in _context.Project
                                            select new
            {
                ProjectId   = data.ProjectId,
                ProjectName = data.ProjectName
            }).ToListAsync();

            Project.ForEach(x =>
            {
                Project pro     = new Models.Project();
                pro.ProjectId   = x.ProjectId;
                pro.ProjectName = x.ProjectName;
                project_.Add(pro);
            });

            return(Json(project_));
        }
Esempio n. 30
0
        public void TestDeleteProject_NoProjectAsParameter()
        {
            var context = new MockProjectManagerEntities();
            var users   = new TestDbSet <DAC.User>();

            users.Add(new DAC.User()
            {
                First_Name  = "User4FName",
                Last_Name   = "User4LName",
                Employee_ID = "100001",
                User_ID     = 123,
                Task_ID     = 123
            });
            context.Users = users;
            Models.Project testProject = null;
            var            controller  = new ProjectController(new BC.ProjectBC(context));

            Assert.That(() => controller.DeleteProjectDetails(testProject),
                        Throws.TypeOf <ArgumentNullException>());
        }
Esempio n. 31
0
        public ActionResult SaveProject(Models.Project project)
        {
            string pdId = "";

            project.EntityProject.ProjectNumber      = project.ProjectNumber;
            project.EntityProject.CountryProgrammeId = countryProg.Id;
            ViewBag.ProjectNumber = project.ProjectNumber;
            if (project.Id == null || project.Id.Trim() == Guid.Empty.ToString().Trim())
            {
                projectService.CreateProject(project.EntityProject);
                projectService.CreateProjectDonor(project.EntityProject, project.StartDate, project.EndDate, project.ProjectManagerId, project.DonorId, project.CurrencyId, project.OverrunAdjustment, ref pdId);
                if (pdId == null)
                {
                    _donors            = projectService.GetDonors(countryProg.Id);
                    _currencies        = projectService.GetCurrencies(countryProg.Id);
                    project.Donors     = new SelectList(_donors, "Id", "Name");
                    project.Currencies = new SelectList(_currencies, "Id", "Name");
                    ViewBag.FormHeader = Resources.BudgetController_String_NewProject;
                    ViewBag.ButtonText = Resources.BudgetController_String_AddProject;
                    ViewBag.EditMode   = 0;
                    ViewBag.Status     = 0;
                    return(View("CreateProject", project));
                }
            }
            else
            {
                projectService.UpdateProject(project.EntityProject);
                projectService.UpdateProjectDonor(project.Id, project.EntityProject.ProjectNumber, project.StartDate, project.EndDate, project.ProjectManagerId, project.DonorId, project.CurrencyId, project.OverrunAdjustment, ref pdId);
            }
            if (pdId != null)
            {
                ViewBag.Status = 1;
                ViewBag.Id     = pdId;
            }
            else
            {
                ViewBag.Status = 0;
                return(EditProject(new Guid(project.Id)));
            }
            return(EditProject(new Guid(pdId)));
        }
Esempio n. 32
0
        public async Task AddNewProject_ReturnsCreatedProject()
        {
            var username = _fixture.Create <string>();
            var project  = new Models.Project {
                Name = _fixture.Create <string>()
            };

            var commandController = new CommandProcessor();

            commandController.CiDashboardService = this.ciDashboardService;

            var result = await commandController.AddNewProject(username, project);

            A.CallTo(() => this.ciDashboardService.AddProject(username,
                                                              A <Project> .That.Matches(p => p.Name == project.Name)))
            .MustHaveHappened();

            result.Should()
            .NotBeNull()
            .And.BeOfType <Models.Project>();
        }
Esempio n. 33
0
        public override int InsertProjectDetails(Models.Project project)
        {
            DAC.Project proj = new DAC.Project()
            {
                Project1   = project.ProjectName,
                Start_Date = project.ProjectStartDate,
                End_Date   = project.ProjectEndDate,
                Priority   = project.Priority
            };
            _mockBd.Projects.Add(proj);
            var editDetails = (from editUser in _mockBd.Users
                               where editUser.User_ID.ToString().Contains(project.User.UserId.ToString())
                               select editUser).First();

            // Modify existing records
            if (editDetails != null)
            {
                editDetails.Project_ID = proj.Project_ID;
            }
            return(1);
        }
        public Models.Project createNewProject(Models.User creator, Models.Company company, Models.Project toCreate)
        {
            Models.Project newProject = new Models.Project()
            {
                ID = Guid.NewGuid(),
                Name = toCreate.Name,
                Description = toCreate.Description,
                CreatedDate = DateTime.UtcNow,
                CreatedBy = creator,
                AssignedUsers = new List<Models.User>(),
                BillableItems = new List<Models.BillingType>(),
                ProjectFiles = new List<Models.FileRevision>(),
                ProjectFolders = new List<Models.FileFolder>(),
                ReleaseList = new List<Models.Release>()
            };

            SQLProject sqlProject = new SQLProject()
            {
                CompanyId = company.ID,
                CreatedByUserId = creator.ID,
                CreatedDate = newProject.CreatedDate,
                Description = newProject.Description,
                Name = newProject.Name,
                ID = newProject.ID
            };

            db.SQLProjects.Add(sqlProject);

            db.SaveChanges();

            return newProject;
        }
        public Models.Project loadProjectById(Guid projectId)
        {
            SQLProject foundSQLProject = db.SQLProjects.FirstOrDefault(x => x.ID == projectId);

            Models.Project foundProject = new Models.Project()
            {
                AssignedUsers = new List<Models.User>(),
                BillableItems = new List<Models.BillingType>(),
                CreatedBy = loadUserById(foundSQLProject.CreatedByUserId, false),
                CreatedDate = foundSQLProject.CreatedDate,
                Description = foundSQLProject.Description,
                ID = foundSQLProject.ID,
                Name = foundSQLProject.Name,
                ProjectFiles = new List<Models.FileRevision>(),
                ProjectFolders = new List<Models.FileFolder>(),
                ReleaseList = loadProjectReleases(projectId)
            };

            return foundProject;
        }