コード例 #1
0
        public ActionResult NewAgenda(string projectGuid, string agendaName, string description, string startTime, string endTime)
        {
            return(ActionUtils.Json(() =>
            {
                CheckPermission(projectGuid);

                ValidateUtils.Name(agendaName, "日程名称");
                ValidateUtils.Description(description, "日程描述");

                CommUtils.Assert(!((string.IsNullOrWhiteSpace(startTime) || startTime == "-") &&
                                   (string.IsNullOrWhiteSpace(endTime) || endTime == "-")), "开始时间和结束时间不能同时为空");

                CommUtils.Assert(DateUtils.IsNullableDate(startTime), "开始时间必须为[YYYY-MM-DD]格式或者为空");
                CommUtils.Assert(DateUtils.IsNullableDate(endTime), "结束时间必须为[YYYY-MM-DD]格式或者为空");

                var taskStartTime = DateUtils.Parse(startTime);
                var taskEndTime = DateUtils.Parse(endTime);
                if (taskStartTime != null && taskEndTime != null)
                {
                    CommUtils.Assert(taskEndTime.Value >= taskStartTime.Value,
                                     "开始时间[{0}]不能大于结束时间[{1}]", startTime, endTime);
                }

                var project = m_dbAdapter.Project.GetProjectByGuid(projectGuid);
                CommUtils.Assert(project.ProjectSeriesId.HasValue, "找不到ProjectSeries[projectGuid={0}]信息", projectGuid);

                var agenda = new Agenda();
                agenda.CreateUserName = CurrentUserName;
                agenda.Name = agendaName;
                agenda.Description = description;
                CommUtils.Assert(!(startTime == "" && endTime == ""), "开始和结束时间必须至少有一个不为空!");
                if (startTime == "" && endTime != "")
                {
                    agenda.EndTime = Convert.ToDateTime(endTime);
                    agenda.StartTime = Convert.ToDateTime(agenda.EndTime.ToShortDateString() + " 00:00:00");
                }
                else if (startTime != "" && endTime == "")
                {
                    agenda.StartTime = Convert.ToDateTime(startTime);
                    agenda.EndTime = Convert.ToDateTime(agenda.StartTime.ToShortDateString() + " 23:59:59");
                }
                else
                {
                    agenda.StartTime = Convert.ToDateTime(startTime);
                    agenda.EndTime = Convert.ToDateTime(endTime);
                }
                agenda.ProjectId = project.ProjectId;
                m_dbAdapter.Agenda.NewAgenda(agenda);

                var logicModel = Platform.GetProject(project.ProjectGuid);
                logicModel.Activity.Add(project.ProjectId, ActivityObjectType.Agenda, agenda.Guid, "创建日程:" + agenda.Name);

                return ActionUtils.Success(1);
            }));
        }
コード例 #2
0
        public void ModifyTaskGroup(string taskGroupGuid, string name, string description)
        {
            ValidateUtils.Name(name, "名称");
            ValidateUtils.Description(description, "描述");

            var hasTaskGroupGuid = TaskGroups.Any(x => x.Instance.Guid == taskGroupGuid);

            CommUtils.Assert(hasTaskGroupGuid, "此工作组不存在");

            var taskGroupLogicModel = TaskGroups.Single(x => x.Instance.Guid == taskGroupGuid);
            var taskGroup           = taskGroupLogicModel.Instance;

            taskGroup.Name        = name;
            taskGroup.Description = description;
            m_dbAdapter.TaskGroup.UpdateTaskGroup(taskGroup);

            m_taskGroups = null;
        }
コード例 #3
0
        public TaskGroupLogicModel NewTaskGroup(string projectSeriesGuid, string name, string description)
        {
            ValidateUtils.Name(name, "名称");
            ValidateUtils.Description(description, "描述");

            var taskGroups = m_dbAdapter.TaskGroup.GetByProjectId(m_instance.ProjectId);

            CommUtils.Assert(!taskGroups.Any(x => x.Name == name), "[{0}]中,[{1}]分组已存在", m_instance.Name, name);

            var taskGroup  = m_dbAdapter.TaskGroup.NewTaskGroup(m_instance.ProjectId, name, description);
            var logicModel = new TaskGroupLogicModel(this, taskGroup);

            var project = m_dbAdapter.Project.GetProjectById(taskGroup.ProjectId);
            var permissionLogicModel = new PermissionLogicModel(this);
            var projectSeries        = m_dbAdapter.ProjectSeries.GetById(project.ProjectSeriesId.Value);

            permissionLogicModel.SetPermission(projectSeries, project, taskGroup.Guid, PermissionObjectType.TaskGroup);

            Activity.Add(taskGroup.ProjectId, ActivityObjectType.TaskGroup, taskGroup.Guid, "新建工作组:" + name);

            m_taskGroups = null;

            return(logicModel);
        }
コード例 #4
0
        public ActionResult ModifyAgenda(string projectGuid, string guid, string agendaName,
                                         string description, DateTime startTime, DateTime endTime)
        {
            return(ActionUtils.Json(() =>
            {
                CheckPermission(projectGuid);

                ValidateUtils.Name(agendaName, "日程名称");
                ValidateUtils.Description(description, "日程描述");

                var project = m_dbAdapter.Project.GetProjectByGuid(projectGuid);
                CommUtils.Assert(project.ProjectSeriesId.HasValue, "找不到ProjectSeries[projectGuid={0}]信息", projectGuid);

                var agenda = m_dbAdapter.Agenda.GetAgendaByGuid(guid);
                CommUtils.Assert(IsCurrentUser(agenda.CreateUserName), "非该日程创建用户不得编辑!");

                agenda.Name = agendaName;
                agenda.Description = description;
                agenda.StartTime = startTime;
                agenda.EndTime = endTime;
                m_dbAdapter.Agenda.UpdateAgenda(agenda);
                return ActionUtils.Success(1);
            }));
        }