// 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); } }
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); }
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)); } }
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; } }