public async Task <IActionResult> ContactSeller([FromBody] SendEmailToFreelancerRequest sendEmailToFreelancerRequest) { try { if (!ModelState.IsValid) { return(BadRequest(error: "Please enter all required fields.")); } var user = await _userManager.FindByIdAsync(sendEmailToFreelancerRequest.FreeLancerUserId); if (user != null) { await _listingCommand.SendEmailToFreelancer(sendEmailToFreelancerRequest, user); return(Ok(new { Message = "Successfully send Email to Freelancer!" })); } else { _logger.LogError($"error user does not exis"); return(StatusCode((int)HttpStatusCode.InternalServerError, "error user does not exist")); } } catch (Exception ex) { _logger.LogError($"error while updated the listing: {ex}"); return(StatusCode((int)HttpStatusCode.InternalServerError, "error while updating the listing")); } }
public async Task SendEmailToFreelancer(SendEmailToFreelancerRequest sendEmailToFreelancerRequest, UserModel freelancerUser) { try { var emailService = new EmailService(); await emailService.SendEmailToFreelancer(sendEmailToFreelancerRequest.FromEmail, sendEmailToFreelancerRequest.Message, freelancerUser.Email, freelancerUser.FirstName + freelancerUser.LastName); await _logService.AddSendEmailLog(sendEmailToFreelancerRequest.Message, sendEmailToFreelancerRequest.FromEmail, freelancerUser.Email, freelancerUser.Id); } catch (Exception ex) { _logger.LogError($"error while sending Email to freelancer: {ex}"); throw ex.GetBaseException(); } }