// Use NuGet to install SendGrid (Basic C# client lib)
        private async Task configSendGridAsync(IdentityMessage message)
        {
            var myMessage = new SendGridMessage();

            myMessage.AddTo(message.Destination);
            myMessage.From = new System.Net.Mail.MailAddress(
                PODEnvironment.GetSetting("emailService:GeneralEmail"),
                PODEnvironment.GetSetting("emailService:GeneralEmailName"));
            myMessage.Subject = message.Subject;
            myMessage.Text    = message.Body;
            myMessage.Html    = message.Body;

            var credentials = new NetworkCredential(PODEnvironment.GetSetting("emailService:Account"),
                                                    PODEnvironment.GetSetting("emailService:Password"));

            // Create a Web transport for sending email.
            var transportWeb = new SendGrid.Web(credentials);

            // Send the email.
            if (transportWeb != null)
            {
                await transportWeb.DeliverAsync(myMessage);
            }
            else
            {
                //Trace.TraceError("Failed to create Web transport.");
                await Task.FromResult(0);
            }
        }
Example #2
0
        public byte[] RetrieveDocument(int documentID)
        {
            Credentials credentials = new Credentials()
            {
                AppUsername    = PODEnvironment.GetSetting("AppUsername"),
                ClientUsername = PODEnvironment.GetSetting("ClientUsername"),
                AppPassword    = PODEnvironment.GetSetting("AppPassword")
            };
            string companyID      = PODEnvironment.GetSetting("companyID");
            string documentType   = PODEnvironment.GetSetting("documentType");
            string conversionFlag = "PDF";

            EDMOnlineServiceReference.DocumentManagementClient client = new DocumentManagementClient();
            Document doc = new EDMOnlineServiceReference.Document();

            try
            {
                var    response     = client.DocumentRetrieve(credentials, companyID, documentID, documentType, conversionFlag);
                byte[] responseData = response.documentContent;
                return(responseData);
            }
            catch (Exception ex)
            {
                _loggingManager.Log.Error(ex, ex.Source);
                throw;
            }
        }
        public static CustomIdentityUserManager Create(IdentityFactoryOptions <CustomIdentityUserManager> options,
                                                       IOwinContext context)
        {
            var manager = new CustomIdentityUserManager(new CustomUserStore());

            // Configure validation logic for usernames
            manager.UserValidator = new UserValidator <CustomIdentityUser>(manager)
            {
                AllowOnlyAlphanumericUserNames = false,
                //RequireUniqueEmail = true
            };

            // Configure validation logic for passwords
            manager.PasswordValidator = new PasswordValidator
            {
                RequiredLength          = 6,
                RequireNonLetterOrDigit = true,
                RequireDigit            = true,
                RequireLowercase        = true,
                RequireUppercase        = true,
            };
            // Configure user lockout defaults
            manager.UserLockoutEnabledByDefault          = bool.Parse(PODEnvironment.GetSetting("UserLockoutEnabledByDefault"));
            manager.DefaultAccountLockoutTimeSpan        = TimeSpan.FromMinutes(int.Parse(PODEnvironment.GetSetting("DefaultAccountLockoutTimeSpan")));
            manager.MaxFailedAccessAttemptsBeforeLockout = int.Parse(PODEnvironment.GetSetting("MaxFailedAccessAttemptsBeforeLockout"));
            // Register two factor authentication providers. This application uses Phone and Emails as a step of receiving a code for verifying the user
            // You can write your own provider and plug in here.
            //manager.RegisterTwoFactorProvider("PhoneCode", new PhoneNumberTokenProvider<IdentityUser>
            //{
            //    MessageFormat = "Your security code is: {0}"
            //});
            //manager.RegisterTwoFactorProvider("EmailCode", new EmailTokenProvider<IdentityUser>
            //{
            //    Subject = "SecurityCode",
            //    BodyFormat = "Your security code is {0}"
            //});

            manager.EmailService = new EmailService();
            //manager.SmsService = new SmsService();
            var dataProtectionProvider = options.DataProtectionProvider;

            if (dataProtectionProvider != null)
            {
                manager.UserTokenProvider =
                    new DataProtectorTokenProvider <CustomIdentityUser>(dataProtectionProvider.Create("ResetPassword"));
            }
            return(manager);
        }
Example #4
0
 public async Task <Guid> AddReportAsync(Report Report, bool SendEmail = false)
 {
     // this._db.Insert<Report>(Repo
     if (SendEmail)
     {
         Task <bool> SendingTask = EmailManager.SendEmailFillBodyAsync(PODEnvironment.GetSetting("emailService:CompanyEmail"), "Report Subject", "Report", new object[] { Report.ReportTypeID, Report.TicketID, Report.Details, Report.IsSuccess }, new String[] { "C:\\Evolve\\PODPortal\\TestFiles\\Attach.txt" });  //remove file attachments
         Guid        Guid        = this.Insert <Report>(Report);
         return(await Task <Guid> .Run(async() =>
         {
             await SendingTask;
             return Guid;
         }));
     }
     else
     {
         return(this.Insert <Report>(Report));
     }
 }
