Esempio n. 1
0
        public async Task <ValidationOutputDto> ValidateSaveInput(SaveContentInputDto request)
        {
            var campaign = await _unitOfWork.Repository <Campaign>().GetByIdAsync(request.CampaignId);

            if (campaign == null)
            {
                return new ValidationOutputDto {
                           IsSuccess  = false,
                           StatusCode = 400,
                           Message    = "Campaign is not existing."
                }
            }
            ;

            return(new ValidationOutputDto {
                Message = string.Empty,
                StatusCode = 200,
                IsSuccess = true
            });
        }
    }
        public async Task <IActionResult> SaveOrUpdate([FromBody] SaveContentInputDto request)
        {
            try
            {
                var user = await _userManager.FindByEmailFromClaimsPrinciple(HttpContext.User);

                var validationResponse = await _contentService.ValidateSaveInput(request);

                if (!validationResponse.IsSuccess)
                {
                    return(BadRequest(new ApiResponse(validationResponse.StatusCode, validationResponse.Message)));
                }

                await _contentService.SaveContent(request, user.Id.ToString());

                return(Ok(new  ApiResponse(200, "Success")));
            }
            catch
            {
                return(BadRequest(new ApiResponse(400, "Something went wrong")));
            }
        }
Esempio n. 3
0
        public async Task SaveContent(SaveContentInputDto request, string userId)
        {
            var getContentSpecs = new GetContentByCampaignIdSpecification(request.CampaignId);
            var content         = await _unitOfWork.Repository <Content>().GetEntityWithSpec(getContentSpecs);

            if (content == null)
            {
                var contentRequest = new Content
                {
                    InviteMessage = request.InviteMessage,
                    Message1      = request.Message1,
                    Message2      = request.Message2,
                    Message3      = request.Message3,
                    Message4      = request.Message4,
                    Message5      = request.Message5,
                    CampaignId    = request.CampaignId,
                    CreatedBy     = userId,
                    CreatedDate   = DateTime.UtcNow
                };

                _unitOfWork.Repository <Content>().Add(contentRequest);
                await _unitOfWork.Complete();
            }
            else
            {
                content.InviteMessage = request.InviteMessage;
                content.Message1      = request.Message1;
                content.Message2      = request.Message2;
                content.Message3      = request.Message3;
                content.Message4      = request.Message4;
                content.Message5      = request.Message5;
                content.UpdatedBy     = userId;
                content.UpdatedDate   = DateTime.UtcNow;

                _unitOfWork.Repository <Content>().Update(content);
                await _unitOfWork.Complete();
            }
        }