Beispiel #1
0
 public async Task Add([FromBody] ProjectInfoModel model)
 {
     using (_context.Scope())
     {
         await _projectsDataProvider.AddAsync(HttpContext.User.GetUserId(), model);
     }
 }
        /// <summary>
        /// 获取项目信息
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static DataTable GetProjectInfo(ProjectInfoModel model)
        {
            #region 查询语句
            //查询SQL拼写
            StringBuilder infoSql = new StringBuilder();
            infoSql.AppendLine("select	a.ProjectNo,a.ID,a.ProjectName,a.CustID,a.CustLinkMan,a.LinkTel,");
            infoSql.AppendLine("		CASE a.StartDate WHEN NULL THEN '' ELSE CONVERT(CHAR(10), a.StartDate,23) END as StartDate,a.LinkMan,a.Tel,");
            infoSql.AppendLine("     CASE a.EndDate WHEN NULL THEN '' ELSE CONVERT(CHAR(10), a.EndDate,23) END as EndDate,a.Address,a.OverView,a.Remark,");
            infoSql.AppendLine("		c.EmployeeName as LinkManName,Convert(numeric(14,"+ ((UserInfoUtil)SessionUtil.Session["UserInfo"]).SelPoint + "),a.Investment) as Investment,");
            infoSql.AppendLine("		d.CustName,a.CanViewUser,[dbo].[getEmployeeNameString](a.CanViewUser) as CanViewUserName,");
            infoSql.AppendLine("     a.ExtField1,a.ExtField2,a.ExtField3,a.ExtField4,a.ExtField5,a.ExtField6,a.ExtField7,a.ExtField8,a.ExtField9,a.ExtField10,");
            infoSql.AppendLine("     a.ExtField11,a.ExtField12,a.ExtField13,a.ExtField14,a.ExtField15,a.ExtField16,a.ExtField17,a.ExtField18,a.ExtField19,a.ExtField20 ");
            infoSql.AppendLine("from officedba.ProjectInfo a");
            infoSql.AppendLine("left join officedba.EmployeeInfo c on a.LinkMan=c.ID");
            infoSql.AppendLine("left join officedba.CustInfo d on a.CustID=d.ID");
            infoSql.AppendLine("Where a.ID=@ID");
            //过滤单据:显示当前用户拥有权限查看的单据
            int empid = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).EmployeeID;
            infoSql.AppendLine(" and ( charindex('," + empid + ",' , ','+a.CanViewUser+',')>0 or a.Creator=" + empid + " OR a.CanViewUser='' OR a.CanViewUser is null) ");

            #endregion

            //定义查询的命令
            SqlCommand comm = new SqlCommand();
            comm.Parameters.Add(SqlHelper.GetParameterFromString("@ID", model.ID.ToString()));


            //指定命令的SQL文
            comm.CommandText = infoSql.ToString();
            //执行查询
            return(SqlHelper.ExecuteSearch(comm));
        }
        /// <summary>
        /// Lists the project infos.
        /// </summary>
        /// <param name="projectRepoPath">The repo path.</param>
        /// <returns> List project info </returns>
        public IList <ProjectInfoModel> GetListNugetProjectInfos(string projectRepoPath)
        {
            var result           = new List <ProjectInfoModel>();
            var listProjectPaths = Directory.GetDirectories(projectRepoPath, CommonConstant.AllDirectoryFilter, SearchOption.TopDirectoryOnly);

            if (!listProjectPaths.IsNullOrEmpty())
            {
                foreach (var projectPath in listProjectPaths)
                {
                    if (ProjectHelper.IsExistedFile(projectPath, CommonConstant.CsprojFileFilter, out var csprojFile) &&
                        ProjectHelper.IsExistedFolder(projectPath, CommonConstant.NugetAssetsFilter, out var nugetAssetFolder))
                    {
                        var projectInfo = new ProjectInfoModel()
                        {
                            ProjectName      = ProjectHelper.GetProjectName(csprojFile),
                            ProjectDirectory = projectPath,
                            NuspecPath       = Path.Combine(nugetAssetFolder, $"{ProjectHelper.GetProjectName(csprojFile)}{CommonConstant.NuspecFileFilter}")
                        };

                        result.Add(projectInfo);
                    }
                }
            }

            return(result);
        }
        public async Task <ProjectInfoModel> CreateProject(string projectName, string projectSummary, string avatarToken, string currentUserMail)
        {
            var currentUserRepoModel = this._userRepository.GetUser(currentUserMail);

            if (currentUserRepoModel == null)
            {
                Enforce.Throw(new LogicErrorException("当前用户已被删除"));
            }

            string projectAvatar = string.Empty;

            if (!string.IsNullOrEmpty(avatarToken))
            {
                projectAvatar = await _attachmentUploadRepository.GetAttachmentFileID(avatarToken, currentUserRepoModel.info.mail);
            }
            ProjectInfoModel infoModel = new ProjectInfoModel();

            infoModel.projectName    = projectName;
            infoModel.projectSummary = projectSummary;
            infoModel.projectAvatar  = projectAvatar;
            infoModel.createUserMail = currentUserRepoModel.info.mail;
            infoModel.createTime     = DateTime.Now;

            var project = Mapper.Map <ProjectInfoModel, T_PROJECT>(infoModel);

            if (this._projectBll.CreateProject(project, currentUserRepoModel.info.userID, currentUserRepoModel.info.userName))
            {
                infoModel = Mapper.Map <T_PROJECT, ProjectInfoModel>(project);
            }
            return(infoModel);
        }
