/// <summary> /// 移除运力分配记录 /// </summary> /// <param name="subOperation"></param> /// <param name="service"></param> internal void RemoveSubOperation(SubOperationHistory subOperation, IFleetService service) { var subOperations = service.EntityContainer.GetEntitySet<SubOperationHistory>() .Where(soh => soh.OperationHistory == subOperation.OperationHistory) .OrderBy(soh => soh.StartDate) .ToList(); var count = subOperations.Count; // 运力分配历史至少要保留一条 if (count > 1) { service.EntityContainer.GetEntitySet<SubOperationHistory>().Remove(subOperation); // 修改之前记录的结束日期 subOperations[count - 2].EndDate = null; } }
/// <summary> /// 创建新的运力分配 /// </summary> /// <param name="operation"></param> /// <param name="service"></param> /// <returns></returns> internal SubOperationHistory CreateNewSubOperation(OperationHistory operation, IFleetService service) { var subOperation = new SubOperationHistory { SubOperationHistoryID = Guid.NewGuid(), OperationHistory = operation, StartDate = DateTime.Now, Status = (int)OpStatus.Draft, }; service.EntityContainer.GetEntitySet<SubOperationHistory>().Add(subOperation); return subOperation; }