Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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
                }));
            }
        }