Beispiel #5
0
        /// <summary>
        /// 插入项目档案
        /// </summary>
        /// <param name="model"></param>
        /// <param name="ht"></param>
        /// <param name="ID"></param>
        /// <returns></returns>
        public static bool InsertProjectInfo(ProjectInfoModel model, Hashtable ht, out string ID, string startDate, string endDate)
        {
            UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"];

            ID = "0";
            try
            {
                bool   succ        = false;
                string loginUserID = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).UserID;

                LogInfoModel logModel = InitLogInfo(model.ProjectNo, 0);
                logModel.Element = ConstUtil.LOG_PROCESS_INSERT;

                succ = ProjectInfoDBHelper.InsertProjectInfo(model, ht, out ID, startDate, endDate);
                if (!succ)
                {
                    logModel.Remark = ConstUtil.LOG_PROCESS_FAILED;
                }
                else
                {
                    logModel.Remark = ConstUtil.LOG_PROCESS_SUCCESS;
                }
                LogDBHelper.InsertLog(logModel);
                return(succ);
            }
            catch (Exception ex)
            {
                WriteSystemLog(userInfo, 0, ex);
                return(false);
            }
        }
Beispiel #6
0
        public MsgModel GetProjectinfo(string projectid)
        {
            var msg = new MsgModel
            {
                State = false,
                Msg   = "无法获取到项目信息!",
                Data  = null
            };

            try
            {
                string sql    = "SELECT * FROM `projectinfo` where projectid=" + projectid + ";";
                var    result = DbHelper.ExecuteDataTable(CommandType.Text, sql);
                if ((result != null) && (result.Rows.Count > 0))
                {
                    var projects = new List <ProjectInfoModel>();
                    foreach (DataRow row in result.Rows)
                    {
                        var project = new ProjectInfoModel();
                        if (DBNull.Value != row["Id"])
                        {
                            project.Id = Convert.ToInt32(row["Id"]);
                        }
                        if (DBNull.Value != row["projectname"])
                        {
                            project.Projectname = Convert.ToString(row["projectname"]);
                        }
                        if (DBNull.Value != row["Buildingid"])
                        {
                            project.Buildingid = Convert.ToString(row["Buildingid"]);
                        }
                        if (DBNull.Value != row["BuildingLeader"])
                        {
                            project.BuildingLeader = Convert.ToString(row["BuildingLeader"]);
                        }
                        if (DBNull.Value != row["BuildingLeaderId"])
                        {
                            project.BuildingLeaderId = Convert.ToInt32(row["BuildingLeaderId"]);
                        }
                        if (DBNull.Value != row["state"])
                        {
                            project.State = Convert.ToBoolean(row["state"]);
                        }
                        projects.Add(project);
                    }
                    msg.State = true;
                    msg.Msg   = "成功获取项目信息";
                    msg.Data  = projects;
                }
            }
            catch (Exception)
            {
                //ignore
            }
            return(msg);
        }
Beispiel #7
0
        /// <summary>
        /// 获取项目列表
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public string GetProjectList(HttpContext context)
        {
            int           pageIndex   = int.Parse(context.Request["PageIndex"]);
            int           pageSize    = int.Parse(context.Request["PageSize"]);
            string        projectName = context.Request["ProjectName"];
            string        area        = context.Request["Area"];
            string        category    = context.Request["Category"];
            int           totalCount  = 0;
            StringBuilder sbWhere     = new StringBuilder(string.Format(" Status in(1,2) And WebsiteOwner='{0}' ", bll.WebsiteOwner));

            if (!string.IsNullOrEmpty(projectName))
            {
                sbWhere.AppendFormat(" And ProjectName like '%{0}%'", projectName);
            }
            if (!string.IsNullOrEmpty(area))
            {
                sbWhere.AppendFormat(" And Area='{0}'", area);
            }
            if (!string.IsNullOrEmpty(category))
            {
                sbWhere.AppendFormat(" And Category='{0}'", category);
            }
            totalCount = bll.GetCount <WBProjectInfo>(sbWhere.ToString());
            List <WBProjectInfo>    data    = bll.GetLit <WBProjectInfo>(pageSize, pageIndex, sbWhere.ToString(), " Status ASC,AutoID DESC");
            List <ProjectInfoModel> newData = new List <ProjectInfoModel>();

            foreach (var item in data)
            {
                ProjectInfoModel model = new ProjectInfoModel();
                model.AutoID        = item.AutoID;
                model.ProjectName   = item.ProjectName;
                model.Thumbnails    = item.Thumbnails;
                model.Area          = item.Area;
                model.Category      = item.Category;
                model.ProjectCycle  = item.ProjectCycle;
                model.Status        = item.Status;
                model.InsertDate    = string.Format("{0:f}", item.InsertDate);
                model.InsertDateStr = item.InsertDateStr;
                WBCompanyInfo CompanyInfo = bll.Get <WBCompanyInfo>(string.Format("UserId='{0}'", item.UserId));
                if (CompanyInfo != null)
                {
                    model.CompanyName = CompanyInfo.CompanyName;
                }
                newData.Add(model);
            }
            resp.ExObj = newData;
            resp.ExStr = "";
            int totalpage = bll.GetTotalPage(totalCount, pageSize);

            if ((totalpage > pageIndex) && (pageIndex.Equals(1)))
            {
                resp.ExStr = "1";//是否增加下一页按钮
            }
            return(Common.JSONHelper.ObjectToJson(resp));
        }
        /// <summary>
        /// 获取项目详情
        /// </summary>
        /// <param name="projectID"></param>
        /// <returns></returns>
        private ProjectInfoModel getProjectInfo(int projectID)
        {
            ProjectInfoModel infoModel = null;
            var project = this._projectBll.GetEntity(new DapperExQuery <T_PROJECT>().AndWhere(s => s.ID, OperationMethod.Equal, projectID));

            if (project != null)
            {
                infoModel = Mapper.Map <T_PROJECT, ProjectInfoModel>(project);
            }
            return(infoModel);
        }
