// Manual mapping method to resolve DO-1164. public static PlanDTO MapPlanToDto(PlanDO curPlanDO) { var subPlanDTOList = curPlanDO.ChildNodes.OfType <SubplanDO>() .OrderBy(x => x.Ordering) .ToList() .Select((SubplanDO x) => { var pntDTO = Mapper.Map <FullSubplanDto>(x); pntDTO.Activities = x.ChildNodes.OrderBy(y => y.Ordering).Select(Mapper.Map <ActivityDTO>).ToList(); return(pntDTO); }).ToList(); var result = new PlanDTO() { Description = curPlanDO.Description, Id = curPlanDO.Id, Name = curPlanDO.Name, PlanState = PlanState.IntToString(curPlanDO.PlanState), Visibility = new PlanVisibilityDTO() { Hidden = curPlanDO.Visibility.BooleanValue() }, StartingSubPlanId = curPlanDO.StartingSubPlanId, SubPlans = subPlanDTOList, Fr8UserId = curPlanDO.Fr8AccountId, Tag = curPlanDO.Tag, Category = curPlanDO.Category, LastUpdated = curPlanDO.LastUpdated }; return(result); }
public static void ConfigureAutoMapper() { Mapper.CreateMap <PlanDO, PlanNoChildrenDTO>().ForMember(a => a.Id, opts => opts.ResolveUsing(ad => ad.Id)) .ForMember(a => a.Category, opts => opts.ResolveUsing(ad => ad.Category)) .ForMember(a => a.Description, opts => opts.ResolveUsing(ad => ad.Description)) .ForMember(a => a.LastUpdated, opts => opts.ResolveUsing(ad => ad.LastUpdated)) .ForMember(a => a.Name, opts => opts.ResolveUsing(ad => ad.Name)) .ForMember(a => a.PlanState, opts => opts.ResolveUsing(ad => PlanState.IntToString(ad.PlanState))) .ForMember(a => a.StartingSubPlanId, opts => opts.ResolveUsing(ad => ad.StartingSubPlanId)) .ForMember(a => a.Tag, opts => opts.ResolveUsing(ad => ad.Tag)) .ForMember(a => a.Visibility, opts => opts.ResolveUsing(ad => new PlanVisibilityDTO() { Hidden = ad.Visibility.BooleanValue() })); Mapper.CreateMap <PlanNoChildrenDTO, PlanDO>().ForMember(a => a.Id, opts => opts.ResolveUsing(ad => ad.Id)) .ForMember(a => a.Category, opts => opts.ResolveUsing(ad => ad.Category)) .ForMember(a => a.Description, opts => opts.ResolveUsing(ad => ad.Description)) .ForMember(a => a.LastUpdated, opts => opts.ResolveUsing(ad => ad.LastUpdated)) .ForMember(a => a.Name, opts => opts.ResolveUsing(ad => ad.Name)) .ForMember(a => a.PlanState, opts => opts.ResolveUsing(ad => PlanState.StringToInt(ad.PlanState))) .ForMember(a => a.StartingSubPlanId, opts => opts.ResolveUsing(ad => ad.StartingSubPlanId)) .ForMember(a => a.Tag, opts => opts.ResolveUsing(ad => ad.Tag)) .ForMember(a => a.Visibility, opts => opts.ResolveUsing(ad => ad.Visibility?.PlanVisibilityValue())); Mapper.CreateMap <ActivityNameDTO, ActivityTemplateDO>() .ForMember(activityTemplateDO => activityTemplateDO.Name, opts => opts.ResolveUsing(e => e.Name)) .ForMember(activityTemplateDO => activityTemplateDO.Version, opts => opts.ResolveUsing(e => e.Version)); Mapper.CreateMap <PlanNoChildrenDTO, PlanDO>(); Mapper.CreateMap <PlanDO, PlanNoChildrenDTO>(); Mapper.CreateMap <ActivityDO, ActivityDTO>(); Mapper.CreateMap <ActivityTemplateDTO, ActivityTemplateSummaryDTO>() .ForMember(x => x.Name, opts => opts.MapFrom(src => src.Name)) .ForMember(x => x.Version, opts => opts.MapFrom(src => src.Version)) .ForMember(x => x.TerminalName, opts => opts.MapFrom(src => src.Terminal.Name)) .ForMember(x => x.TerminalVersion, opts => opts.MapFrom(src => src.Terminal.Version)); Mapper.CreateMap <Fr8AccountDO, UserDTO>() .ForMember(dto => dto.EmailAddress, opts => opts.ResolveUsing(e => e.EmailAddress.Address)) .ForMember(dto => dto.Status, opts => opts.ResolveUsing(e => e.State.Value)); }
private async Task RemoveInactiveExistingPlans(IHubCommunicator hubCommunicator, string plan_name, AuthorizationToken authToken) { try { var existingPlans = (await hubCommunicator.GetPlansByName(plan_name, PlanVisibility.Internal)).ToList(); if (existingPlans.Count > 0) { //active MADSE plans are likely related to another DS account var plansForRemoval = existingPlans .Where(val => (val.PlanState == PlanState.IntToString(PlanState.Inactive)) || //or all from above !(val.SubPlans.Any() && val.SubPlans.ElementAt(0).Activities.Any() && val.SubPlans.ElementAt(0).Activities[1].ActivityTemplate.Name == "Save_All_Payload_To_Fr8_Warehouse")).ToList(); foreach (var plan in plansForRemoval) { await hubCommunicator.DeletePlan(plan.Id); } Logger.Info($"Removed {plansForRemoval.Count} obsolete MADSE plan"); } } catch (Exception exc) { Logger.Info("Failed to remove obsolete MADSE plan"); } }
public void ConfigureAutoMapper() { Mapper.CreateMap <PlanDO, PlanNoChildrenDTO>().ForMember(a => a.Id, opts => opts.ResolveUsing(ad => ad.Id)) .ForMember(a => a.Category, opts => opts.ResolveUsing(ad => ad.Category)) .ForMember(a => a.Description, opts => opts.ResolveUsing(ad => ad.Description)) .ForMember(a => a.LastUpdated, opts => opts.ResolveUsing(ad => ad.LastUpdated)) .ForMember(a => a.Name, opts => opts.ResolveUsing(ad => ad.Name)) .ForMember(a => a.PlanState, opts => opts.ResolveUsing(ad => PlanState.IntToString(ad.PlanState))) .ForMember(a => a.StartingSubPlanId, opts => opts.ResolveUsing(ad => ad.StartingSubPlanId)) .ForMember(a => a.Tag, opts => opts.ResolveUsing(ad => ad.Tag)) .ForMember(a => a.Visibility, opts => opts.ResolveUsing(ad => new PlanVisibilityDTO() { Hidden = ad.Visibility.BooleanValue() })); Mapper.CreateMap <PlanNoChildrenDTO, PlanDO>().ForMember(a => a.Id, opts => opts.ResolveUsing(ad => ad.Id)) .ForMember(a => a.Category, opts => opts.ResolveUsing(ad => ad.Category)) .ForMember(a => a.Description, opts => opts.ResolveUsing(ad => ad.Description)) .ForMember(a => a.LastUpdated, opts => opts.ResolveUsing(ad => ad.LastUpdated)) .ForMember(a => a.Name, opts => opts.ResolveUsing(ad => ad.Name)) .ForMember(a => a.PlanState, opts => opts.ResolveUsing(ad => PlanState.StringToInt(ad.PlanState))) .ForMember(a => a.StartingSubPlanId, opts => opts.ResolveUsing(ad => ad.StartingSubPlanId)) .ForMember(a => a.Tag, opts => opts.ResolveUsing(ad => ad.Tag)) .ForMember(a => a.Visibility, opts => opts.ResolveUsing(ad => ad.Visibility?.PlanVisibilityValue())); Mapper.CreateMap <ActivityDO, ActivityDTO>().ForMember(a => a.Id, opts => opts.ResolveUsing(ad => ad.Id)) .ForMember(a => a.RootPlanNodeId, opts => opts.ResolveUsing(ad => ad.RootPlanNodeId)) .ForMember(a => a.ParentPlanNodeId, opts => opts.ResolveUsing(ad => ad.ParentPlanNodeId)) .ForMember(a => a.ChildrenActivities, opts => opts.ResolveUsing(ad => ad.ChildNodes.OfType <ActivityDO>().OrderBy(da => da.Ordering))) .ForMember(a => a.ActivityTemplate, opts => opts.ResolveUsing(GetActivityTemplate)) .ForMember(a => a.AuthToken, opts => opts.ResolveUsing(ad => ad.AuthorizationToken)); Mapper.CreateMap <ActivityDTO, ActivityDO>().ForMember(a => a.Id, opts => opts.ResolveUsing(ad => ad.Id)) .ForMember(a => a.RootPlanNodeId, opts => opts.ResolveUsing(ad => ad.RootPlanNodeId)) .ForMember(a => a.ParentPlanNodeId, opts => opts.ResolveUsing(ad => ad.ParentPlanNodeId)) //.ForMember(a => a.ActivityTemplate, opts => opts.Ignore()) .ForMember(a => a.ActivityTemplateId, opts => opts.ResolveUsing(GetActivityTemplateId)) //.ForMember(a => a.CrateStorage, opts => opts.ResolveUsing(ad => Newtonsoft.Json.JsonConvert.SerializeObject(ad.CrateStorage))) .ForMember(a => a.ChildNodes, opts => opts.ResolveUsing(ad => MapActivities(ad.ChildrenActivities))) .ForMember(a => a.AuthorizationTokenId, opts => opts.ResolveUsing(ad => ad.AuthToken != null && ad.AuthToken.Id != null ? new Guid(ad.AuthToken.Id) : (Guid?)null)); Mapper.CreateMap <ActivityTemplateDO, ActivityTemplateSummaryDTO>() .ForMember(x => x.Name, opts => opts.ResolveUsing(x => x.Name)) .ForMember(x => x.Version, opts => opts.ResolveUsing(x => x.Version)) .ForMember(x => x.TerminalName, opts => opts.ResolveUsing(x => x.Terminal.Name)) .ForMember(x => x.TerminalVersion, opts => opts.ResolveUsing(x => x.Terminal.Version)); Mapper.CreateMap <ActivityTemplateDO, ActivityTemplateDTO>() .ForMember(x => x.Id, opts => opts.ResolveUsing(x => x.Id)) .ForMember(x => x.Name, opts => opts.ResolveUsing(x => x.Name)) .ForMember(x => x.Version, opts => opts.ResolveUsing(x => x.Version)) .ForMember(x => x.Terminal, opts => opts.ResolveUsing(GetTerminal)) .ForMember(x => x.NeedsAuthentication, opts => opts.ResolveUsing(x => x.NeedsAuthentication)); Mapper.CreateMap <Fr8AccountDO, ManageUserVM>() .ForMember(mu => mu.HasLocalPassword, opts => opts.ResolveUsing(account => !string.IsNullOrEmpty(account.PasswordHash))) .ForMember(mu => mu.HasGoogleToken, opts => opts.Ignore()) .ForMember(mu => mu.GoogleSpreadsheets, opts => opts.Ignore()); Mapper.CreateMap <UserVM, EmailAddressDO>() .ForMember(userDO => userDO.Address, opts => opts.ResolveUsing(e => e.EmailAddress)); Mapper.CreateMap <UserVM, Fr8AccountDO>() .ForMember(userDO => userDO.Id, opts => opts.ResolveUsing(e => e.Id)) .ForMember(userDO => userDO.FirstName, opts => opts.ResolveUsing(e => e.FirstName)) .ForMember(userDO => userDO.LastName, opts => opts.ResolveUsing(e => e.LastName)) .ForMember(userDO => userDO.UserName, opts => opts.ResolveUsing(e => e.UserName)) .ForMember(userDO => userDO.EmailAddress, opts => opts.ResolveUsing(e => new EmailAddressDO { Address = e.EmailAddress })) .ForMember(userDO => userDO.Roles, opts => opts.Ignore()); Mapper.CreateMap <PageDefinitionDTO, PageDefinitionDO>() .ForMember(dest => dest.Url, opts => opts.Ignore()) .ForMember(dest => dest.Tags, opts => opts.MapFrom( x => x.Tags.Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries).ToList())); Mapper.CreateMap <PageDefinitionDO, PageDefinitionDTO>() .ForMember(dest => dest.Tags, opts => opts.MapFrom(x => string.Join(", ", x.Tags))); }