コード例 #1
0
        // INSERT

        public static int Insert(ContactUsAddRequest model)
        {
            {
                int id = 0;

                DataProvider.ExecuteNonQuery(GetConnection, "dbo.ContactRequest_Insert",
                                             inputParamMapper : delegate(SqlParameterCollection paramCollection)
                {
                    paramCollection.AddWithValue("@Name", model.Name);
                    paramCollection.AddWithValue("@Email", model.Email);
                    paramCollection.AddWithValue("@Message", model.Message);


                    SqlParameter p = new SqlParameter("@Id", SqlDbType.Int);
                    p.Direction    = ParameterDirection.Output;

                    paramCollection.Add(p);
                }, returnParameters : delegate(SqlParameterCollection param)
                {
                    Int32.TryParse(param["@Id"].Value.ToString(), out id);
                }
                                             );

                return(id);
            }
        }
コード例 #2
0
        public async Task <HttpResponseMessage> Send(ContactUsAddRequest model)
        {
            bool success = await _emailService.SendContactUs(model);

            ContactRequestService.Insert(model);
            return(Request.CreateResponse(HttpStatusCode.OK, new SuccessResponse()));
        }
コード例 #3
0
        public int Insert(ContactUsAddRequest model)
        {
            int result = 0;

            this.DataProvider.ExecuteNonQuery(
                "ContactUs_Insert",
                inputParamMapper : delegate(SqlParameterCollection paramCol)
            {
                SqlParameter parm  = new SqlParameter();
                parm.ParameterName = "@Id";
                parm.SqlDbType     = SqlDbType.Int;
                parm.Direction     = ParameterDirection.Output;
                paramCol.Add(parm);

                paramCol.AddWithValue("@Email", model.Email);
                paramCol.AddWithValue("@Name", model.Name);
                paramCol.AddWithValue("@Subject", model.Subject);
                paramCol.AddWithValue("@Question", model.Question);
            },
                returnParameters : delegate(SqlParameterCollection paramcol)
            {
                result = (int)paramcol["@Id"].Value;
            }
                );
            return(result);
        }
コード例 #4
0
        public void Insert_Failed_Email_Required_Test()
        {
            try
            {
                //Arrange
                ContactUsAddRequest InsertRequestModel = new ContactUsAddRequest
                {
                    //Email = "*****@*****.**",
                    Name     = "Jimmy",
                    Subject  = "New Subject",
                    Question = "New Question",
                };

                //Act
                int result = _ContactUsService.Insert(InsertRequestModel);
            }
            catch (ValidationException validationEx)
            {
                //Assert
                //Make sure we're throwing for the right reason
                foreach (string item in validationEx.ValidationResult.MemberNames)
                {
                    if (item == "Email")
                    {
                        //If the field being tested is found
                        // the negative test passes
                        throw;
                    }
                }
            }
            //if you made it this far the test failed
        }
コード例 #5
0
ファイル: EmailService.cs プロジェクト: entrotech/deployapp
        public async Task <bool> SendContactUs(ContactUsAddRequest model)
        {
            string toName      = "OpCode Admin";
            string toAddress   = System.Web.Configuration.WebConfigurationManager.AppSettings["SiteAdminEmailAddress"];
            string subject     = "Message From Deploy Site User";
            string messageText = model.Message;
            string messageHtml = messageText;

            return(await Send(model.Email, model.Name, toName, toAddress, subject, messageText, messageHtml));
        }
コード例 #6
0
        //For Asim's Contact Us Email
        public async Task ContactUsEmail(ContactUsAddRequest model)
        {
            var msg = new SendGridMessage()
            {
                From             = new EmailAddress(model.Email),
                Subject          = "Needs your help: " + model.Name,
                PlainTextContent = model.Description
            };

            msg.AddTo(new EmailAddress("*****@*****.**", "ContactUsAdmin"));
            await Send(msg);
        }