Beispiel #9
0
 /// <summary>
 /// 通过检索条件查询项目档案列表信息
 /// </summary>
 /// <param name="model"></param>
 /// <param name="startDate"></param>
 /// <param name="endDate"></param>
 /// <param name="EFIndex"></param>
 /// <param name="EFDesc"></param>
 /// <param name="pageIndex"></param>
 /// <param name="pageCount"></param>
 /// <param name="OrderBy"></param>
 /// <param name="totalCount"></param>
 /// <returns></returns>
 public static DataTable GetProjectInfoListBycondition(ProjectInfoModel model, string EFIndex, string EFDesc, int pageIndex, int pageCount, string OrderBy, ref int totalCount)
 {
     try
     {
         return(ProjectInfoDBHelper.GetProjectInfoListBycondition(model, EFIndex, EFDesc, pageIndex, pageCount, OrderBy, ref totalCount));
     }
     catch (System.Exception ex)
     {
         throw ex;
     }
 }
Beispiel #10
0
 /// <summary>
 /// 项目档案详细信息
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static DataTable GetProjectInfo(ProjectInfoModel model)
 {
     try
     {
         return(ProjectInfoDBHelper.GetProjectInfo(model));
     }
     catch (System.Exception ex)
     {
         throw ex;
     }
 }
Beispiel #11
0
 public ActionResult Status(int Id)
 {
     var model = new ProjectInfoModel();
     var pro = _projects.GetProjectWithId(Id);
     model.Id = pro.Id;
     model.PM = pro.PM;
     model.statusId = pro.statusId;
     model.Project = pro.Project;
     model.ProjectComment = pro.ProjectComment;
     model.StatusName = pro.ProjectStatus.StatusName;
     return View(model);
 }
        /// <summary>
        /// 通过检索条件查询项目档案列表
        /// </summary>
        /// <param name="model"></param>
        /// <param name="startDate"></param>
        /// <param name="endDate"></param>
        /// <param name="EFIndex"></param>
        /// <param name="EFDesc"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageCount"></param>
        /// <param name="OrderBy"></param>
        /// <param name="totalCount"></param>
        /// <returns></returns>
        public static DataTable GetProjectInfoListBycondition(ProjectInfoModel model, string EFIndex, string EFDesc, int pageIndex, int pageCount, string OrderBy, ref int totalCount)
        {
            #region 查询语句
            //查询SQL拼写
            StringBuilder searchSql = new StringBuilder();
            searchSql.AppendLine("select	a.ID,a.ProjectNo,a.ProjectName,a.CustID,b.CustName,");
            searchSql.AppendLine("		a.LinkMan,c.EmployeeName as LinkManName,a.ModifiedDate,");
            searchSql.AppendLine("		isnull( CONVERT(CHAR(10), a.StartDate, 23),'') as StartDate,");
            searchSql.AppendLine("		isnull( CONVERT(CHAR(10), a.EndDate, 23),'') as EndDate,Convert(numeric(14,"+ ((UserInfoUtil)SessionUtil.Session["UserInfo"]).SelPoint + "),a.Investment) as Investment ");
            searchSql.AppendLine("from officedba.ProjectInfo a");
            searchSql.AppendLine("left join officedba.CustInfo b on a.CustID=b.ID");
            searchSql.AppendLine("left join officedba.EmployeeInfo c on a.LinkMan=c.ID");
            searchSql.AppendLine("where a.CompanyCD=@CompanyCD");
            int empid = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).EmployeeID;
            searchSql.AppendLine(" and ( charindex('," + empid + ",' , ','+a.CanViewUser+',')>0 or a.Creator=" + empid + " OR a.CanViewUser='' OR a.CanViewUser is null)  ");


            #endregion

            //定义查询的命令
            SqlCommand comm = new SqlCommand();
            //添加公司代码参数
            comm.Parameters.Add(SqlHelper.GetParameterFromString("@CompanyCD", model.CompanyCD));

            //单据编号
            if (!string.IsNullOrEmpty(model.ProjectNo))
            {
                searchSql.AppendLine("and a.ProjectNo like @ProjectNo");
                comm.Parameters.Add(SqlHelper.GetParameterFromString("@ProjectNo", "%" + model.ProjectNo + "%"));
            }
            //项目名称
            if (!string.IsNullOrEmpty(model.ProjectName))
            {
                searchSql.AppendLine(" and a.ProjectName like @ProjectName");
                comm.Parameters.Add(SqlHelper.GetParameterFromString("@ProjectName", "%" + model.ProjectName + "%"));
            }
            //客户ID
            if (model.CustID > 0)
            {
                searchSql.AppendLine(" and a.CustID=@CustID ");
                comm.Parameters.Add(SqlHelper.GetParameterFromString("@CustID", model.CustID.ToString()));
            }
            //我方负责人
            if (model.LinkMan > 0)
            {
                searchSql.AppendLine(" and a.LinkMan=@LinkMan ");
                comm.Parameters.Add(SqlHelper.GetParameterFromString("@LinkMan", model.LinkMan.ToString()));
            }
            //指定命令的SQL文
            comm.CommandText = searchSql.ToString();
            //执行查询
            return(SqlHelper.PagerWithCommand(comm, pageIndex, pageCount, OrderBy, ref totalCount));
        }
Beispiel #13
0
        public ActionResult Delete([FromBody] ProjectInfoModel model)
        {
            //validation
            var result = AllItems.Where(x => x.ProjectInfoId == model.ProjectInfoId).FirstOrDefault();

            if (result == null)
            {
                return(BadRequest());
            }
            db.Remove(result);
            db.SaveChanges();
            return(Ok());
        }
Beispiel #14
0
 private void ViewModel_DeleteProjected(ProjectInfoModel obj)
 {
     try
     {
         ProjectItems.ToList().ForEach(pj =>
         {
             if (pj.Tag == obj)
             {
                 ProjectItems.Remove(pj);
             }
         });
         ResetProjectItem();
     }
     catch (Exception) { }
 }
