Ejemplo n.º 1
0
        public async Task <CampaignAssignment> GetExistingCampaignAssignment(int campaignId, int userProfileId)
        {
            var specs = new GetExistingCampaignAssignmentSpecification(campaignId, userProfileId);
            var campaignAssignment = (await _unitOfWork.Repository <CampaignAssignment>().ListAsync(specs)).FirstOrDefault();

            return(campaignAssignment);
        }
Ejemplo n.º 2
0
        public async Task ChangeStatus(ChangeCampaignSdrStatusInputDto request)
        {
            var specs = new GetExistingCampaignAssignmentSpecification(request.CampaignId, request.UserProfileId);
            var campaignAssignment = await _unitOfWork.Repository <CampaignAssignment>().GetEntityWithSpec(specs);

            campaignAssignment.StatusId = request.StatusId;

            //Update
            _unitOfWork.Repository <CampaignAssignment>().Update(campaignAssignment);
            await _unitOfWork.Complete();
        }
Ejemplo n.º 3
0
        public async Task <ValidationOutputDto> ValidateChangeStatusInput(ChangeCampaignSdrStatusInputDto request)
        {
            var campaign = await _unitOfWork.Repository <Campaign>().GetByIdAsync(request.CampaignId);

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

            var userProfile = await _unitOfWork.Repository <UserProfile>().GetByIdAsync(request.UserProfileId);

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

            //Check if status is valid
            var exists = Enum.IsDefined(typeof(AssignedSdrStatus), request.StatusId);

            if (!exists)
            {
                return new ValidationOutputDto
                       {
                           IsSuccess  = false,
                           Message    = "StatusId is not valid.",
                           StatusCode = 400
                       }
            }
            ;

            var specs = new GetExistingCampaignAssignmentSpecification(request.CampaignId, request.UserProfileId);
            var campaignAssignment = await _unitOfWork.Repository <CampaignAssignment>().GetEntityWithSpec(specs);

            if (campaignAssignment == null)
            {
                return new ValidationOutputDto
                       {
                           IsSuccess  = false,
                           Message    = "User is not assigned to this campaign.",
                           StatusCode = 400
                       }
            }
            ;

            return(new ValidationOutputDto
            {
                IsSuccess = true,
                Message = string.Empty,
                StatusCode = 200
            });
        }
    }
}