public void sendEmailToCompanyFailTest()
        {
            InstallmentRequestViewModel installmentRequestViewModel = new InstallmentRequestViewModel
            {
                //Company = "Alliance Trafikskole",
                FirstName = "for the email",
                LastName  = "Atmar",
                //Email = "*****@*****.**",
                Age            = 12,
                Phone          = "234324",
                StreetName     = "asdfasd",
                HouseNumber    = "sadfasdf",
                CityName       = "asdf",
                PostCode       = 333,
                Amount         = 123,
                PayWithIn      = "6 months",
                MonthlyPayment = 2342
            };

            Assert.IsNull(installmentRequestViewModel.Company);
            Assert.IsNull(installmentRequestViewModel.Email);


            //Assert.AreEqual("sent", EmailService.SendEmailToCompany(installmentRequestViewModel));
        }
Exemplo n.º 2
0
        public static void SaveInstallmentRequest(InstallmentRequestViewModel model, string UserId)
        {
            LoanAndRepayEntities entities           = new LoanAndRepayEntities();
            InstallmentRequest   installmentRequest = new InstallmentRequest();

            DAL.Address address = new DAL.Address();

            //First saves the installment request information in the installment table
            installmentRequest.UserId         = UserId;
            installmentRequest.Company        = model.Company;
            installmentRequest.FirstName      = model.FirstName;
            installmentRequest.LastName       = model.LastName;
            installmentRequest.Email          = model.Email;
            installmentRequest.Age            = model.Age;
            installmentRequest.Phone          = model.Phone;
            installmentRequest.Amount         = model.Amount;
            installmentRequest.PayWithIn      = model.PayWithIn;
            installmentRequest.MonthlyPayment = model.MonthlyPayment;
            installmentRequest.Status         = model.Status;
            entities.InstallmentRequests.Add(installmentRequest);
            entities.SaveChanges();
            var checkExistingInstallment = entities.InstallmentRequests.Where(x => x.Company == model.Company && x.Email == model.Email).FirstOrDefault();

            //Then saves the installment request address in the address table
            address.StreetName  = model.StreetName;
            address.HouseNumber = model.HouseNumber;
            address.CityName    = model.CityName;
            address.PostCode    = model.PostCode;

            address.InstallmentId = checkExistingInstallment.Id;
            entities.Addresses.Add(address);
            entities.SaveChanges();
        }
        public static string SendEmailToCompany(InstallmentRequestViewModel model)
        {
            LoanAndRepayEntities entities = new LoanAndRepayEntities();
            var findEmail = entities.CompanyInfoes.Where(x => x.CompanyName == model.Company).FirstOrDefault();

            try
            {
                SmtpClient SmtpServer = new SmtpClient("smtp.live.com");
                var        mail       = new System.Net.Mail.MailMessage();
                mail.From = new MailAddress("*****@*****.**");
                mail.To.Add(findEmail.Email);
                mail.Subject    = "Installment request for " + model.Company;
                mail.IsBodyHtml = true;
                string htmlBody;

                htmlBody = "Hi " + model.Company + "," + "<br />" + "<br />"
                           + "The following person requests for an installement:" + "<br />" + "<br />"
                           + "First Name = " + model.FirstName + "<br />"
                           + "Last Name = " + model.LastName + "<br />"
                           + "Email = " + model.Email + "<br />"
                           + "Age = " + model.Age + "<br />"
                           + "Phone = " + model.Phone + "<br />"
                           + "Street Name = " + model.StreetName + "<br />"
                           + "House Number = " + model.HouseNumber + "<br />"
                           + "City Name = " + model.CityName + "<br />"
                           + "Post Code = " + model.PostCode + "<br />"
                           + "Amount = " + model.Amount + "<br />"
                           + "Pay within = " + model.PayWithIn + "<br />" + "<br />"
                           + "Regards," + "<br />"
                           + "SteamFoss" + ".";
                mail.Body       = htmlBody;
                SmtpServer.Port = 587;
                SmtpServer.UseDefaultCredentials = false;
                SmtpServer.Credentials           = new NetworkCredential("*****@*****.**", "m42929264.", "Outlook.com");
                SmtpServer.EnableSsl             = true;
                SmtpServer.Send(mail);

                return("sent");
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
        public IHttpActionResult InstallmentRequest(InstallmentRequestViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Invalid data."));
            }
            string currentUserId = User.Identity.GetUserId();

            try
            {
                ClientProvider.SaveInstallmentRequest(model, currentUserId);
                EmailService.SendEmailToCompany(model);
                return(Ok());
            }
            catch (Exception)
            {
                return(NotFound());
            }
        }