コード例 #1
0
        public void TestInactiveProject()
        {
            var repositoryMock = new Mock <IProjectRepository>();
            var projectDomain  = new ProjectDomain(repositoryMock.Object);

            Assert.AreEqual("Inactive", projectDomain.CalculateStatus(false));
        }
コード例 #2
0
ファイル: DbBAL.cs プロジェクト: fredcool/GitDB
        public ListAllTablesResponse ListAllTables(ListAllTablesRequest request)
        {
            ListAllTablesResponse response = new ListAllTablesResponse();

            string projectPath = ProjectBasePath + request.ProjectName;

            if (Directory.Exists(projectPath))
            {
                // Get connection string from Project's _Db.config file
                ProjectDomain projectDomain = ProjectDomainHelper.ToProjectDomain(File.ReadAllText(projectPath + "\\_Db.config"));

                DbTableDAL     tableDAL = new DbTableDAL(ProjectDomainHelper.ToConnectionString(projectDomain));
                List <DbTable> tables   = tableDAL.GetTables();
                response.Tables = new List <CommitItemDomain>();
                foreach (DbTable table in tables)
                {
                    CommitItemDomain item = new CommitItemDomain();
                    item.ItemType          = CommitItemDomain.ItemType_Table;
                    item.Name              = table.TABLE_NAME;
                    item.CurrentDefinition = table.Definition;
                    response.Tables.Add(item);
                }
            }
            else
            {
                response.StatusCode    = StatusCodes.Status_Error;
                response.StatusMessage = "Project not exists";
            }

            return(response);
        }
コード例 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            ProjectDomain projectDomain = db.ProjectDomains.Find(id);

            db.ProjectDomains.Remove(projectDomain);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: Ishika1101/Tasks
        static void Main(string[] args)
        {
            int                 choice;
            EmployeeDomain      emp     = new EmployeeDomain();
            BusinessUnitDomain  unit    = new BusinessUnitDomain();
            EmployeeLeaveDomain leave   = new EmployeeLeaveDomain();
            AssignProjectDomain assign  = new AssignProjectDomain();
            ProjectDomain       project = new ProjectDomain();

            do
            {
                Console.WriteLine("Enter Choice:");
                choice = Convert.ToInt32(Console.ReadLine());
                switch (choice)
                {
                case 1:
                    emp.addEmployees();
                    break;

                case 2:
                    emp.deleteEmployees();
                    break;

                case 3:
                    emp.updateEmployees();
                    break;

                case 4:
                    unit.addUnits();
                    break;

                case 5:
                    unit.updateUnits();
                    break;

                case 6:
                    project.addProjects();
                    break;

                case 7:
                    leave.addLeave();
                    break;

                case 8:
                    leave.deleteLeave();
                    break;

                case 9:
                    assign.assignProject();
                    break;

                default:
                    Console.WriteLine("Exit");
                    break;
                }
            } while (choice != 10);
        }
コード例 #5
0
        public void GetProjectsByUser()
        {
            var userProjectList = new List <UserProject>();
            var project1        = new Project()
            {
                Id        = 1,
                StartDate = DateTime.Now,
                EndDate   = DateTime.Now.AddYears(1),
                Credits   = 5
            };

            var project2 = new Project()
            {
                Id        = 2,
                StartDate = DateTime.Now.AddDays(-1),
                EndDate   = DateTime.Now.AddDays(-1).AddYears(1),
                Credits   = 7
            };

            userProjectList.Add(new UserProject()
            {
                ProjectId    = 1,
                UserId       = 1,
                AssignedDate = DateTime.Now,
                IsActive     = true,
                Project      = project1
            });

            userProjectList.Add(new UserProject()
            {
                ProjectId    = 2,
                UserId       = 1,
                AssignedDate = DateTime.Now.AddDays(-1),
                IsActive     = false,
                Project      = project2
            });

            var repositoryMock = new Mock <IProjectRepository>();

            repositoryMock.Setup(x => x.Get(1)).Returns(userProjectList);
            var projectDomain = new ProjectDomain(repositoryMock.Object);

            var result = projectDomain.Get(1);

            Assert.AreEqual(2, result.Count());

            foreach (var item in result)
            {
                Assert.AreNotEqual(0, item.ProjectId);
                Assert.AreNotEqual(0, item.Credits);
                Assert.IsNotNull(item.StartDate);
                Assert.IsNotNull(item.EndDate);
                Assert.IsNotNull(item.Status);
                Assert.IsNotNull(item.TimeToStart);
            }
        }
