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); })); }
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; }
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); }
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); })); }