Beispiel #15
0
        public ActionResult Create([FromBody] ProjectInfoModel model)
        {
            //validation

            if (ModelState.IsValid)
            {
                using (TransactionScope tranScope = new TransactionScope())
                {
                    db.Add(model);
                    db.SaveChanges();


                    InserTempTree(model.ServiceTemplateTreeRef, model.ProjectInfoId);
                    tranScope.Complete();
                }
            }
            return(Ok());
        }
        private async void DeleteProject(ProjectInfoModel data)
        {
            if (!await ApplicationHelper.Default.Quire("是否删除此工程:" + data.ProjectName))
            {
                return;
            }
            var appset = SettingHelper.LocContainer.CreateContainer("Projects", ApplicationDataCreateDisposition.Always);

            try
            {
                await(await StorageHelper.Default.LocFolder.GetFileAsync(data.ProjectName)).DeleteAsync();
                var folder = await(await StorageHelper.Default.LocFolder.GetFolderAsync("BackgroundImgs")).GetFolderAsync(data.Name);
                await folder.DeleteAsync();

                Projects.Remove(data);
                DeleteProjected?.Invoke(data);
            }
            catch (Exception) { }
        }
        public IEnumerable <ProjectInfoModel> List(int page = 1, int pageSize = 100)
        {
            int skip = (page - 1) * pageSize;

            if (skip < 0)
            {
                skip = 0;
            }

            if (pageSize < 1)
            {
                pageSize = 10;
            }

            return(base.Get().Skip(skip).Take(pageSize).Select(p => {
                ProjectInfoModel pi = Mapper.Map <Project, ProjectInfoModel>(p);
                pi.OrganizationName = _organizationRepository.GetByIdCached(p.OrganizationId).Name;

                return pi;
            }));
        }
Beispiel #18
0
        public MsgModel GetBuildings()
        {
            var msg = new MsgModel
            {
                State = false,
                Msg   = "无法获取到栋号信息!",
                Data  = null
            };

            try
            {
                const string sql    = "SELECT projectid,buildingid FROM `projectinfo` a WHERE a.state=1;";
                var          result = DbHelper.ExecuteDataTable(CommandType.Text, sql);
                if ((result != null) && (result.Rows.Count > 0))
                {
                    var projects = new List <ProjectInfoModel>();
                    foreach (DataRow row in result.Rows)
                    {
                        var project = new ProjectInfoModel();
                        if (DBNull.Value != row["projectid"])
                        {
                            project.Projectid = Convert.ToInt32(row["projectid"]);
                        }
                        if (DBNull.Value != row["buildingid"])
                        {
                            project.Buildingid = Convert.ToString(row["buildingid"]);
                        }
                        projects.Add(project);
                    }
                    msg.State = true;
                    msg.Msg   = "成功获取栋号信息";
                    msg.Data  = projects;
                }
            }
            catch (Exception)
            {
                //ignore
            }
            return(msg);
        }
        public ActionResult AddProject( [DataSourceRequest] DataSourceRequest request,ProjectInfoModel model)
        {
            ProjectInfo project = new ProjectInfo();
            var getSatusId = _projects.GetstatusName(model.StatusName);
            if(ModelState.IsValid)
            {
                project.Id = model.Id;
                project.PM = model.PM;
                project.Project = model.Project;
                project.ProjectComment = model.ProjectComment;
                project.statusId = getSatusId.Id;
                project.percentage = model.percentage;
                _projects.CreateProjects(project);
                TempData["success"] = "Edited Succefully";
            }
            else
            {
                TempData["fail"] = " Not Edited Succefully";
            }

            return RedirectToAction("ProjectOnDisplay", "AdminProject");
        }
