Example #1
0
        public ActionResult DeleteConfirmed(Guid id)
        {
            RequestForDemo requestForDemo = db.RequestForDemo.Find(id);

            db.RequestForDemo.Remove(requestForDemo);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #2
0
 public ActionResult Edit([Bind(Include = "RequestID,OrganizationFullName,OrganizationShortName,AdministratorEmail,AdministratorFirstName,AdministratorLastName,AdministratorPhoneNumber,DateCreated")] RequestForDemo requestForDemo)
 {
     if (ModelState.IsValid)
     {
         db.Entry(requestForDemo).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(requestForDemo));
 }
Example #3
0
        public void TestGetAllRequestsForDemo()
        {
            RequestForDemo requestForDemo = new RequestForDemo
            {
            };
            var testRequestForDemo = new HomeController();
            var result             = (JsonResult)testRequestForDemo.Index();

            Console.WriteLine(result.Data);
            Assert.IsTrue((result.Data + "").Contains("Ok"));
        }
Example #4
0
 public async Task SendMailToUser(RequestForDemo requestForDemo)
 {
     var    RecipientEmail     = requestForDemo.AdministratorEmail;
     string Subject            = "Techspecialist - ProcureEase App";
     string Body               = new EmailTemplateHelper().GetTemplateContent("RequestForDemoTemplate_User");
     string newTemplateContent = string.Format(Body, requestForDemo.AdministratorFirstName);
     //newTemplateContent = newTemplateContent.Replace("[RecipientEmail]", RecipientEmail.Trim());
     Message     message     = new Message(RecipientEmail, Subject, newTemplateContent);
     EmailHelper emailHelper = new EmailHelper();
     await emailHelper.AddEmailToQueue(message);
 }
Example #5
0
 public async Task SendMailToTechspecialist(RequestForDemo requestForDemo)
 {
     var    RecipientEmail     = GetConfiguration("TechspecialistAdminEmail");
     string Subject            = "Request For Demo";
     string Body               = new EmailTemplateHelper().GetTemplateContent("RequestForDemoTemplate_Techspecialist");
     string newTemplateContent = string.Format(Body, requestForDemo.AdministratorEmail);
     //newTemplateContent = newTemplateContent.Replace("[RecipientEmail]", RecipientEmail.Trim());
     Message     message     = new Message(RecipientEmail, Subject, newTemplateContent);
     EmailHelper emailHelper = new EmailHelper();
     await emailHelper.AddEmailToQueue(message);
 }
Example #6
0
        public ActionResult Create([Bind(Include = "RequestID,OrganizationFullName,OrganizationShortName,AdministratorEmail,AdministratorFirstName,AdministratorLastName,AdministratorPhoneNumber,DateCreated")] RequestForDemo requestForDemo)
        {
            if (ModelState.IsValid)
            {
                requestForDemo.RequestID = Guid.NewGuid();
                db.RequestForDemo.Add(requestForDemo);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(requestForDemo));
        }
Example #7
0
        // GET: RequestForDemoes/Edit/5
        public ActionResult Edit(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RequestForDemo requestForDemo = db.RequestForDemo.Find(id);

            if (requestForDemo == null)
            {
                return(HttpNotFound());
            }
            return(View(requestForDemo));
        }
Example #8
0
        public async Task TestPostRequestForDemo_Successful()
        {
            RequestForDemo requestForDemo = new RequestForDemo
            {
                OrganizationFullName     = "The Organization",
                OrganizationShortName    = "TO",
                AdministratorEmail       = "*****@*****.**",
                AdministratorFirstName   = "Muyiwer",
                AdministratorLastName    = "Aro",
                AdministratorPhoneNumber = "+2348165389524",
            };

            var        testRequestForDemo = new HomeController();
            JsonResult result             = (JsonResult)await testRequestForDemo.RequestForDemo(requestForDemo);

            Console.WriteLine(result.Data);
            Assert.IsTrue((result.Data + "").Contains("Request Sent Successfully"));
        }
Example #9
0
        public async Task TestPostRequestForDemo_UnSuccessful()
        {
            RequestForDemo requestForDemo = new RequestForDemo
            {
                OrganizationFullName     = "My Organization",
                OrganizationShortName    = "MO",
                AdministratorEmail       = "*****@*****.**",
                AdministratorFirstName   = "Anita",
                AdministratorLastName    = "Ajekuko",
                AdministratorPhoneNumber = "+2348100009525",
            };

            var        testRequestForDemo = new HomeController();
            JsonResult result             = (JsonResult)await testRequestForDemo.RequestForDemo(requestForDemo);

            result = (JsonResult)await testRequestForDemo.RequestForDemo(requestForDemo);//Duplicate insertion attempt

            Console.WriteLine(result.Data);
            Assert.IsTrue((result.Data + "").Contains("Request Sent Successfully"));
        }
Example #10
0
        public async Task <ActionResult> RequestForDemo(RequestForDemo requestForDemo)
        {
            try
            {
                var OrganizationFullName = db.RequestForDemo.Where(x => x.OrganizationFullName == requestForDemo.OrganizationFullName).Select(x => x.OrganizationFullName).FirstOrDefault();
                if (OrganizationFullName != null)
                {
                    LogHelper.Log(Log.Event.REQUESTFORDEMO, "Duplicate insertion attempt, OrganizationFullName already exist");
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    return(Error("Duplicate insertion attempt, Organization Full Name already exist"));
                }
                var OrganizationShortName = db.RequestForDemo.Where(x => x.OrganizationShortName == requestForDemo.OrganizationShortName).Select(x => x.OrganizationShortName).FirstOrDefault();
                if (OrganizationShortName != null)
                {
                    LogHelper.Log(Log.Event.REQUESTFORDEMO, "Duplicate insertion attempted, OrganizationShortName already exist");
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    return(Error("Duplicate insertion attempt, Organization Short Name already exist"));
                }
                var AdministratorEmail = db.RequestForDemo.Where(x => x.AdministratorEmail == requestForDemo.AdministratorEmail).Select(x => x.AdministratorEmail).FirstOrDefault();
                if (AdministratorEmail != null)
                {
                    LogHelper.Log(Log.Event.REQUESTFORDEMO, "Duplicate insertion attempted, AdministratorEmail already exist");
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    return(Error("Duplicate insertion attempt, Administrator Email already exist"));
                }
                var AdministratorPhoneNumber = db.RequestForDemo.Where(x => x.AdministratorPhoneNumber == requestForDemo.AdministratorPhoneNumber).Select(x => x.AdministratorPhoneNumber).FirstOrDefault();
                if (AdministratorPhoneNumber != null)
                {
                    LogHelper.Log(Log.Event.REQUESTFORDEMO, "Duplicate insertion attempted, AdministratorPhoneNumber already exist");
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    return(Error("Duplicate insertion attempt, Administrator PhoneNumber already exist"));
                }
                DateTime dt = DateTime.Now;
                requestForDemo.RequestID   = Guid.NewGuid();
                requestForDemo.IsOnboarded = false;
                requestForDemo.DateCreated = dt;
                db.RequestForDemo.Add(requestForDemo);
                db.SaveChanges();

                await SendMailToTechspecialist(requestForDemo);
                await SendMailToUser(requestForDemo);
            }
            catch (Exception ex)
            {
                LogHelper.Log(Log.Event.REQUESTFORDEMO, ex.Message);
                Response.StatusCode = (int)HttpStatusCode.InternalServerError;
                ExceptionError(ex.Message, ex.StackTrace);
            }
            return(Json(new
            {
                success = true,
                message = "Request Sent Successfully",
                data = db.RequestForDemo.Where(x => x.RequestID == requestForDemo.RequestID).Select(x => new
                {
                    x.RequestID,
                    x.OrganizationFullName,
                    x.OrganizationShortName,
                    x.AdministratorEmail,
                    x.AdministratorFirstName,
                    x.AdministratorLastName,
                    x.AdministratorPhoneNumber,
                    x.IsOnboarded,
                    x.DemoEndDate,
                    x.DemoStartDate,
                    DateCreated = x.DateCreated.Value.ToString()
                })
            }));
        }