コード例 #6
0
        public int Insert(ProjectDomain project)
        {
            using var connection = new SqlConnection(_connectionString);

            var query = $"insert into tbl_project (project_name, project_description) values ('{project.ProjectName}', '{project.ProjectDescription}')";

            var result = connection.Execute(query);

            return(result);
        }
コード例 #7
0
 public ActionResult Edit([Bind(Include = "ProjectDomainID,ProjectDomainName")] ProjectDomain projectDomain)
 {
     if (ModelState.IsValid)
     {
         db.Entry(projectDomain).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(projectDomain));
 }
コード例 #8
0
        public ActionResult Create([Bind(Include = "ProjectDomainID,ProjectDomainName")] ProjectDomain projectDomain)
        {
            if (ModelState.IsValid)
            {
                db.ProjectDomains.Add(projectDomain);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(projectDomain));
        }
コード例 #9
0
        public void TestMethod1()
        {
            ProjectDomain src = new ProjectDomain();

            src.Host     = "10.10.10.10";
            src.Username = "******";
            src.Password = "******";
            src.Database = "MyDB";
            string actual = ProjectDomainHelper.ToFileContent(src);

            Assert.AreEqual("", actual);
        }
コード例 #10
0
        public void TestTimeToStartDays()
        {
            var startDate    = new DateTime(2019, 1, 3);
            var assignedDate = new DateTime(2019, 1, 1);

            var repositoryMock = new Mock <IProjectRepository>();
            var projectDomain  = new ProjectDomain(repositoryMock.Object);

            var result = projectDomain.CalculateTimeToStart(startDate, assignedDate);

            Assert.AreEqual("2", result);
        }
コード例 #11
0
 public void SetDomain()
 {
     domain             = new ProjectDomain();
     unitOfWork         = new Mock <IUnitOfWork>();
     domain.unitOfWork  = unitOfWork.Object;
     project            = new Project();
     project.Name       = "Teste";
     project.NOfMembers = 4;
     project.PO         = 3;
     project.Master     = 4;
     unitOfWork.Setup(x => x.Projects.Get(1)).Returns(project);
 }
コード例 #12
0
 public IActionResult Insert([FromBody] ProjectDomain project)
 {
     try
     {
         var data = _projectRepository.Insert(project);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(new StatusCodeResult(500));
     }
 }
コード例 #13
0
        public int Update(ProjectDomain project)
        {
            using var connection = new SqlConnection(_connectionString);

            var query = "update tbl_project " +
                        $"set project_name = '{project.ProjectName}', " +
                        $"project_description = '{project.ProjectDescription}' " +
                        $"where id = {project.Id}";

            var result = connection.Execute(query);

            return(result);
        }
コード例 #14
0
        static void Main(string[] args)
        {
            Console.WriteLine("========== WelCome TO Business Information ==========");
            int            choice;
            EmployeeDomain employeeDomain = new EmployeeDomain();
            ProjectDomain  projectDomain  = new ProjectDomain();

            do
            {
                Console.WriteLine("\n======= Menu =======");
                Console.WriteLine("1.Add Employee");
                Console.WriteLine("2.View Employees");
                Console.WriteLine("3.Add Project");
                Console.WriteLine("4.View Projects");

                Console.WriteLine("0.Exit");

                Console.Write("\nEnter Your choice : ");
                choice = Convert.ToInt32(Console.ReadLine());

                switch (choice)
                {
                case 1:
                    Console.WriteLine("\n====== Add Employee =====");
                    employeeDomain.addEmolpyee();
                    break;

                case 2:
                    Console.WriteLine("\n====== View Employees =====");
                    employeeDomain.ViewEmployee();
                    break;

                case 3:
                    Console.WriteLine("\n====== Add Project Details =====");
                    projectDomain.addProject();
                    break;

                case 4:
                    Console.WriteLine("\n====== View All Project Details =====");
                    projectDomain.viewAllProject();
                    break;

                case 0:
                    return;

                default:
                    Console.WriteLine("Invalid choice");
                    break;
                }
            } while (i > -1);
        }
コード例 #15
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProjectDomain projectDomain = db.ProjectDomains.Find(id);

            if (projectDomain == null)
            {
                return(HttpNotFound());
            }
            return(View(projectDomain));
        }
