private IHttpActionResult GetByName(string name, PlanVisibility visibility = PlanVisibility.Standard) { using (var uow = ObjectFactory.GetInstance <IUnitOfWork>()) { var curPlans = _plan.GetByName(uow, _security.GetCurrentAccount(uow), name, visibility); var fullPlans = curPlans.Select(curPlan => PlanMappingHelper.MapPlanToDto(curPlan)).ToList(); return(Ok(fullPlans)); } }
private IHttpActionResult GetByActivity(Guid id) { using (var uow = ObjectFactory.GetInstance <IUnitOfWork>()) { var plan = _plan.GetPlanByActivityId(uow, id); var result = PlanMappingHelper.MapPlanToDto(plan); return(Ok(result)); }; }
private async Task <IHttpActionResult> GetFullPlan(Guid id) { using (var uow = ObjectFactory.GetInstance <IUnitOfWork>()) { var plan = _plan.GetFullPlan(uow, id); var result = PlanMappingHelper.MapPlanToDto(plan); result.Visibility.Public = await _planDirectoryService.GetTemplate(id, User.Identity.GetUserId()) != null; return(Ok(result)); }; }
private async Task <IHttpActionResult> Post(PlanNoChildrenDTO planDto) { using (var uow = ObjectFactory.GetInstance <IUnitOfWork>()) { if (!ModelState.IsValid) { return(BadRequest("Some of the request data is invalid")); } var curPlanDO = Mapper.Map <PlanNoChildrenDTO, PlanDO>(planDto, opts => opts.Items.Add("ptid", planDto.Id)); _plan.CreateOrUpdate(uow, curPlanDO); uow.SaveChanges(); var result = PlanMappingHelper.MapPlanToDto(_plan.GetFullPlan(uow, curPlanDO.Id)); return(Ok(result)); } }
public PlanDTO CrateTemplate(Guid planId, string userId) { PlanDO clonedPlan; using (var uow = _unitOfWorkFactory.Create()) { var plan = _planService.GetPlanByActivityId(uow, planId); clonedPlan = (PlanDO)PlanTreeHelper.CloneWithStructure(plan); } clonedPlan.PlanState = PlanState.Inactive; //linearlize tree structure var planTree = clonedPlan.GetDescendants(); var idsMap = new Dictionary <Guid, Guid>(); foreach (var planNodeDO in planTree) { var oldId = planNodeDO.Id; planNodeDO.Id = Guid.NewGuid(); planNodeDO.Fr8Account = null; planNodeDO.Fr8AccountId = null; var activity = planNodeDO as ActivityDO; if (activity != null) { activity.AuthorizationToken = null; } idsMap.Add(oldId, planNodeDO.Id); } foreach (var activity in planTree.OfType <ActivityDO>()) { activity.CrateStorage = _crateManager.EmptyStorageAsStr(); // UpdateCrateStorage(activity.CrateStorage, idsMap); } return(PlanMappingHelper.MapPlanToDto(clonedPlan)); }
private async Task <IHttpActionResult> CreateSolution(string solutionName) { var userId = User.Identity.GetUserId(); using (var uow = ObjectFactory.GetInstance <IUnitOfWork>()) { ActivityTemplateDO activityTemplate; var activityTemplateInfo = _activityTemplate.GetActivityTemplateInfo(solutionName); if (!string.IsNullOrEmpty(activityTemplateInfo.Version)) { activityTemplate = _activityTemplate .GetQuery() .FirstOrDefault(x => x.Name == activityTemplateInfo.Name && x.Version == activityTemplateInfo.Version); } else { activityTemplate = _activityTemplate.GetQuery() .Where(x => x.Name == solutionName) .AsEnumerable() .OrderByDescending(x => int.Parse(x.Version)) .FirstOrDefault(); } if (activityTemplate == null) { throw new MissingObjectException($"Activity template (solution) name {solutionName} doesn't exist"); } ObjectFactory.GetInstance <ITracker>().Track(_security.GetCurrentAccount(uow), "Loaded Solution", new Segment.Model.Properties().Add("Solution Name", solutionName)); var result = await _activity.CreateAndConfigure( uow, userId, activityTemplate.Id, name : activityTemplate.Label, createPlan : true); return(Ok(PlanMappingHelper.MapPlanToDto((PlanDO)result))); } }