public static GeoTaskCreateCommand ToAppGeoTaskCreateCommand
            (this ApiGeoTaskCreateCommand from,
            ClaimsPrincipal currentPrincipal)
        {
            if (from is null)
            {
                return(null);
            }

            var to = new GeoTaskCreateCommand
            {
                Description        = from.Description,
                PlanFinishAt       = from.PlanFinishAt,
                PlanStartAt        = from.PlanStartAt,
                ProjectId          = from.ProjectId,
                ResponsibleActorId = from.ResponsibleActorId,
                Title            = from.Title,
                CurrentPrincipal = currentPrincipal,
            };

            to.AssistentActorsIds.AddRange(from.AssistentActorsIds);
            to.GeosIds.AddRange(from.GeosIds);
            to.ObserverActorsIds.AddRange(from.ObserverActorsIds);

            return(to);
        }
Beispiel #2
0
        public static Dictionary <string, object> ToDictionary
            (this GeoTaskCreateCommand from)
        {
            if (from is null)
            {
                return(null);
            }

            return(new Dictionary <string, object>
            {
                { nameof(from.Description), from.Description },
                { nameof(from.GeosIds), String.Join(',', from.GeosIds) },
                { nameof(from.IsArchived), from.IsArchived },
                { nameof(from.PlanFinishAt), from.PlanFinishAt },
                { nameof(from.PlanStartAt), from.PlanStartAt },
                { nameof(from.ProjectId), from.ProjectId },
                { nameof(from.Title), from.Title },
                {
                    nameof(from.AssistentActorsIds),
                    String.Join(',', from.AssistentActorsIds)
                },
                {
                    nameof(from.CurrentPrincipal),
                    from.CurrentPrincipal
                    .ToDictionary()
                    .ToList()
                    .Select(x => $"\"{x.Key}\"={x.Value}")
                },
                { nameof(from.GeosIds), String.Join(',', from.GeosIds) },
                {
                    nameof(from.ObserverActorsIds),
                    String.Join(',', from.ObserverActorsIds)
                },
                { nameof(from.ResponsibleActorId), from.ResponsibleActorId },
            });
        }