public static async Task <bool> MilestonesDo()
        {
            IMilestoneRepository   milestoneRepository   = DI.ServiceProvider.GetServiceInstance <IMilestoneRepository>();
            IAmazonS3ImageProvider amazonS3ImageProvider = DI.ServiceProvider.GetServiceInstance <IAmazonS3ImageProvider>();

            foreach (Mdls.Milestone milestone in await milestoneRepository.GetAll())
            {
                if (milestone.Image != null && milestone.Image.StartsWith("data:image/png;base64,"))
                {
                    string path = await amazonS3ImageProvider.Add($"{milestone.UserId}/{milestone.id}/img.png", milestone.Image);

                    bool saved = await milestoneRepository.SetImage(milestone.id, path);
                }
            }
            return(true);
        }
        public async Task <ActionResponse> Add([FromBody] Mdls.Milestone milestone)
        {
            milestone.UserId = currentAuthenticationContext.CurrentUser;

            string milestoneId = await milestoneRepository.Add(milestone);

            if (milestone.Image != null && milestone.Image.StartsWith("data:image/png;base64,"))
            {
                string path = await amazonS3ImageProvider.Add($"milestones/{milestone.UserId}/{milestoneId}/img.png", milestone.Image);

                bool saved = await milestoneRepository.SetImage(milestoneId, path);
            }

            return(new ActionResponse()
            {
                State = !String.IsNullOrEmpty(milestoneId)
            });
        }