프로젝트

일반

사용자정보

통계
| 개정판:

hytos / ID2.Manager / ID2.Manager.Controller / Controllers / ProjectController.cs @ d8bd4799

이력 | 보기 | 이력해설 | 다운로드 (3.23 KB)

1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
using System.Text;
5
using System.Threading.Tasks;
6

    
7
using ID2.Manager.Data.Models;
8
using ID2.Manager.Dapper.Repository;
9

    
10
namespace ID2.Manager.Controller.Controllers
11
{
12
    public class ProjectController : BaseController
13
    {
14
        public IEnumerable<ProjectInfo> GetAllProjectList()
15
        {
16
            try
17
            {
18
                using (ProjectRepository rep = new ProjectRepository(this._MSSQLCONNSTR))
19
                {
20
                    var id2Project = new ID2Controller().GetID2ProjectList();
21
                    var allProject = rep.GetAllProjectList();
22

    
23
                    return from mg in allProject
24
                           join id2 in id2Project on mg.Code equals id2.Name into gj
25
                           from prjs in gj.DefaultIfEmpty()
26
                           select new ProjectInfo()
27
                           {
28
                               ProjectID = mg.ProjectID,
29
                               Code = mg.Code,
30
                               Name = mg.Name,
31
                               Description = mg.Description,
32
                               ID2Path = prjs?.Path ?? null,
33
                               GroupID = mg.GroupID,
34
                               GroupName = mg.GroupName,
35
                               Team = mg.Team,
36
                               Port = mg.Port,
37
                               Level = mg.Level,
38
                               ID2Info = prjs ?? new ID2ProjectInfo(),
39
                           };
40
                }
41
            }
42
            catch (Exception ex)
43
            {
44
                throw ex;
45
            }
46
        }
47

    
48
        public ProjectInfo GetProjectInfo(string ProjectID)
49
        {
50
            try
51
            {
52
                using (ProjectRepository rep = new ProjectRepository(this._MSSQLCONNSTR))
53
                {
54
                    var id2Project = new ID2Controller().GetID2ProjectList();
55
                    var project = rep.GetProjectInfo(ProjectID);
56

    
57
                    var id2 = id2Project.Where(x => x.Name.Equals(project.Code)).FirstOrDefault();
58
                    project.ID2Path = id2?.Path ?? null;
59
                    project.ID2Info = id2 ?? new ID2ProjectInfo();
60

    
61
                    return rep.GetProjectInfo(ProjectID);
62
                }
63
            }
64
            catch (Exception ex)
65
            {
66
                throw ex;
67
            }
68
        }
69

    
70
        public bool SetProjectData(ProjectInfo projectInfo, List<ID2ProjectInfo> id2ProjectList)
71
        {
72
            try
73
            {
74
                using (ProjectRepository rep = new ProjectRepository(this._MSSQLCONNSTR))
75
                {
76
                    return rep.SetProjectData(projectInfo, id2ProjectList);
77
                }
78
            }
79
            catch (Exception ex)
80
            {
81
                throw ex;
82
            }
83
        }
84

    
85
        public bool SetProjectGroupData(ProjectInfo projectInfo)
86
        {
87
            try
88
            {
89
                using (ProjectRepository rep = new ProjectRepository(this._MSSQLCONNSTR))
90
                {
91
                    return rep.SetProjectGroupData(projectInfo);
92
                }
93
            }
94
            catch (Exception ex)
95
            {
96
                throw ex;
97
            }
98
        }
99
    }
100
}
클립보드 이미지 추가 (최대 크기: 500 MB)