Beispiel #1
0
        public static async Task <HttpResponseMessage> SendLoginMail(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestMessage req,
            TraceWriter log)
        {
            log.Info("appDeveloper: SendLoginMail method started");
            var page = InitPage(req);

            dynamic data = await req.Content.ReadAsAsync <object>();

            string companyId    = data?.companyId;
            string companyName  = data?.companyName;
            string emailAddress = data?.emailAddress;

            if (string.IsNullOrEmpty(companyId) ||
                string.IsNullOrEmpty(companyName) ||
                string.IsNullOrEmpty(emailAddress))
            {
                return(req.CreateResponse(HttpStatusCode.BadRequest, AParameterIsEmpty));
            }

            var tokenClientId = Guid.NewGuid().ToString();

            //Login creation
            var document = new Record
            {
                id          = tokenClientId,
                CompanyId   = companyId,
                ContactText = emailAddress.ToLower(),
                RecordType  = 5,
                AddedDate   = page.DateNow.TimeDate
            };

            await new DatabaseHelper <Record>().CreateDocument(document);

            //Send mail
            var signInButton =
                new CommonMarkupHelper(page.t)
                .SignInEmailMessage(page.MainPath + "Sign?In=" + tokenClientId, false, companyName);

            var emailText = page.t.GetString("Click the button:");
            var response  = SendEmail(page.Common, emailText, emailAddress, emailText, signInButton);
            var message   = "appDeveloper: Mailgun response characters: " + response.Content.Length;

            return(req.CreateResponse(response.StatusCode, message));
        }
Beispiel #2
0
 public ProcessedWebPage(ICatalog catalog)
 {
     t      = catalog;
     Helper = new CommonMarkupHelper(t);
 }