コード例 #16
0
        public IActionResult Update([FromBody] ProjectDomain project)
        {
            try
            {
                var data = _projectRepository.Update(project);
                if (data == 0)
                {
                    return(NotFound());
                }

                return(Ok());
            }
            catch (Exception ex)
            {
                return(new StatusCodeResult(500));
            }
        }
コード例 #17
0
        public static ProjectDomain AtualizandoUmProjetoComSucesso(int projectId, string projectNewName, int projectEnabled, string statusCodeExpected)
        {
            ProjectDomain projectDomain = new ProjectDomain();

            UpdateProjectRequest updateProjectRequest = new UpdateProjectRequest(projectId);

            updateProjectRequest.SetJsonBody(projectId, projectNewName, projectEnabled);
            IRestResponse <dynamic> response = updateProjectRequest.ExecuteRequest();

            if (!response.StatusCode.ToString().Equals(statusCodeExpected))
            {
                throw new Exception("Erro ao executar a requisição.");
            }

            projectDomain.ProjectName = response.Data["project"]["name"].ToString();
            projectDomain.Enabled     = Convert.ToInt32(response.Data["project"]["status"]["enabled"]);

            return(projectDomain);
        }
コード例 #18
0
ファイル: ProjectBAL.cs プロジェクト: fredcool/GitDB
        public GetAllProjectsResponse GetAllProjects(GetAllProjectsRequest request)
        {
            GetAllProjectsResponse response = new GetAllProjectsResponse();

            //TODO Get all folder name under BasePath
            string[] projectPaths = Directory.GetDirectories(ProjectBasePath);

            List <ProjectDomain> projects = new List <ProjectDomain>();

            foreach (string projectPath in projectPaths)
            {
                // Read _DBConfig
                ProjectDomain projectDomain = ProjectDomainHelper.ToProjectDomain(File.ReadAllText(projectPath + "\\_Db.config"));
                projectDomain.ProjectName = projectPath.Replace(ProjectBasePath, "");
                projects.Add(projectDomain);
            }

            response.Projects = projects.ToList();
            return(response);
        }
コード例 #19
0
        public static ProjectDomain CriandoProjetoComSucesso(int projectId, string projectName, int projectStatusId, string statusName, string statusLabel, string description, int enabled, string filePath, int viewStateId, string viewStateName, string viewStateLabel, string statusCodeExpected)
        {
            ProjectDomain projectDomain = new ProjectDomain();

            CreateProjectRequest createProjectRequest = new CreateProjectRequest();

            createProjectRequest.SetJsonBody(projectId, projectName, projectStatusId, statusName, statusLabel, description, enabled, filePath, viewStateId, viewStateName, viewStateLabel);
            IRestResponse <dynamic> response = createProjectRequest.ExecuteRequest();

            if (!response.StatusCode.ToString().Equals(statusCodeExpected))
            {
                throw new Exception("Erro ao executar a requisição.");
            }

            projectDomain.ProjectId       = Convert.ToInt32(response.Data["project"]["id"]);
            projectDomain.ProjectName     = response.Data["project"]["name"].ToString();
            projectDomain.ProjectStatusId = Convert.ToInt32((response.Data["project"]["status"]["id"]));
            projectDomain.Enabled         = Convert.ToInt32((response.Data["project"]["enabled"]));
            projectDomain.ViewState       = Convert.ToInt32((response.Data["project"]["view_state"]["id"]));

            return(projectDomain);
        }
