public async Task <PostResponseModel> RegisterVendor(RegisterVendorRequestModel vendorDetailsRequestModel) { PostResponseModel postResponseModel = new PostResponseModel(); RegisterVendor registerUser = new RegisterVendor() { VendorName = vendorDetailsRequestModel.VendorName, VendorEmail = vendorDetailsRequestModel.VendorEmail, VendorMobile = vendorDetailsRequestModel.VendorMobile, VendorLandline = vendorDetailsRequestModel.VendorLandline, AddressLine = vendorDetailsRequestModel.AddressLine, City = vendorDetailsRequestModel.City, State = vendorDetailsRequestModel.State, PinCode = vendorDetailsRequestModel.PinCode }; var registerVendorResponse = await _vendorAuthenticationRepository.RegisterVendor(registerUser); postResponseModel.IsAlreadyExists = registerVendorResponse.IsUserExists; if (!postResponseModel.IsAlreadyExists && registerVendorResponse.Success) { var emailBody = "Hello !!!"; var emailSubject = "Vendor Register"; var emailResponse = await _messageSenderUtility.SendEmail(emailBody, emailSubject, vendorDetailsRequestModel.VendorEmail); postResponseModel.Success = emailResponse.IsEmailSend; //Log email EmailLogs emailLogDetails = new EmailLogs() { FromEmailAddress = emailResponse.FromEmailAddress, ToEmailAddress = emailResponse.ToEmailAddress, Subject = emailSubject, Body = emailBody, IsProduction = emailResponse.IsProductionEnvironment, IsSend = emailResponse.IsEmailSend, ApplicationId = (int)ApplicationType.Vendor, FromUserType = "System", ToUserType = "Vendor", ToUserId = registerVendorResponse.Content.VendorId }; await _loggingRepository.LogEmailTransaction(emailLogDetails); } else { postResponseModel.Success = registerVendorResponse.Success; } return(postResponseModel); }
public async Task <IActionResult> RegisterVendor(RegisterVendorRequestModel vendorDetailsRequestModel) { ValidationException validationException = new ValidationException(); validationException.Add(nameof(vendorDetailsRequestModel.VendorName), vendorDetailsRequestModel.VendorName, ValidationReason.Required); validationException.Add(nameof(vendorDetailsRequestModel.VendorEmail), vendorDetailsRequestModel.VendorEmail, ValidationReason.Required); validationException.Add(nameof(vendorDetailsRequestModel.VendorMobile), vendorDetailsRequestModel.VendorMobile, ValidationReason.Required); validationException.Add(nameof(vendorDetailsRequestModel.AddressLine), vendorDetailsRequestModel.AddressLine, ValidationReason.Required); validationException.Add(nameof(vendorDetailsRequestModel.City), vendorDetailsRequestModel.City, ValidationReason.Required); validationException.Add(nameof(vendorDetailsRequestModel.State), vendorDetailsRequestModel.State, ValidationReason.Required); validationException.Add(nameof(vendorDetailsRequestModel.PinCode), vendorDetailsRequestModel.PinCode, ValidationReason.Required); validationException.Add(nameof(vendorDetailsRequestModel.VendorEmail), vendorDetailsRequestModel.VendorEmail, ValidationReason.EmailFormat); validationException.Add(nameof(vendorDetailsRequestModel.VendorMobile), vendorDetailsRequestModel.VendorMobile, ValidationReason.PhoneNumber); validationException.Add(nameof(vendorDetailsRequestModel.PinCode), vendorDetailsRequestModel.PinCode, ValidationReason.PinCode); if (validationException.HasErrors) { throw validationException; } return(Ok(await _vendorAuthenticationManager.RegisterVendor(vendorDetailsRequestModel))); }