コード例 #7
0
        public IHttpActionResult Post(ContactUsAddRequest model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                ItemResponse <int> response = new ItemResponse <int>();

                Email eml = new Email();

                MessageAddress msgAdd = new MessageAddress
                {
                    Email = AppSettingDictionary.Instance.appSettings["gmailAccount"],
                    Name  = model.FirstName
                };

                List <MessageAddress> list = new List <MessageAddress>
                {
                    msgAdd
                };
                string subject = "";
                if (model.SubjectId == "0")
                {
                    subject = "Student";
                }
                else if (model.SubjectId == "1")
                {
                    subject = "School";
                }
                else
                {
                    subject = "Other";
                }

                eml.To            = list;
                eml.FromAddress   = model.Email;
                eml.FromName      = model.FirstName + " " + model.LastName;
                eml.Subject       = subject;
                eml.PlainTextBody = model.Message;

                _emailMessenger.SendMail(eml);

                return(Ok(response));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
コード例 #8
0
        public HttpResponseMessage Add(ContactUsAddRequest model)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelState));
            }

            ItemResponse <int> response = new ItemResponse <int>();

            response.Item = ContactRequestService.Insert(model);

            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
コード例 #9
0
        public ContactUsRequest Post(ContactUsAddRequest model)
        {
            ContactUsRequest contactusRequest = new ContactUsRequest
            {
                FromEmail = model.Email,
                FromName  = model.Name,
                ToEmail   = _configService.ConvertConfigValue_String("To_Email"),
                Subject   = model.Subject,
                Question  = model.Question,
                ContactUsEmailTemplate = HostingEnvironment.MapPath("~/Content/ContactUsEmailTemplate.html"),
                SendGridKey            = _configService.ConvertConfigValue_String("SendGrid_Key"),
            };

            return(contactusRequest);
        }
コード例 #10
0
        public void Insert_Test()
        {
            //Arrange
            ContactUsAddRequest insertRequestModel = new ContactUsAddRequest
            {
                Email    = "*****@*****.**",
                Name     = "Jimmy",
                Subject  = "New Subject",
                Question = "New Question",
            };
            //Act
            int result = _ContactUsService.Insert(insertRequestModel);

            //Assert
            Assert.IsInstanceOfType(result, typeof(int), "Id has to be int");
            Assert.IsTrue(result > 0);
        }
コード例 #11
0
        public void Insert_Failed_Subject_Required_Test()
        {
            //Arrange
            ContactUsAddRequest InsertRequestModel = new ContactUsAddRequest
            {
                Email = "*****@*****.**",
                Name  = "Jimmy",
                //Subject = "New Subject",
                Question = "New Question",
            };

            //Act
            int result = _ContactUsService.Insert(InsertRequestModel);

            //Assert
            //If you made it this far the test failed
            Assert.IsInstanceOfType(result, typeof(int), "Id has to be int");
            Assert.IsTrue(result > 0);
        }
コード例 #12
0
        [AllowAnonymous] //to allow annonymous post
        public ActionResult <ItemResponse <int> > Insert(ContactUsAddRequest model)
        {
            ActionResult result = null;

            try
            {
                _emailService.ContactUsEmail(model);
                int id = _contactUs.Insert(model);
                ItemResponse <int> response = new ItemResponse <int>();
                response.Item = id;
                result        = Created201(response);
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.ToString());
                result = StatusCode(500, new ErrorResponse(ex.Message));
            }
            return(result);
        }
コード例 #13
0
        public int Insert(ContactUsAddRequest model)
        {
            int id = 0;

            _dataProvider.ExecuteNonQuery("dbo.ContactUs_Insert",
                                          inputParamMapper : delegate(SqlParameterCollection paramCol)
            {
                SqlParameter param  = new SqlParameter();
                param.ParameterName = "@Id";
                param.SqlDbType     = SqlDbType.Int;
                param.Direction     = ParameterDirection.Output;
                paramCol.Add(param);
                PopulatesParamCol(model, paramCol);
            },
                                          returnParameters : delegate(SqlParameterCollection paramCol)
            {
                int.TryParse(paramCol["@Id"].Value.ToString(), out id);
            }
                                          );
            return(id);
        }
コード例 #14
0
 private static void PopulatesParamCol(ContactUsAddRequest model, SqlParameterCollection paramCol)
 {
     paramCol.AddWithValue("@Name", model.Name);
     paramCol.AddWithValue("@Email", model.Email);
     paramCol.AddWithValue("@Description", model.Description);
 }