public DMSLogicModel(string userName, ProjectLogicModel projectLogicModel, DMSType dmsType = DMSType.PublishCooperationPlatform, string uid = "")//默认为DMS绑定Project,使用ProjectId作为Uid : base(userName, projectLogicModel) { m_dmsType = dmsType; m_uid = uid; LoadDMS(); }
// 创建一个项目 // 创建后给创建者增加读、写、操作的权限 public ProjectSeriesLogicModel NewProjectSeries(string name, string projectSeriesType, string personInCharge, string createTime, string estimatedFinishTime, string email) { ValidateUtils.Name(name, "项目名称").FileName(); CommUtils.Assert(email.Length <= 38, "邮箱不能超过38个字符数!"); CommUtils.AssertHasContent(personInCharge, "[项目负责人]不能为空"); CommUtils.Assert(m_dbAdapter.Authority.IsUserExist(personInCharge), "[用户]不存在"); CommUtils.AssertHasContent(createTime, "[立项日期]不能为空"); CommUtils.AssertHasContent(estimatedFinishTime, "[计划完成日期]不能为空"); var valStartTime = DateTime.Parse(createTime); var valEstimatedFinishTime = DateTime.Parse(estimatedFinishTime); CommUtils.Assert(valEstimatedFinishTime >= valStartTime, "计划完成日期[{0}]必须大于等于立项日期[{1}]", valEstimatedFinishTime, valStartTime); var type = CommUtils.ParseEnum <ProjectSeriesType>(projectSeriesType); var projectSeries = m_dbAdapter.ProjectSeries.NewProjectSeries(name, type, personInCharge, valStartTime, valEstimatedFinishTime, email); m_projectSeries = projectSeries; var now = DateTime.Now; ABSMgrConn.TableProject project = new ABSMgrConn.TableProject() { project_guid = Guid.NewGuid().ToString(), project_series_id = projectSeries.Id, name = projectSeries.Name, type_id = (int)ProjectSeriesStage.发行, model_id = -1, cnabs_deal_id = null, create_time = DateTime.Parse(now.ToString("yyyy-MM-dd")), create_user_name = m_userName, time_stamp = now, time_stamp_user_name = m_userName, record_status_id = (int)RecordStatus.Valid }; project.project_id = m_dbAdapter.Project.NewProject(project); m_currentProject = new ProjectLogicModel(m_userName, new Project(project)); var adminUsernames = new List <string> { projectSeries.CreateUserName, projectSeries.PersonInCharge }; adminUsernames = adminUsernames.Distinct(StringComparer.OrdinalIgnoreCase).ToList(); //给[创建者、负责人]添加ProjectSeries与Project的所有权限 foreach (var adminUsername in adminUsernames) { m_dbAdapter.Permission.NewPermission(adminUsername, project.project_guid, PermissionObjectType.Project, PermissionType.Read); m_dbAdapter.Permission.NewPermission(adminUsername, project.project_guid, PermissionObjectType.Project, PermissionType.Write); m_dbAdapter.Permission.NewPermission(adminUsername, project.project_guid, PermissionObjectType.Project, PermissionType.Execute); m_dbAdapter.Permission.NewPermission(adminUsername, projectSeries.Guid, PermissionObjectType.ProjectSeries, PermissionType.Read); m_dbAdapter.Permission.NewPermission(adminUsername, projectSeries.Guid, PermissionObjectType.ProjectSeries, PermissionType.Write); m_dbAdapter.Permission.NewPermission(adminUsername, projectSeries.Guid, PermissionObjectType.ProjectSeries, PermissionType.Execute); } return(this); }
public PermissionLogicModel(ProjectLogicModel project) : base(project) { }
public DMSFolderLogicModel(ProjectLogicModel projectLogicModel) : base(projectLogicModel.UserName, projectLogicModel) { }
public TaskGroupLogicModel(ProjectLogicModel project, TaskGroup taskGroup) : base(project) { m_instance = taskGroup; }
public DMSFileLogicModel(ProjectLogicModel projectLogicModel) : base(projectLogicModel.UserName, projectLogicModel) { AllVerFiles = new List <DMSFile>(); }
public ProjectActivityLogicModel(ProjectLogicModel project) : base(project) { }
private void Initialize(ProjectLogicModel project) { var objStr = "产品 [" + project.Instance.Name + "] "; var projectId = project.Instance.ProjectId; if (project.Instance.Model == null && project.Instance.ModelId > 0) { project.Instance.Model = m_dbAdapter.Project.GetModel(project.Instance.ModelId); } var modelFolder = WebConfigUtils.RootFolder + project.Instance.Model.ModelFolder + "\\"; CommUtils.Assert(Directory.Exists(modelFolder), "找不到模型路径[{0}]", modelFolder); DealSchedule dealSchedule = null; try { dealSchedule = NancyUtils.GetDealSchedule(projectId, ignoreException: false); } catch (Exception e) { CommUtils.Assert(false, "加载模型失败:[{0}],模型路径:{1}" + Environment.NewLine + e.Message, modelFolder); } CommUtils.AssertNotNull(dealSchedule, "加载模型失败:{0}", modelFolder); m_instanse = dealSchedule; CommUtils.Assert(DateUtils.IsNormalDate(dealSchedule.FirstCollectionPeriodStartDate), "模型中,FirstCollectionPeriodStartDate({0})不是有效的日期", dealSchedule.FirstCollectionPeriodStartDate.ToString()); CommUtils.Assert(DateUtils.IsNormalDate(dealSchedule.FirstCollectionPeriodEndDate), "模型中,FirstCollectionPeriodEndDate({0})不是有效的日期", dealSchedule.FirstCollectionPeriodEndDate.ToString()); CommUtils.AssertNotNull(dealSchedule.PaymentDates, objStr + "中没有PaymentDatas数据"); CommUtils.AssertNotNull(dealSchedule.DeterminationDates, objStr + "中没有DeterminationDates数据"); CommUtils.AssertEquals(dealSchedule.PaymentDates.Length, dealSchedule.DeterminationDates.Length, objStr + "中DealSchedule数据加载失败"); _durationPeriods = new List <DatasetScheduleLogicModel>(); for (int i = 0; i < dealSchedule.PaymentDates.Length; i++) { var paymentDate = dealSchedule.PaymentDates[i]; var durationPeriod = new DatasetScheduleLogicModel(project); durationPeriod.Sequence = m_project.GetAllPaymentDates(dealSchedule.PaymentDates).IndexOf(paymentDate) + 1; durationPeriod.PaymentDate = paymentDate; if (i == 0) { durationPeriod.AsOfDateBegin = dealSchedule.FirstCollectionPeriodStartDate; } else { durationPeriod.AsOfDateBegin = dealSchedule.DeterminationDates[i - 1]; } durationPeriod.AsOfDateEnd = dealSchedule.DeterminationDates[i]; if (i != 0) { durationPeriod.Previous = _durationPeriods[i - 1]; durationPeriod.Previous.Next = durationPeriod; } _durationPeriods.Add(durationPeriod); } ClosingDate = dealSchedule.ClosingDate; LegalMaturity = dealSchedule.LegalMaturity; }
public DatasetScheduleLogicModel(ProjectLogicModel project) : base(project) { }
public DealScheduleLogicModel(ProjectLogicModel project) : base(project) { Initialize(project); }
public BaseLogicModel(ProjectLogicModel project) { CommUtils.AssertNotNull(project.UserName, "Project's user info can't be null in BaseLogicModel initialization."); m_project = project; m_userName = project.UserName; }
public BaseLogicModel(string userName, ProjectLogicModel project) { m_project = project; m_userName = userName; }
public TaskLogicModel(ProjectLogicModel project, Task task) : base(project) { m_instance = task; }
public TaskLogicModel(ProjectLogicModel project, string shortCode) : base(project) { m_instance = m_dbAdapter.Task.GetTask(shortCode); }