Esempio n. 1
0
        /// <summary>
        ///     To the azure model.
        /// </summary>
        /// <param name="kindAction">The kind action.</param>
        /// <returns>KindActionAzure.</returns>
        public static KindActionAzure ToAzureModel(this KindAction kindAction)
        {
            var azureModel = new KindActionAzure();

            kindAction.CopyTo(azureModel);
            azureModel.Likes    = kindAction.Likes.JoinToString();
            azureModel.Dislikes = kindAction.Dislikes.JoinToString();
            return(azureModel);
        }
Esempio n. 2
0
        public static Models.Api.KindAction ConvertToApi(this KindAction kindAction, string currentUserId)
        {
            var kindActionApi = new Models.Api.KindAction();

            kindAction.CopyTo(kindActionApi);
            kindActionApi.LikesCount    = kindAction.Likes?.Count ?? 0;
            kindActionApi.DislikesCount = kindAction.Dislikes?.Count ?? 0;
            kindActionApi.AlreadyLiked  = (kindAction.Likes?.Contains(currentUserId) ?? false) ||
                                          (kindAction.Dislikes?.Contains(currentUserId) ?? false);
            return(kindActionApi);
        }
Esempio n. 3
0
        /// <summary>
        /// Updates the specified kind action.
        /// </summary>
        /// <param name="kindAction">The kind action.</param>
        /// <returns></returns>
        public async Task <OperationResult> UpdateLikes(KindAction kindAction)
        {
            var existingKindAction = await GetKindAction(kindAction.Id, kindAction.UserId);

            if (existingKindAction == null)
            {
                return(OperationResult.NotFound);
            }

            kindAction.CopyTo(existingKindAction);
            return(new OperationResult(OperationResultStatus.Success));
        }