public async Task <IActionResult> AssignSdrToCampaign([FromBody] AssignSdrToCampaignInputDto request) { try { var currentUser = await _userManager.FindByEmailFromClaimsPrinciple(HttpContext.User); var campaign = await _campaignService.GetCampaignById(request.CampaignId); if (campaign == null) { return(BadRequest(new ApiResponse(400, "Campaign is not existing."))); } var userProfile = await _userProfileService.GetUserProfileById(request.UserProfileId); if (userProfile == null) { return(BadRequest(new ApiResponse(400, "User Profile is not existing."))); } var user = await _userManager.FindByIdAsync(userProfile.UserId.ToString()); var role = (await _userManager.GetRolesAsync(user)).First(); if (role.ToLower() != "sdr") { return(BadRequest(new ApiResponse(400, "User is not assigned as SDR."))); } var existingCampaignAssignment = await _campaignAssignmentService.GetExistingCampaignAssignment(request.CampaignId, request.UserProfileId); if (existingCampaignAssignment != null) { return(BadRequest(new ApiResponse(400, "SDR is already assigned to this campaign."))); } var campaignAssignment = new CampaignAssignment { CampaignId = request.CampaignId, UserProfileId = request.UserProfileId, CreatedDate = DateTime.UtcNow, CreatedBy = currentUser.Id.ToString() }; await _campaignAssignmentService.CreateCampaignAssignment(campaignAssignment); return(Ok(new ApiResponse(200, "Success"))); } catch { return(BadRequest(new ApiResponse(400, "Something went wrong."))); } }
public async Task DeleteAssignment(CampaignAssignment campaignAssignment) { _unitOfWork.Repository <CampaignAssignment>().Delete(campaignAssignment); await _unitOfWork.Complete(); }
public async Task CreateCampaignAssignment(CampaignAssignment request) { _unitOfWork.Repository <CampaignAssignment>().Add(request); await _unitOfWork.Complete(); }