コード例 #20
0
        static void Main(string[] args)
        {
            Console.WriteLine("Welcome to Techie Company");
            bool showMenu = true;
            BusinessUnitDomain    businessUnitDomain    = new BusinessUnitDomain();
            EmployeeDomain        employeeDomain        = new EmployeeDomain();
            EmployeeLeaveDomain   employeeLeaveDomain   = new EmployeeLeaveDomain();
            EmployeeProjectDomain employeeProjectDomain = new EmployeeProjectDomain();
            ProjectDomain         projectDomain         = new ProjectDomain();

            while (showMenu)
            {
                Console.Clear();
                Console.WriteLine("Choose an option:");
                Console.WriteLine("1) Add Employee");
                Console.WriteLine("2) Add Employee Leave");
                Console.WriteLine("3) Add Employee Project");
                Console.WriteLine("4) Add Project");
                Console.WriteLine("5) List Project");
                Console.WriteLine("6) Exit");
                Console.Write("\r\nSelect an option: ");

                switch (Console.ReadLine().Trim())
                {
                case "1":
                {
                    Employees employee = new Employees();
                    Console.Write("Enter Name : ");
                    employee.EmployeeName = Console.ReadLine().Trim();
                    Console.Write("Enter Phone No : ");
                    employee.PhoneNo = Convert.ToInt64(Console.ReadLine().Trim());
                    Console.Write("Enter Email : ");
                    employee.Email = Console.ReadLine().Trim();
                    Console.Write("Enter Employee Type : ");
                    employee.EmployeeType = Convert.ToInt32(Console.ReadLine().Trim());
                    Console.WriteLine("No     Name");
                    foreach (BusinessUnits businessUnit in businessUnitDomain.GetBusinessUnits())
                    {
                        Console.WriteLine($"{businessUnit.BusinessUnitId}     {businessUnit.BusinessUnitName}");
                    }
                    Console.Write("Select Business Unit by No : ");
                    employee.BusinessUnitId = Convert.ToInt32(Console.ReadLine().Trim());
                    employeeDomain.AddEmployee(employee);
                    Console.Write("Employee Added");
                    Console.ReadLine();
                    break;
                }

                case "2":
                {
                    EmployeeLeaves employeeLeave = new EmployeeLeaves();
EmployeeName:
                    Console.Write("Enter Employee Name : ");
                    var Employees = employeeDomain.GetByEmployeeName(Console.ReadLine().Trim());
                    Console.WriteLine("No     Employee Name     EmployeeType     PhoneNo");
                    foreach (Employees employee in Employees)
                    {
                        Console.WriteLine($"{employee.EmployeeId}     {employee.EmployeeName}     {employee.EmployeeType}     {employee.PhoneNo}");
                    }
                    Console.WriteLine("You want to Search Again then enter '0' or Enter Employee No?");
                    int employeeId = Convert.ToInt32(Console.ReadLine().Trim());
                    if (employeeId == 0)
                    {
                        goto EmployeeName;
                    }
                    employeeLeave.EmployeeId = employeeId;
                    Console.Write("Enter Start Date : ");
                    employeeLeave.StartDate = Convert.ToDateTime(Console.ReadLine().Trim());
                    Console.Write("Enter End Date : ");
                    employeeLeave.EndDate = Convert.ToDateTime(Console.ReadLine().Trim());
                    employeeLeaveDomain.AddEmployeeLeave(employeeLeave);
                    Console.Write("Employee Leave is Created");
                    break;
                }

                case "3":
                {
                    EmployeeProjects employeeProject = new EmployeeProjects();
EmployeeName:
                    Console.Write("Enter Employee Name : ");
                    List <Employees> Employees = employeeDomain.GetByEmployeeName(Console.ReadLine().Trim());
                    Console.WriteLine("No     Employee Name     EmployeeType     PhoneNo");
                    foreach (Employees employee in Employees)
                    {
                        Console.WriteLine($"{employee.EmployeeId}     {employee.EmployeeName}     {employee.EmployeeType}     {employee.PhoneNo}");
                    }
                    Console.WriteLine("You want to Search Again then enter '0' or Enter Employee No?");
                    int employeeId = Convert.ToInt32(Console.ReadLine().Trim());
                    if (employeeId == 0)
                    {
                        goto EmployeeName;
                    }
                    employeeProject.EmployeeId = employeeId;
                    Console.WriteLine("No     Project Name");
                    foreach (Projects project in projectDomain.GetByBusinessUnit(Employees.Find(t => t.EmployeeId == employeeId).BusinessUnitId))
                    {
                        Console.WriteLine($"{project.ProjectId}     {project.ProjectName}");
                    }
                    Console.Write("Select Project by No : ");
                    employeeProject.ProjectId = Convert.ToInt32(Console.ReadLine().Trim());
                    employeeProjectDomain.AddEmployeeProject(employeeProject);
                    Console.Write("Project is Assign to Employee");
                    break;
                }

                case "4":
                {
                    Projects project = new Projects();
                    Console.Write("Enter Name : ");
                    project.ProjectName = Console.ReadLine().Trim();
                    Console.Write("Enter Budget : ");
                    project.Budget = Convert.ToInt32(Console.ReadLine().Trim());
                    Console.Write("Enter Start Date : ");
                    project.StartDate = Convert.ToDateTime(Console.ReadLine().Trim());
                    Console.Write("Enter Deadline Date : ");
                    project.DeadLine = Convert.ToDateTime(Console.ReadLine().Trim());
                    Console.WriteLine("No     Name");
                    foreach (BusinessUnits businessUnit in businessUnitDomain.GetBusinessUnits())
                    {
                        Console.WriteLine($"{businessUnit.BusinessUnitId}     {businessUnit.BusinessUnitName}");
                    }
                    Console.Write("Select Business Unit by No : ");
                    project.BusinessUnitId = Convert.ToInt32(Console.ReadLine().Trim());

EmployeeName:
                    Console.Write("Enter Employee Name : ");
                    List <Employees> Employees = employeeDomain.GetByEmployeeName(Console.ReadLine().Trim());
                    Console.WriteLine("No     Employee Name     EmployeeType     PhoneNo");
                    foreach (Employees employee in Employees)
                    {
                        Console.WriteLine($"{employee.EmployeeId}     {employee.EmployeeName}     {employee.EmployeeType}     {employee.PhoneNo}");
                    }
                    Console.WriteLine("You want to Search Again then enter '0' or Enter Employee No?");
                    int employeeId = Convert.ToInt32(Console.ReadLine().Trim());
                    if (employeeId == 0)
                    {
                        goto EmployeeName;
                    }
                    project.ProjectManagerId = employeeId;

                    project.Status = 10;
                    projectDomain.AddProject(project);
                    Console.Write("ManufactureUnit Added");
                    Console.ReadLine();
                    break;
                }

                case "5":
                {
                    Console.WriteLine("No     Project Name     BusinessUnit     Project Manager     Start Date     DeadLine");
                    foreach (Projects project in projectDomain.GetProjects())
                    {
                        Console.WriteLine($"{project.ProjectId}     {project.ProjectName}     {project.BusinessUnit.BusinessUnitName}     {project.ProjectManager.EmployeeName}     {project.StartDate}     {project.DeadLine}");
                    }
                    Console.ReadLine();
                    break;
                }

                case "6":
                {
                    showMenu = false;
                    break;
                }

                default:
                    Console.WriteLine("please enter correct option");
                    break;
                }
            }
        }