Beispiel #20
0
        public ActionResult Edit([FromBody] ProjectInfoModel model)
        {
            //validation
            var result = AllItems.Where(x => x.ProjectInfoId == model.ProjectInfoId).FirstOrDefault();

            if (result == null)
            {
                return(BadRequest());
            }



            result.Title               = model.Title;
            result.ProjectNo           = model.ProjectNo;
            result.ProjectTreeRef      = model.ProjectTreeRef;
            result.ReginalPowerCorpRef = model.ReginalPowerCorpRef;
            result.State               = model.State;
            result.Description         = model.Description;
            db.Update(result);
            db.SaveChanges();
            return(Ok());
        }
        /// <summary>
        /// 扩展属性保存操作
        /// </summary>
        /// <returns></returns>
        private static void GetExtAttrCmd(ProjectInfoModel model, Hashtable htExtAttr, SqlCommand cmd)
        {
            try
            {
                string strSql = string.Empty;

                strSql = "UPDATE officedba.ProjectInfo set ";
                foreach (DictionaryEntry de in htExtAttr)// fileht为一个Hashtable实例
                {
                    strSql += de.Key.ToString().Trim() + "=@" + de.Key.ToString().Trim() + ",";
                    cmd.Parameters.AddWithValue("@" + de.Key.ToString().Trim(), de.Value.ToString().Trim());
                }
                int iLength = strSql.Length - 1;
                strSql  = strSql.Substring(0, iLength);
                strSql += " where CompanyCD = @CompanyCD  AND ProjectNo = @ProjectNo";
                cmd.Parameters.AddWithValue("@CompanyCD", model.CompanyCD);
                cmd.Parameters.AddWithValue("@ProjectNo", model.ProjectNo);
                cmd.CommandText = strSql;
            }
            catch (Exception)
            { }
        }
        private async void ProjectOperator()
        {
            if (string.IsNullOrEmpty(ProjectName))
            {
                return;
            }
            var filename = ProjectName + ".isf";
            var file     = await StorageHelper.Default.GetFile(StorageHelper.Default.LocFolder, filename);

            StorageFile newfile = null;
            var         pim     = new ProjectInfoModel(ProjectName + ".isf",
                                                       file != null ? file.Path :
                                                       (newfile = await StorageHelper.Default.CreateFile(StorageHelper.Default.LocFolder, filename)).Path);

            if (file == null && newfile != null)
            {
                var LocSetting = SettingHelper.ProjectContainer;
                if (LocSetting.Values.Keys.Contains(newfile.Name))
                {
                    LocSetting.Values[newfile.Name] = newfile.Path;
                }
                else
                {
                    LocSetting.Values.Add(newfile.Name, newfile.Path);
                }
            }
            //SettingHelper.Default.SetSettingValue(SettingHelper.LocContainer, "IsOpen", "1", false);
            var bki = await StorageHelper.Default.GetFolder(StorageHelper.Default.LocFolder, "BackgroundImgs");

            await StorageHelper.Default.CreateFolder(bki, ProjectName);

            SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
            ApplicationHelper.Default.SetWindowTitle(ProjectName);
            var navSer = SimpleIoc.Default.GetInstance <INavigationService>();

            //ApplicationHelper.Default.LocProject = pim;
            navSer.NavigateTo(ViewModelLocator.CanvasViewKey, pim);
        }
        public PagedResult <ProjectInfoModel> GetByOrganizationId(string organizationId, int page = 1, int pageSize = 10)
        {
            if (String.IsNullOrEmpty(organizationId) || !User.CanAccessOrganization(organizationId))
            {
                throw new ArgumentException("Invalid organization id.", "organizationId"); // TODO: These should probably throw http Response exceptions.
            }
            int skip = (page - 1) * pageSize;

            if (skip < 0)
            {
                skip = 0;
            }

            if (pageSize < 1)
            {
                pageSize = 10;
            }

            List <Project>          projects     = _repository.GetByOrganizationId(organizationId).ToList();
            List <ProjectInfoModel> projectInfos = projects.Skip(skip).Take(pageSize).Select(p => {
                ProjectInfoModel pi = Mapper.Map <Project, ProjectInfoModel>(p);
                pi.OrganizationName = _organizationRepository.GetByIdCached(p.OrganizationId).Name;

                return(pi);
            }).ToList();

            var result = new PagedResult <ProjectInfoModel>(projectInfos)
            {
                Page       = page > 1 ? page : 1,
                PageSize   = pageSize >= 1 ? pageSize : 10,
                TotalCount = projects.Count
            };

            // TODO: Only return the populated fields (currently all properties are being returned).
            return(result);
        }
        public ActionResult Info(string id)
        {
            var query1 = (from t1 in db.MSP_EpmProject_UserView
                          join t2 in db.MSP_EpmResource_UserView on t1.ProjectOwnerResourceUID equals t2.ResourceUID
                          join oct in db.MSPCFPRJ_Network_Priorities_AssociationView on t1.ProjectUID equals oct.EntityUID into temp1
                          from t3 in temp1.DefaultIfEmpty()
                          join it in db.MSP_EpmLookupTable on t3.LookupMemberUID equals it.MemberUID into temp2
                          from t4 in temp2.DefaultIfEmpty()
                          where departmentNames.Contains(t1.Project_Departments) && t1.ProjectUID.ToString() == id
                          select new ProjectCaseInfo
            {
                projectID = t1.Project_ID,
                projectDesc = t1.Project_Description,
                methodology = t1.Methodology,
                networkPriorities = t4.MemberFullValue,
                projectName = t1.ProjectName,
                projectSponsor = t1.Project_Sponsor,
                execSponsor = t1.Executive_Sponsor,
                leadArch = t1.Lead_Architect,
                refID = t1.Reference_ID,
                program = t1.Program,
                projectAuthorName = t1.Proposal_Authors,
                projectManagerName = t1.ProjectOwnerName,
                projectOwner = t2.ResourceNTAccount,
                SME = t1.Sustaining_Resource,
                phase = t1.Phase,
                costStatus = t1.Cost_Status,
                scheduleStatus = t1.Schedule_Status,
                scopeStatus = t1.Scope_Status,
                teamStatus = t1.Team_Status,
                proposalStart = t1.Proposed_Start,
                proposalFinish = t1.Proposed_Finish,
                projectStartDate = t1.ProjectStartDate,
                projectFinishDate = t1.ProjectFinishDate,
                firstSubmitted = t1.First_Portfolio_Submital,
                projectDuration = t1.ProjectDuration,
                projectRemainingWork = t1.ProjectRemainingWork,
                projectWorkspaceInternalHref = t1.ProjectWorkspaceInternalHRef,


                //primaryService = t1.Primary_Service,
                projectStkholders = t1.Key_Stakeholders,
                projectDeliverables = t1.Deliverables_Comment,
                problemOpp = t1.Problem_Opportunity_Statement,
                projectScope = t1.Project_Scope,
                projectExclusions = t1.Project_Exclusions,
                projectConstraints = t1.Project_Constraints,
                billing = t1.Billing,
                costComment = t1.Cost_Comment,
                benefitComment = t1.Benefits_Comment,
                driverComment = t1.Business_Driver_Comments,
                unprovenTechnology = t1.Unproven_Technology,
                targetPerformance = t1.Target_Performance,
                currentPerformance = t1.Current_Performance,
                coreTeam = t1.Core_Team,
                projectUID = t1.ProjectUID.ToString(),

                baselineStartDate = t1.ProjectBaseline0StartDate,
                baselineFinishDate = t1.ProjectBaseline0FinishDate,
                actualPercentageCompleted = t1.ProjectPercentCompleted,
                resourceStatus = t1.Resource_Status,
                resourceStatusDetail = t1.Resource_Status_Detail,
                substainingResource = t1.Sustaining_Resource
            }).FirstOrDefault();

            if (query1 != null)
            {
                if (query1.projectStartDate.HasValue)
                {
                    query1.projectStartDateDisplay = query1.projectStartDate.Value.ToShortDateString();
                }
                if (query1.projectFinishDate.HasValue)
                {
                    query1.projectFinishDateDisplay = query1.projectFinishDate.Value.ToShortDateString();
                }
                if (query1.baselineStartDate.HasValue)
                {
                    query1.baselineStartDateDisplay = query1.baselineStartDate.Value.ToShortDateString();
                }
                if (query1.baselineFinishDate.HasValue)
                {
                    query1.baselineFinishDateDisplay = query1.baselineFinishDate.Value.ToShortDateString();
                }

                //if (query1.projectDesc != null)
                //{
                //    query1.projectDesc = Regex.Replace(query1.projectDesc, "<.*?>|&.*?;", string.Empty).Trim();
                //}

                //if (query1.projectScope != null)
                //{
                //    query1.projectScope = Regex.Replace(query1.projectScope, "<.*?>|&.*?;", string.Empty).Trim();
                //}

                //if (query1.projectDeliverables != null)
                //{
                //    query1.projectDeliverables = Regex.Replace(query1.projectDeliverables, "<.*?>|&.*?;", string.Empty).Trim();
                //}

                ViewBag.projectInfo = query1;
            }
            else
            {
                ViewBag.projectInfo = new ProjectCaseInfo();
            }

            var query2 = (from t1 in db.MSP_EpmProject_UserView
                          join t2 in db.MSP_WssIssueToIssueLinks_UserView on t1.ProjectUID equals t2.ProjectUID
                          where departmentNames.Contains(t1.Project_Departments) && t1.ProjectUID.ToString() == id &&
                          t2.Status.EndsWith("Active") && t2.Priority.EndsWith("High")
                          select new ProjectCaseIssue
            {
                projectUID = t1.ProjectUID.ToString(),
                projectID = t1.Project_ID,
                projectName = t1.ProjectName,
                title = t2.Title,
                actionPlan = t2.Resolution,
                assignedToResource = t2.AssignedToResource
            });
            var issuesData = query2.ToList <ProjectCaseIssue>();

            var query3 = (from t1 in db.MSP_EpmProject_UserView
                          join t2 in db.MSP_EpmTask_UserView on t1.ProjectUID equals t2.ProjectUID
                          where departmentNames.Contains(t1.Project_Departments) && t1.ProjectUID.ToString() == id && t2.ReportTask == true
                          orderby t2.TaskIndex
                          select new ProjectCaseDeliverable
            {
                projectUID = t1.ProjectUID.ToString(),
                projectID = t1.Project_ID,
                projectName = t1.ProjectName,
                taskName = t2.TaskName,
                taskStartDate = t2.TaskStartDate,
                taskFinishDate = t2.TaskFinishDate,
                taskPercentCompleted = t2.TaskPercentCompleted,
                taskACWP = t2.TaskACWP,
                taskBCWP = t2.TaskBCWP,
                taskBCWS = t2.TaskBCWS,
                taskBaseline0FinishDate = t2.TaskBaseline0FinishDate,
            });
            var deliverablesData = query3.ToList <ProjectCaseDeliverable>();

            for (int i = 0; i < deliverablesData.Count(); i++)
            {
                if (deliverablesData[i].taskStartDate.HasValue)
                {
                    deliverablesData[i].taskStartDateDisplay = deliverablesData[i].taskStartDate.Value.ToShortDateString();
                }
                if (deliverablesData[i].taskFinishDate.HasValue)
                {
                    deliverablesData[i].taskFinishDateDisplay = deliverablesData[i].taskFinishDate.Value.ToShortDateString();
                }
                if (deliverablesData[i].taskBaseline0FinishDate.HasValue)
                {
                    deliverablesData[i].taskBaseline0FinishDateDisplay = deliverablesData[i].taskBaseline0FinishDate.Value.ToShortDateString();
                }
            }

            ProjectInfoModel modelData = new ProjectInfoModel();

            modelData.listOfIssues       = issuesData;
            modelData.listOfDeliverables = deliverablesData;

            return(View(modelData));
        }
 public void ItemQuerySubmitted(ProjectInfoModel model)
 {
     ProjectName = model.Name;
 }