Example #5
0
        public List <TicketTable> SearchDocument(string accountNumber = null, int?ticketNumber = null, DateTime?deliveryDate = null)
        {
            #region Request Parameters

            Credentials credentials = new Credentials()
            {
                AppUsername    = PODEnvironment.GetSetting("AppUsername"),
                ClientUsername = PODEnvironment.GetSetting("ClientUsername"),
                AppPassword    = PODEnvironment.GetSetting("AppPassword")
            };

            string     companyID    = PODEnvironment.GetSetting("companyID");
            string     documentType = PODEnvironment.GetSetting("documentType");
            DataFormat dataFormat   = DataFormat.JSON;

            //fill the required columns to be returned from the service
            List <ResultField> resultDatas = new List <ResultField>();
            List <TicketDocumentResultNames> FieldNamesList = Enum.GetValues(typeof(TicketDocumentResultNames)).Cast <TicketDocumentResultNames>().ToList();
            List <TicketDocumentResultKeys>  FieldKeysList  = Enum.GetValues(typeof(TicketDocumentResultKeys)).Cast <TicketDocumentResultKeys>().ToList();
            var zippedFields = FieldNamesList.Zip(FieldKeysList, (n, w) => new { Value = n, Key = w });
            foreach (var zippedField in zippedFields)
            {
                resultDatas.Add(new ResultField()
                {
                    FieldName = zippedField.Key.ToString(), FieldAlias = zippedField.Value.ToString()
                });
            }

            //fill the search criteria fields
            List <DataField> searchDatas = new List <DataField>();
            if (!String.IsNullOrWhiteSpace(accountNumber))
            {
                DataField searchData = new DataField()
                {
                    FieldName = TicketDocumentSearchKeys.fldCust_Acc.ToString(), FieldValue = accountNumber                                     /* "143016" */
                };
                searchDatas.Add(searchData);
            }
            if (ticketNumber.HasValue)
            {
                DataField searchData = new DataField()
                {
                    FieldName = TicketDocumentSearchKeys.fldSAP_Ticket_No.ToString(), FieldValue = ticketNumber.Value.ToString()                                      /* "143016" */
                };
                searchDatas.Add(searchData);
            }
            if (deliveryDate.HasValue)
            {
                DataField searchData = new DataField()
                {
                    FieldName = TicketDocumentSearchKeys.fldDate.ToString(), FieldValue = deliveryDate.Value.ToString("dd/MM/yyyy HH:mm:ss")                                      /* "143016" */
                };
                searchDatas.Add(searchData);
            }
            //DataField searchData2 = new DataField() { FieldName = "fldCust_Acc", FieldValue = null };
            //searchDatas.Add(searchData2);


            #region Zibil
            //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldSerial_No.ToString(), FieldAlias = TicketDocumentFieldNames.SerialNo.ToString() });
            //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldPOD_Ticket_No.ToString(), FieldAlias = TicketDocumentFieldNames.BarCode.ToString() });
            //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldSAP_Ticket_No.ToString(), FieldAlias = TicketDocumentFieldNames.TicketNo.ToString() });
            //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldDepot.ToString(), FieldAlias = TicketDocumentFieldNames.Depot.ToString() });
            //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldDate.ToString(), FieldAlias = TicketDocumentFieldNames.TicketDateDT.ToString() });
            //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldCust_Acc.ToString(), FieldAlias = TicketDocumentFieldNames.CustomerAcc.ToString() });
            //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldCust_Name.ToString(), FieldAlias = TicketDocumentFieldNames.CustomerName.ToString() });
            //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldHaulier_Acc.ToString(), FieldAlias = TicketDocumentFieldNames.HaulierAcc.ToString() });
            //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldVehicle_Reg.ToString(), FieldAlias = TicketDocumentFieldNames.VehicleReg.ToString() });
            //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldSAP_Quote.ToString(), FieldAlias = TicketDocumentFieldNames.SAPQuote.ToString() });
            //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldSAP_Invoice.ToString(), FieldAlias = TicketDocumentFieldNames.SAPInvoice.ToString() });
            //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldPayer.ToString(), FieldAlias = TicketDocumentFieldNames.Payer.ToString() });
            //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldDate_Imported.ToString(), FieldAlias = TicketDocumentFieldNames.DateImported.ToString() });
            //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldEDM_ID.ToString(), FieldAlias = TicketDocumentFieldNames.EDMDocumentID.ToString() });
            #endregion

            #endregion


            EDMOnlineServiceReference.DocumentManagementClient client = new DocumentManagementClient();
            Document doc = new EDMOnlineServiceReference.Document();

            try
            {
                List <TicketTable> ticketDocuments = new List <TicketTable>();
                var response     = client.DocumentSearch(credentials, companyID, documentType, searchDatas, resultDatas, dataFormat);
                var responseData = JObject.Parse(response.Data).ToString();
                ticketDocuments = JsonConvert.DeserializeAnonymousType(responseData, new { Tables = (List <TicketTable>)null }).Tables;

                return(ticketDocuments);
            }
            catch (Exception ex)
            {
                _loggingManager.Log.Error(ex, ex.Source);
                throw;
            }
        }