コード例 #21
0
 public DefineOptionMaturityModelNotFoundException(ProjectDomain project, MaturityModelDomain model, int value) : base($"Not found value {value} Maturity Model {model.Name} at project {project.Name}")
 {
 }
コード例 #22
0
ファイル: ProjectDomainHelper.cs プロジェクト: fredcool/GitDB
        public static ProjectDomain ToProjectDomain(string src)
        {
            ProjectDomain domain = JsonConvert.DeserializeObject <ProjectDomain>(src);

            return(domain);
        }
コード例 #23
0
ファイル: ProjectDomainHelper.cs プロジェクト: fredcool/GitDB
 public static string ToFileContent(ProjectDomain src)
 {
     return(JsonConvert.SerializeObject(src));
 }
コード例 #24
0
ファイル: ProjectDomainHelper.cs プロジェクト: fredcool/GitDB
        public static string ToConnectionString(ProjectDomain src)
        {
            string connectionString = "Data Source=" + src.Host + ";Initial Catalog=" + src.Database + ";Integrated Security=False;User Id=" + src.Username + ";Password="******";MultipleActiveResultSets=True";

            return(connectionString);
        }
コード例 #25
0
 public async Task Save(ProjectDomain project)
 {
     await projects.ReplaceOneAsync(p => p.ProjectId == project.ProjectId, project, new ReplaceOptions { IsUpsert = true });
 }
コード例 #26
0
        public async Task CreateProjectAsync(ProjectCreateRequest projectRequest)
        {
            var project = await ProjectDomain.CreateProjectAsync(projectRequest.PlatformId, projectRequest.Name);

            await project.SaveAsync();
        }
