프로젝트

일반

사용자정보

통계
| 개정판:

hytos / ID2.Manager / ID2.Manager.Controller / Controllers / ProjectController.cs @ 1018a498

이력 | 보기 | 이력해설 | 다운로드 (3.18 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
                               Level = mg.Level,
37
                               ID2Info = prjs ?? new ID2ProjectInfo(),
38
                           };
39
                }
40
            }
41
            catch (Exception ex)
42
            {
43
                throw ex;
44
            }
45
        }
46

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

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

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

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

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