public async Task <DatabaseResponse> SaveContactUsForm(ContactUsCreate contactUsCreate) { try { SqlParameter[] parameters = { new SqlParameter("@FirstName", SqlDbType.NVarChar), new SqlParameter("@LastName", SqlDbType.NVarChar), new SqlParameter("@Email", SqlDbType.NVarChar), new SqlParameter("@Telephone", SqlDbType.NVarChar), new SqlParameter("@Subject", SqlDbType.NVarChar), new SqlParameter("@Message", SqlDbType.NVarChar) }; parameters[0].Value = contactUsCreate.FirstName; parameters[1].Value = contactUsCreate.LastName; parameters[2].Value = contactUsCreate.Email; parameters[3].Value = contactUsCreate.Telephone; parameters[4].Value = contactUsCreate.Subject; parameters[5].Value = contactUsCreate.Message; _DataHelper = new DataAccessHelper("spi_ContactUs", parameters, _configuration); DataTable dt = new DataTable(); int result = await _DataHelper.RunAsync(dt); if (dt.Rows.Count > 0) { foreach (DataRow item in dt.Rows) { UserEmail userEmail = new UserEmail(); userEmail.Email = Convert.ToString(item["Email"]); string text = contactUsCreate.Message; string buttonText = "Review Content"; userEmail.Body = Emailer.CreateEmailBody(Convert.ToString(item["UserName"]), contactUsCreate.Url, text, buttonText, _configuration); userEmail.Subject = "Query :" + contactUsCreate.Subject; await Emailer.SendEmailAsync(userEmail, _configuration); } } return(new DatabaseResponse { ResponseCode = result }); } catch (Exception ex) { Log.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical)); throw; } finally { _DataHelper.Dispose(); } }
public async Task <IActionResult> SaveContactUsForm(ContactUsCreate contactUsCreate) { try { if (!ModelState.IsValid) { return(Ok(new OperationResponse { HasSucceeded = false, IsDomainValidationErrors = true, StatusCode = ((int)ResponseStatus.BadRequest).ToString(), Message = string.Join("; ", ModelState.Values .SelectMany(x => x.Errors) .Select(x => x.ErrorMessage)) })); } NotificationsDataAccess _notificationsDataAccess = new NotificationsDataAccess(_configuration); DatabaseResponse response = await _notificationsDataAccess.SaveContactUsForm(contactUsCreate); if (response.ResponseCode == (int)DbReturnValue.CreateSuccess) { return(Ok(new OperationResponse { HasSucceeded = true, IsDomainValidationErrors = false, Message = EnumExtensions.GetDescription(DbReturnValue.CreateSuccess), ReturnedObject = response.Results })); } else { Log.Error(EnumExtensions.GetDescription(DbReturnValue.CreationFailed)); return(Ok(new OperationResponse { HasSucceeded = false, IsDomainValidationErrors = false, Message = EnumExtensions.GetDescription(DbReturnValue.RecordExists), ReturnedObject = response.Results })); } } catch (Exception ex) { Log.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical)); return(Ok(new OperationResponse { HasSucceeded = false, Message = StatusMessages.ServerError, StatusCode = ((int)ResponseStatus.ServerError).ToString(), IsDomainValidationErrors = false })); } }