コード例 #27
0
ファイル: ProjectBAL.cs プロジェクト: fredcool/GitDB
        public ListItemsByProjectResponse ListItemsByProject(ListItemsByProjectRequest request)
        {
            ListItemsByProjectResponse response = new ListItemsByProjectResponse();
            string projectPath = ProjectBasePath + request.ProjectName;

            Repository repo = new Repository(projectPath);

            if (Directory.Exists(projectPath))
            {
                string[] itemPaths = Directory.GetFiles(projectPath);

                // Get connection string from Project's _Db.config file
                ProjectDomain projectDomain = ProjectDomainHelper.ToProjectDomain(File.ReadAllText(projectPath + "\\_Db.config"));

                // Get all tables
                IDbBAL dbBAL = new DbBAL();
                ListAllTablesRequest listAllTablesRequest = new ListAllTablesRequest();
                listAllTablesRequest.ProjectName = request.ProjectName;
                ListAllTablesResponse listAllTables = dbBAL.ListAllTables(listAllTablesRequest);

                if (listAllTables.Tables.Count > 0)
                {
                    response.TableItems = new List <CommitItemDomain>();
                    foreach (CommitItemDomain commitItem in listAllTables.Tables)
                    {
                        response.TableItems.Add(commitItem);
                        string itemPath = projectPath + "\\" + commitItem.GetCommitItemFileName();
                        if (File.Exists(itemPath))
                        {
                            //

                            // Write create definition to the file
                            File.WriteAllText(itemPath, commitItem.CurrentDefinition + "\n");

                            // Get Diff
                            foreach (PatchEntryChanges c in repo.Diff.Compare <Patch>())
                            {
                                commitItem.Diff = c.Patch;
                            }

                            // Reset to the latest commit since we already got the difference.
                            repo.Reset(ResetMode.Hard);
                        }
                        else
                        {
                            commitItem.Diff = commitItem.CurrentDefinition;
                        }
                    }
                }

                DbObjectDAL dbObjectDAL = new DbObjectDAL(ProjectDomainHelper.ToConnectionString(projectDomain));
                // Get Function
                List <DbObject> functions = dbObjectDAL.GetDbObjectsByType(DbObject.Type_Function);

                if (functions != null && functions.Count > 0)
                {
                    response.FunctionItems = new List <CommitItemDomain>();
                    foreach (DbObject function in functions)
                    {
                        CommitItemDomain item = new CommitItemDomain();
                        item.ItemType          = CommitItemDomain.ItemType_Function;
                        item.Name              = function.Name;
                        item.CurrentDefinition = function.Definition;
                        response.FunctionItems.Add(item);
                    }

                    //TODO
                    foreach (CommitItemDomain commitItem in response.FunctionItems)
                    {
                        string itemPath = projectPath + "\\" + commitItem.GetCommitItemFileName();
                        if (File.Exists(itemPath))
                        {
                            // Write create definition to the file
                            File.WriteAllText(itemPath, commitItem.CurrentDefinition + "\n");

                            // Get Diff
                            foreach (PatchEntryChanges c in repo.Diff.Compare <Patch>())
                            {
                                commitItem.Diff = c.Patch;
                            }

                            // Reset to the latest commit since we already got the difference.
                            repo.Reset(ResetMode.Hard);
                        }
                        else
                        {
                            commitItem.Diff = commitItem.CurrentDefinition;
                        }
                    }
                }

                // Get SP
                List <DbObject> storedProcedures = dbObjectDAL.GetDbObjectsByType(DbObject.Type_Stored_Procedure);
                if (storedProcedures != null && storedProcedures.Count > 0)
                {
                    response.StoredProcedureItems = new List <CommitItemDomain>();
                    foreach (DbObject storedProcedure in storedProcedures)
                    {
                        CommitItemDomain item = new CommitItemDomain();
                        item.ItemType          = CommitItemDomain.ItemType_Function;
                        item.Name              = storedProcedure.Name;
                        item.CurrentDefinition = storedProcedure.Definition;
                        response.StoredProcedureItems.Add(item);
                    }

                    //TODO
                    foreach (CommitItemDomain commitItem in response.StoredProcedureItems)
                    {
                        string itemPath = projectPath + "\\" + commitItem.GetCommitItemFileName();
                        if (File.Exists(itemPath))
                        {
                            // Write create definition to the file
                            File.WriteAllText(itemPath, commitItem.CurrentDefinition + "\n");

                            // Get Diff
                            foreach (PatchEntryChanges c in repo.Diff.Compare <Patch>())
                            {
                                commitItem.Diff = c.Patch;
                            }

                            // Reset to the latest commit since we already got the difference.
                            repo.Reset(ResetMode.Hard);
                        }
                        else
                        {
                            commitItem.Diff = commitItem.CurrentDefinition;
                        }
                    }
                }
            }
            else
            {
                response.StatusCode    = StatusCodes.Status_Error;
                response.StatusMessage = "Project not exists";
            }

            return(response);
        }
 public DefineMaturityModelNotFoundException(Guid maturityId, ProjectDomain project) : base($"Maturity {maturityId} not found to set at project {project.Name}")
 {
 }
 public ChapterProjectNotFoundException(ProjectDomain project, params Guid[] chaptersId) : base($"Chapters {string.Concat(", ", chaptersId)} not found Project {project.PlatformDomain}")
 {
 }