Beispiel #26
0
 protected ProjectInfoFacade(ProjectInfoModel model) : base(model)
 {
 }
        /// <summary>
        /// 项目档案插入
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static bool InsertProjectInfo(ProjectInfoModel model, Hashtable htExtAttr, out string ID, string StartDate, string EndDate)
        {
            ArrayList listADD = new ArrayList();
            bool      result  = false;


            #region  项目档案添加SQL语句
            StringBuilder sqlPro = new StringBuilder();
            sqlPro.AppendLine("INSERT INTO officedba.ProjectInfo");
            sqlPro.AppendLine("           (CompanyCD");
            sqlPro.AppendLine("           ,ProjectNo");
            sqlPro.AppendLine("           ,ProjectName");
            sqlPro.AppendLine("           ,CustID");
            sqlPro.AppendLine("           ,CustLinkMan");
            sqlPro.AppendLine("           ,LinkTel");
            sqlPro.AppendLine("           ,LinkMan");
            sqlPro.AppendLine("           ,Tel");
            sqlPro.AppendLine("           ,Address");
            if (!string.IsNullOrEmpty(StartDate))
            {
                sqlPro.AppendLine("           ,StartDate");
            }
            if (!string.IsNullOrEmpty(EndDate))
            {
                sqlPro.AppendLine("           ,EndDate");
            }
            sqlPro.AppendLine("           ,OverView");
            sqlPro.AppendLine("           ,Remark");
            sqlPro.AppendLine("           ,Creator");
            sqlPro.AppendLine("           ,CreateDate");
            sqlPro.AppendLine("           ,Investment");
            sqlPro.AppendLine("           ,ModifiedDate");
            sqlPro.AppendLine("           ,CanViewUser)");
            sqlPro.AppendLine("     VALUES");
            sqlPro.AppendLine("           (@CompanyCD");
            sqlPro.AppendLine("           ,@ProjectNo");
            sqlPro.AppendLine("           ,@ProjectName");
            sqlPro.AppendLine("           ,@CustID");
            sqlPro.AppendLine("           ,@CustLinkMan");
            sqlPro.AppendLine("           ,@LinkTel");
            sqlPro.AppendLine("           ,@LinkMan");
            sqlPro.AppendLine("           ,@Tel");
            sqlPro.AppendLine("           ,@Address");
            if (!string.IsNullOrEmpty(StartDate))
            {
                sqlPro.AppendLine("           ,@StartDate");
            }
            if (!string.IsNullOrEmpty(EndDate))
            {
                sqlPro.AppendLine("           ,@EndDate");
            }
            sqlPro.AppendLine("           ,@OverView");
            sqlPro.AppendLine("           ,@Remark");
            sqlPro.AppendLine("           ,@Creator");
            sqlPro.AppendLine("           ,@CreateDate");
            sqlPro.AppendLine("           ,@Investment");
            sqlPro.AppendLine("           ,getdate()");
            sqlPro.AppendLine("           ,@CanViewUser)");
            sqlPro.AppendLine("set @ID=@@IDENTITY");

            SqlCommand comm = new SqlCommand();
            comm.CommandText = sqlPro.ToString();
            comm.Parameters.Add(SqlHelper.GetParameter("@CompanyCD", model.CompanyCD));
            comm.Parameters.Add(SqlHelper.GetParameter("@ProjectNo", model.ProjectNo));
            comm.Parameters.Add(SqlHelper.GetParameter("@ProjectName", model.ProjectName));
            comm.Parameters.Add(SqlHelper.GetParameter("@CustID", model.CustID));
            comm.Parameters.Add(SqlHelper.GetParameter("@CustLinkMan", model.CustLinkMan));
            comm.Parameters.Add(SqlHelper.GetParameter("@LinkTel", model.LinkTel));
            comm.Parameters.Add(SqlHelper.GetParameter("@LinkMan", model.LinkMan));
            comm.Parameters.Add(SqlHelper.GetParameter("@Tel", model.Tel));
            comm.Parameters.Add(SqlHelper.GetParameter("@Address", model.Address));
            if (!string.IsNullOrEmpty(StartDate))
            {
                comm.Parameters.Add(SqlHelper.GetParameter("@StartDate", StartDate));
            }
            if (!string.IsNullOrEmpty(EndDate))
            {
                comm.Parameters.Add(SqlHelper.GetParameter("@EndDate", EndDate));
            }
            comm.Parameters.Add(SqlHelper.GetParameter("@OverView", model.OverView));
            comm.Parameters.Add(SqlHelper.GetParameter("@Remark", model.Remark));
            comm.Parameters.Add(SqlHelper.GetParameter("@Creator", model.Creator));
            comm.Parameters.Add(SqlHelper.GetParameter("@CreateDate", model.CreateDate));
            comm.Parameters.Add(SqlHelper.GetParameter("@Investment", model.Investment));
            comm.Parameters.Add(SqlHelper.GetParameter("@CanViewUser", model.CanViewUser));
            comm.Parameters.Add(SqlHelper.GetOutputParameter("@ID", SqlDbType.Int));



            listADD.Add(comm);
            #endregion
            try
            {
                #region 扩展属性
                SqlCommand cmd = new SqlCommand();
                GetExtAttrCmd(model, htExtAttr, cmd);
                if (htExtAttr.Count > 0)
                {
                    listADD.Add(cmd);
                }
                #endregion

                if (SqlHelper.ExecuteTransWithArrayList(listADD))
                {
                    ID     = comm.Parameters["@ID"].Value.ToString();
                    result = true;
                }
                else
                {
                    ID = "0";
                }
                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// 修改项目档案
        /// </summary>
        /// <param name="model"></param>
        /// <param name="loginUserID"></param>
        /// <returns></returns>
        public static bool UpdateProjectInfo(ProjectInfoModel model, Hashtable htExtAttr, string StartDate, string EndDate)
        {
            //获取登陆用户ID
            ArrayList listADD = new ArrayList();

            if (model.ID <= 0)
            {
                return(false);
            }

            #region  主生产计划单修改SQL语句
            StringBuilder sqlEdit = new StringBuilder();
            sqlEdit.AppendLine("UPDATE officedba.ProjectInfo");
            sqlEdit.AppendLine("   SET ProjectName = @ProjectName");
            sqlEdit.AppendLine("      ,CustID = @CustID");
            sqlEdit.AppendLine("      ,CustLinkMan = @CustLinkMan");
            sqlEdit.AppendLine("      ,LinkTel = @LinkTel");
            sqlEdit.AppendLine("      ,LinkMan = @LinkMan");
            sqlEdit.AppendLine("      ,Tel = @Tel");
            sqlEdit.AppendLine("      ,Address = @Address");
            if (!string.IsNullOrEmpty(StartDate))
            {
                sqlEdit.AppendLine("      ,StartDate = @StartDate");
            }
            if (!string.IsNullOrEmpty(EndDate))
            {
                sqlEdit.AppendLine("      ,EndDate = @EndDate");
            }
            sqlEdit.AppendLine("      ,OverView = @OverView");
            sqlEdit.AppendLine("      ,Remark = @Remark");
            sqlEdit.AppendLine("      ,CanViewUser = @CanViewUser");
            sqlEdit.AppendLine("      ,Investment = @Investment");
            sqlEdit.AppendLine("      ,ModifiedDate = getdate()");
            sqlEdit.AppendLine(" WHERE ID=@ID");



            SqlCommand comm = new SqlCommand();
            comm.CommandText = sqlEdit.ToString();
            comm.Parameters.Add(SqlHelper.GetParameter("@ID", model.ID));
            comm.Parameters.Add(SqlHelper.GetParameter("@ProjectName", model.ProjectName));
            comm.Parameters.Add(SqlHelper.GetParameter("@CustID", model.CustID));
            comm.Parameters.Add(SqlHelper.GetParameter("@CustLinkMan", model.CustLinkMan));
            comm.Parameters.Add(SqlHelper.GetParameter("@LinkTel", model.LinkTel));
            comm.Parameters.Add(SqlHelper.GetParameter("@LinkMan", model.LinkMan));
            comm.Parameters.Add(SqlHelper.GetParameter("@Tel", model.Tel));
            comm.Parameters.Add(SqlHelper.GetParameter("@Address", model.Address));
            if (!string.IsNullOrEmpty(StartDate))
            {
                comm.Parameters.Add(SqlHelper.GetParameter("@StartDate", StartDate));
            }
            if (!string.IsNullOrEmpty(EndDate))
            {
                comm.Parameters.Add(SqlHelper.GetParameter("@EndDate", EndDate));
            }
            comm.Parameters.Add(SqlHelper.GetParameter("@OverView", model.OverView));
            comm.Parameters.Add(SqlHelper.GetParameter("@Remark", model.Remark));
            comm.Parameters.Add(SqlHelper.GetParameter("@CanViewUser", model.CanViewUser));
            comm.Parameters.Add(SqlHelper.GetParameter("@Investment", model.Investment));


            listADD.Add(comm);
            #endregion

            #region 拓展属性
            SqlCommand cmd = new SqlCommand();
            GetExtAttrCmd(model, htExtAttr, cmd);
            if (htExtAttr.Count > 0)
            {
                listADD.Add(cmd);
            }
            #endregion

            return(SqlHelper.ExecuteTransWithArrayList(listADD));
        }
        public ActionResult EditProject([DataSourceRequest] DataSourceRequest request, ProjectInfoModel model)
        {
            var getproject = _projects.GetProjectWithId(model.Id);
            model.statusId = getproject.statusId;

            if(ModelState.IsValid)
            {
                getproject.PM = model.PM;
                getproject.Project = model.Project;
                getproject.ProjectComment = model.ProjectComment;
                //project.statusId = getSatusId.ProjectStatus.Id;
                getproject.percentage = model.percentage;
                //project.ProjectStatus.StatusName = model.StatusName;
                getproject.statusId = model.statusId;
                _projects.CreateProjects(getproject);
                TempData["success"] = "Edited Succefully";
            }

            return RedirectToAction("ProjectOnDisplay", "AdminProject");
        }
Beispiel #30
0
        /// <summary>
        /// Gets the latest commit change file.
        /// </summary>
        /// <param name="projectInfo">The project information.</param>
        /// <param name="rootGitPath">The root git path.</param>
        /// <param name="startDay">The start day.</param>
        /// <param name="endDay">The end day.</param>
        /// <returns> Latest commit</returns>
        public Commit GetLatestCommitChangeFile(ProjectInfoModel projectInfo, string rootGitPath, string startDay, string endDay)
        {
            var listCommit = new List <Commit>();

            try
            {
                // Build start day and end day
                var startDateTime  = DateTime.ParseExact(startDay, CommonConstant.DayTimeFormat, CultureInfo.InvariantCulture);
                var endDateTime    = DateTime.ParseExact(endDay, CommonConstant.DayTimeFormat, CultureInfo.InvariantCulture);
                var startDayNumber = DateTime.Now > startDateTime ? -(DateTime.Now - startDateTime).Days : (DateTime.Now - startDateTime).Days;
                var endDayNumer    = DateTime.Now > endDateTime ? -(DateTime.Now - endDateTime).Days : (DateTime.Now - endDateTime).Days;

                // Using libgit2sharp to get change file
                using (var repo = new Repository(rootGitPath))
                {
                    // get commits from all branches, not just master
                    var commits = repo.Commits.QueryBy(
                        new CommitFilter
                    {
                        SortBy = CommitSortStrategies.Time | CommitSortStrategies.Reverse
                    });

                    // here I can access commit's author, but not time
                    var since      = new DateTimeOffset(DateTime.Now.AddDays(startDayNumber));
                    var until      = new DateTimeOffset(DateTime.Now.AddDays(endDayNumer));
                    var commitLogs = commits.Where(c => c.Committer.When > since && c.Committer.When < until)?.ToList();
                    if (!commitLogs.IsNullOrEmpty())
                    {
                        // Loop on list commit
                        foreach (var commitLog in commitLogs)
                        {
                            // Ignore if don't have parrent
                            if (commitLog.Parents.IsNullOrEmpty())
                            {
                                continue;
                            }

                            // Loop on parrent commit
                            foreach (var parent in commitLog.Parents)
                            {
                                var listFileChanged = repo.Diff.Compare <TreeChanges>(parent.Tree, commitLog.Tree)
                                                      .Any(t => t.Path.EndsWith($"{projectInfo.ProjectName}{CommonConstant.NuspecFileFilter}", StringComparison.OrdinalIgnoreCase));
                                if (listFileChanged)
                                {
                                    listCommit.Add(commitLog);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }

            var latestCommit = listCommit.OrderBy(t => t.Author.When).LastOrDefault();

            return(latestCommit);
        }
 public ActionResult AddProject()
 {
     var model = new ProjectInfoModel();
     return View(model);
 }
 public ActionResult ProjectOnDisplay()
 {
     var model = new ProjectInfoModel();
         return View(model);
 }