/*<ControllerActionImplementation:InterestedInInvestor:1/>*/ public ActionResult ExecuteInterestedInInvestor() { ActionResult _result = null; DSS5_SupplyChainFinancialsOptimisation.BO.Agreement newAgreement = new DSS5_SupplyChainFinancialsOptimisation.BO.Agreement(); DSS5_SupplyChainFinancialsOptimisation.BO.AgreementStatus newStatus = new DSS5_SupplyChainFinancialsOptimisation.BO.AgreementStatus(); newStatus.Status = "Interested"; newStatus.ProvidedBy = "Supplier"; newStatus.DateOccured = DateTime.UtcNow; newAgreement?.AddAgreementStatus(newStatus); if ((zAppDev.DotNet.Framework.Identity.IdentityHelper.GetCurrentApplicationUser()?.IsInRole("ValidatedSupplier") ?? false) || (zAppDev.DotNet.Framework.Identity.IdentityHelper.GetCurrentApplicationUser()?.IsInRole("ActiveSupplier") ?? false)) { DSS5_SupplyChainFinancialsOptimisation.BO.Supplier newSup = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().GetById <DSS5_SupplyChainFinancialsOptimisation.BO.Supplier>(zAppDev.DotNet.Framework.Identity.IdentityHelper.GetCurrentUserName()); newAgreement.Supplier = newSup; } newAgreement.Investor = new DSS5_SupplyChainFinancialsOptimisation.BO.Investor(); newAgreement.Investor = @model.Investor; new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Save <DSS5_SupplyChainFinancialsOptimisation.BO.Agreement>(newAgreement); System.Collections.Generic.List <string> recipients = new System.Collections.Generic.List <string>(); recipients.Add((@model.Investor?.Email ?? "")); zAppDev.DotNet.Framework.Utilities.EMailMessage em = new zAppDev.DotNet.Framework.Utilities.EMailMessage(); em.Subject = "New Agreement"; em.Body = "A new Agreement is created" + "Please edit the Agreement."; em.To = recipients.Distinct().ToList().ToList(); zAppDev.DotNet.Framework.Utilities.Email.SendMail(em, true); ClientCommand(ClientCommands.SHOW_MESSAGE, "New Agreement created."); return(_result); }
/*<ControllerActionImplementation:SendErrorToAdministrator:1/>*/ public ActionResult ExecuteSendErrorToAdministrator() { ActionResult _result = null; string developerEmail = zAppDev.DotNet.Framework.Utilities.Common.GetConfigurationKey("AdministratorEmail"); if (((developerEmail == null || developerEmail.Trim() == ""))) { ClientCommand(ClientCommands.SHOW_MESSAGE, BaseViewPage <string> .GetResourceValue("ErrorPage", "RES_CUSTOM_Invalid_AdminEmail_Message").ToString(), MessageType.Error); return(null); } @model.StackTrace = zAppDev.DotNet.Framework.Utilities.Common.GetLastError().StackTrace; @model.ErrorMessage = zAppDev.DotNet.Framework.Utilities.Common.GetLastError().Message; @model.FriendlyErrorMessage = zAppDev.DotNet.Framework.Utilities.Common.GetLastError().GetFriendlyMessage(); zAppDev.DotNet.Framework.Utilities.EMailMessage mail = new zAppDev.DotNet.Framework.Utilities.EMailMessage(); System.Collections.Generic.List <string> recipients = new System.Collections.Generic.List <string>(); recipients.Add(developerEmail); mail.To = recipients.ToList(); mail.Subject = "DSS2_SynchromodalityCapacityOptimisation" + " threw an Exception"; mail.Body = "<b>Error Message:</b> " + @model.ErrorMessage + "<br /><br />"; mail.Body = mail.Body + "<b>Friendly Error Message:</b> <span style='white-space: pre-line;'>" + @model.FriendlyErrorMessage + "</span><br /><br />"; mail.Body = mail.Body + "<b>StackTrace:</b> " + @model.StackTrace + "<br />"; if (((((@model.AdditionalErrorInformation == null || @model.AdditionalErrorInformation.Trim() == "")) == false))) { mail.Body = mail.Body + "<br /><b>Additional Information:</b> " + @model.AdditionalErrorInformation; } zAppDev.DotNet.Framework.Utilities.Email.SendMail(mail); ClientCommand(ClientCommands.SHOW_MESSAGE, BaseViewPage <string> .GetResourceValue("ErrorPage", "RES_CUSTOM_Successful_EMail_Message").ToString()); return(_result); }
/*<ControllerActionImplementation:ResetPassword:1/>*/ public ActionResult ExecuteResetPassword() { ActionResult _result = null; zAppDev.DotNet.Framework.Identity.Model.ApplicationUser user = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().GetAsQueryable <zAppDev.DotNet.Framework.Identity.Model.ApplicationUser>((u) => u.Email == @model.txtEmail)?.FirstOrDefault(); if ((user == null)) { ClientCommand(ClientCommands.SHOW_MESSAGE, BaseViewPage <string> .GetResourceValue("ForgotPassword", "RES_CUSTOM_NotFound").ToString(), MessageType.Error); return(null); } if ((((user?.Email ?? "") == null || (user?.Email ?? "").Trim() == "") || ((((user?.Email ?? "") == null ? false : CSharpVerbalExpressions.VerbalExpressions.DefaultExpression.Add(CSharpVerbalExpressions.CommonRegex.Email).Test((user?.Email ?? "")))) == false))) { ClientCommand(ClientCommands.SHOW_MESSAGE, BaseViewPage <string> .GetResourceValue("ForgotPassword", "RES_CUSTOM_NoMail").ToString(), MessageType.Error); return(null); } string code = zAppDev.DotNet.Framework.Identity.IdentityHelper.GetUserManager().GeneratePasswordResetTokenAsync(user.UserName).Result; string link = (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["ServerExternalPath"]) ? System.Configuration.ConfigurationManager.AppSettings["ServerExternalPath"] : zAppDev.DotNet.Framework.Utilities.Web.GetApplicationPathUri(false)) + "/ResetPassword/Render" + "?code=" + System.Web.HttpUtility.UrlEncode(code); zAppDev.DotNet.Framework.Utilities.EMailMessage emailMessage = new zAppDev.DotNet.Framework.Utilities.EMailMessage(); emailMessage.To = new List <string> { (user?.Email ?? "") }.ToList(); emailMessage.Subject = "Password Reset"; emailMessage.Body = "Please click <a href='" + link + "'>here</a> to reset your password"; emailMessage.IsBodyHtml = true; zAppDev.DotNet.Framework.Utilities.Email.SendMail(emailMessage, true); _result = CloseForm(); return(_result); }
/*<ControllerActionImplementation:ResetPassword:1/>*/ public ActionResult ExecuteResetPassword() { ActionResult _result = null; zAppDev.DotNet.Framework.Identity.Model.ApplicationUser user = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <zAppDev.DotNet.Framework.Identity.Model.ApplicationUser>((u) => u.UserName == @model.txtUsername)?.FirstOrDefault(); if ((user == null)) { ClientCommand(ClientCommands.SHOW_MESSAGE, BaseViewPage <string> .GetResourceValue("ForgotPassword", "RES_CUSTOM_NotFound").ToString(), MessageType.Error); return(null); } if ((((user?.Email ?? "") == null || (user?.Email ?? "").Trim() == "") || ((((user?.Email ?? "") == null ? false : CSharpVerbalExpressions.VerbalExpressions.DefaultExpression.Add(CSharpVerbalExpressions.CommonRegex.Email).Test((user?.Email ?? "")))) == false))) { ClientCommand(ClientCommands.SHOW_MESSAGE, BaseViewPage <string> .GetResourceValue("ForgotPassword", "RES_CUSTOM_NoMail").ToString(), MessageType.Error); return(null); } string newPassword = Guid.NewGuid().ToString().ToLower().Replace("-", "").Substring(0, 10); string result = zAppDev.DotNet.Framework.Identity.IdentityHelper.ResetPassword(user, newPassword); if (((((result == null || result == "")) == false))) { ClientCommand(ClientCommands.SHOW_MESSAGE, result, MessageType.Error); return(null); } zAppDev.DotNet.Framework.Utilities.EMailMessage mail = new zAppDev.DotNet.Framework.Utilities.EMailMessage(); System.Collections.Generic.List <string> recipients = new System.Collections.Generic.List <string>(); recipients.Add((user?.Email ?? "")); mail.To = recipients.ToList(); mail.Subject = "Your new password for " + "DSS1_RetailerDriverStockOptimisation"; mail.Body = "-> Password: " + newPassword; zAppDev.DotNet.Framework.Utilities.Email.SendMail(mail); _result = CloseForm(); return(_result); }
/*<ControllerActionImplementation:HandlePayment:1/>*/ public ActionResult ExecuteHandlePayment(string username, bool approved) { ActionResult _result = null; DSS5_SupplyChainFinancialsOptimisation.BO.Supplier supplier = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().GetAsQueryable <DSS5_SupplyChainFinancialsOptimisation.BO.Supplier>((a) => a.UserName == username)?.FirstOrDefault(); zAppDev.DotNet.Framework.Utilities.EMailMessage email = new zAppDev.DotNet.Framework.Utilities.EMailMessage(); email.To = new List <string> { (supplier?.Email ?? "") }.ToList(); email.IsBodyHtml = true; if ((approved)) { supplier.Roles = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Get <zAppDev.DotNet.Framework.Identity.Model.ApplicationRole>((a) => a.Name == "RegisteredSupplier").ToList(); zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "PendingRegisteredSuppliersList", DSS5_SupplyChainFinancialsOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Supplier Roles " + (supplier?.Roles?.FirstOrDefault()?.Name ?? "")); supplier.SupplierStatus = "RegisteredSupplier"; new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Save <DSS5_SupplyChainFinancialsOptimisation.BO.Supplier>(supplier); ClientCommand(ClientCommands.DATALIST_REFRESH, "SupplierListNoDT"); ClientCommand(ClientCommands.SHOW_MESSAGE, "Supplier " + (supplier?.UserName ?? "") + " is now Registered."); email.Subject = "Payment Approval"; email.Body = "Your payment has been approved from TOME FINANCE ® Administrator. " + "Please return to your profile and proceed to request validation."; } else { supplier.Roles = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Get <zAppDev.DotNet.Framework.Identity.Model.ApplicationRole>((a) => a.Name == "RejectedSupplier").ToList(); supplier.SupplierStatus = "RejectedSupplier"; new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Save <DSS5_SupplyChainFinancialsOptimisation.BO.Supplier>(supplier); ClientCommand(ClientCommands.DATALIST_REFRESH, "SupplierListNoDT"); ClientCommand(ClientCommands.SHOW_MESSAGE, "Supplier " + (supplier?.UserName ?? "") + "is now Rejected.", MessageType.Warning); email.Subject = "Payment Rejection"; email.Body = "Your payment has been rejected from TOME FINANCE ® Administrator. Please provide us your company details and " + "your account details, in order to proceed with the return of the fee."; } zAppDev.DotNet.Framework.Utilities.Email.SendMail(email, true); return(_result); }
/*<ControllerActionImplementation:SendConfirmationMail:1/>*/ public ActionResult ExecuteSendConfirmationMail() { ActionResult _result = null; zAppDev.DotNet.Framework.Identity.Model.ApplicationUser appUser = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().GetAsQueryable<zAppDev.DotNet.Framework.Identity.Model.ApplicationUser>((ap) => ap.UserName == @model.UserNameTextBox)?.FirstOrDefault(); string code = zAppDev.DotNet.Framework.Identity.IdentityHelper.GetUserManager().GenerateEmailConfirmationTokenAsync(appUser.UserName).Result; string link = (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["ServerExternalPath"]) ? System.Configuration.ConfigurationManager.AppSettings["ServerExternalPath"] : zAppDev.DotNet.Framework.Utilities.Web.GetApplicationPathUri(false)) + "/EmailConfirmation/Confirm"+ "?email=" + System.Web.HttpUtility.UrlEncode((appUser?.Email ?? ""))+ "&code=" + System.Web.HttpUtility.UrlEncode(code); zAppDev.DotNet.Framework.Utilities.EMailMessage emailMessage = new zAppDev.DotNet.Framework.Utilities.EMailMessage(); emailMessage.To = new List<string> { (appUser?.Email ?? "") } .ToList(); emailMessage.Subject = "Acount Activation"; emailMessage.Body = "Please click <a href='" + link + "'>here</a> to activate your account"; emailMessage.IsBodyHtml = true; zAppDev.DotNet.Framework.Utilities.Email.SendMail(emailMessage, true); return _result; }
public static DSS5_SupplyChainFinancialsOptimisation.BO.Contact HomePageContactImplementation(string last_name, string email, string message) { DSS5_SupplyChainFinancialsOptimisation.BO.Contact contact = new DSS5_SupplyChainFinancialsOptimisation.BO.Contact(); contact.LastName = last_name; contact.Email = email; contact.Message = message; System.Collections.Generic.List <string> recipients = new System.Collections.Generic.List <string>(); recipients.Add("*****@*****.**"); zAppDev.DotNet.Framework.Utilities.EMailMessage em = new zAppDev.DotNet.Framework.Utilities.EMailMessage(); em.Subject = "Tome Finance User Contact"; em.IsBodyHtml = true; em.Body = "<p>New message from</p> <p>Last Name: " + (contact?.LastName ?? "") + "</p> <p>E-mail: " + (contact?.Email ?? "") + "</p> <p>Message: " + (contact?.Message ?? "") + "</p> <p> </p>"; em.To = recipients.Distinct().ToList().ToList(); zAppDev.DotNet.Framework.Utilities.Email.SendMail(em, true); return(contact); }
public static void SendMail(EMailMessage message, bool sendAsync = false) { #if NETFRAMEWORK var appConfiguration = ConfigurationManager.AppSettings; #else var appConfiguration = ConfigurationHandler.GetAppConfiguration(); #endif if (string.IsNullOrEmpty(message.From)) { var settings = FetchSmtpSettings(); if (settings == null) { throw new ArgumentNullException(nameof(message), "No valid mail settings were found in the configuration."); } message.From = settings.Smtp.From; } bool.TryParse(appConfiguration["TestMode"], out var testMode); if (testMode) { var originalRecipients = ""; foreach (var i in message.To) { originalRecipients += $"<br/>{i}"; } message.To.Clear(); message.To.Add(appConfiguration["TestModeEmail"]); message.Body = "<b>TEST MODE</b> Original Recipients:" + originalRecipients + "<br/><br/>" + message.Body; } var mailSeparatorCharacter = appConfiguration["EmailSeparatorCharacter"]; mailSeparatorCharacter = !string.IsNullOrWhiteSpace(mailSeparatorCharacter) ? mailSeparatorCharacter : ","; SendMail(message.Subject, message.Body, message.To == null ? "" : string.Join(mailSeparatorCharacter, message.To.Where(a => !string.IsNullOrWhiteSpace(a))), message.CC == null ? "" : string.Join(mailSeparatorCharacter, message.CC.Where(a => !string.IsNullOrWhiteSpace(a))), message.Bcc == null ? "" : string.Join(mailSeparatorCharacter, message.Bcc.Where(a => !string.IsNullOrWhiteSpace(a))), message.From, message.Attachments?.Select(a => a.Attachment).ToList(), sendAsync); }
public static void CreateNotifications(DSS1_RetailerDriverStockOptimisation.BO.OrderForecast orderForecast) { using (new zAppDev.DotNet.Framework.Profiling.Profiler("Notification", zAppDev.DotNet.Framework.Profiling.AppDevSymbolType.ClassOperation, "CreateNotifications")) { zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "Notification", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Creating Alerts for Order Forecast: " + (orderForecast?.Id ?? 0)); System.Collections.Generic.List <DSS1_RetailerDriverStockOptimisation.BO.OrderForecastDetails> forecastOrderDetails = orderForecast?.OrderForecastDetails; foreach (var order in forecastOrderDetails ?? Enumerable.Empty <DSS1_RetailerDriverStockOptimisation.BO.OrderForecastDetails>()) { if ((order?.Notification != null)) { zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "Notification", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "---- Deleting " + (order?.Notification?.Id ?? 0) + "----"); new DSS1_RetailerDriverStockOptimisation.DAL.Repository().DeleteNotification(order?.Notification); } DSS1_RetailerDriverStockOptimisation.BO.Item currItem = order?.Item; var _var0 = currItem?.SKU; var _var1 = order?.RecommendedOrderDate?.Date; DSS1_RetailerDriverStockOptimisation.BO.SupplierCapacity supplierCapacity = new DSS1_RetailerDriverStockOptimisation.DAL.Repository().GetAsQueryable <DSS1_RetailerDriverStockOptimisation.BO.SupplierCapacity>((a) => a.Item.SKU == _var0 && a.DateOfStockUpdate.GetValueOrDefault(System.Data.SqlTypes.SqlDateTime.MinValue.Value).Date == _var1)?.FirstOrDefault(); if ((supplierCapacity == null || supplierCapacity?.Stock == 0)) { zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Warning, "Notification", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Don't have supplier capacity for item : " + (currItem?.SKU ?? "")); continue; } int?totalStock = (supplierCapacity?.Stock ?? 0); int?orderQuantity = (int)((order?.Quantity ?? 0)); zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Warning, "Notification", DSS1_RetailerDriverStockOptimisation.Hubs.EventsHub.RaiseDebugMessage, "totalStock " + (totalStock?.ToString() ?? "") + " : orderQuantity" + (orderQuantity?.ToString() ?? "")); if ((totalStock < orderQuantity)) { DSS1_RetailerDriverStockOptimisation.BO.Notification notification = new DSS1_RetailerDriverStockOptimisation.BO.Notification(); notification.Message = "Low Stock"; notification.Item = currItem; notification.Warehouse = order?.Warehouse; notification.TotalSupplierStock = totalStock; notification.SalesForecastDate = (order?.RecommendedOrderDate ?? System.Data.SqlTypes.SqlDateTime.MinValue.Value); notification.OrderForecastQuantity = orderQuantity; notification.Diff = orderQuantity.GetValueOrDefault(0) - totalStock.GetValueOrDefault(0); notification.OrderForecastDetails = order; notification.CreatedBy = "System"; new DSS1_RetailerDriverStockOptimisation.DAL.Repository().Save <DSS1_RetailerDriverStockOptimisation.BO.Notification>(notification); zAppDev.DotNet.Framework.Utilities.EMailMessage em = new zAppDev.DotNet.Framework.Utilities.EMailMessage(); em.To = new List <string> { "*****@*****.**" }.ToList(); em.Subject = "New Alert"; em.IsBodyHtml = true; em.Body = "A new alert is created due to low stock " + "for the Item: " + (notification?.Item?.SKU ?? ""); zAppDev.DotNet.Framework.Utilities.Email.SendMail(em, true); } string recommendationThresholdPercentString = zAppDev.DotNet.Framework.Identity.Model.ApplicationSetting.GetValue("RecommendationThresholdPercent"); if (((recommendationThresholdPercentString == null || recommendationThresholdPercentString.Trim() == ""))) { continue; } int?recommendationThresholdPercent = int.Parse(recommendationThresholdPercentString); if ((100 * (totalStock.GetValueOrDefault(0) - orderQuantity.GetValueOrDefault(0)) / totalStock.GetValueOrDefault(0) >= recommendationThresholdPercent)) { DSS1_RetailerDriverStockOptimisation.BO.Notification notification = new DSS1_RetailerDriverStockOptimisation.BO.Notification(); notification.Message = "Excess of Stock"; notification.Item = currItem; notification.Warehouse = order?.Warehouse; notification.TotalSupplierStock = totalStock; notification.SalesForecastDate = (order?.RecommendedOrderDate ?? System.Data.SqlTypes.SqlDateTime.MinValue.Value); notification.OrderForecastQuantity = orderQuantity; notification.Diff = totalStock.GetValueOrDefault(0) - orderQuantity.GetValueOrDefault(0); notification.OrderForecastDetails = order; notification.CreatedBy = "System"; new DSS1_RetailerDriverStockOptimisation.DAL.Repository().Save <DSS1_RetailerDriverStockOptimisation.BO.Notification>(notification); } } } }
/*<ControllerActionImplementation:RequestValidation:1/>*/ public ActionResult ExecuteRequestValidation() { ActionResult _result = null; @model.Investor = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().GetAsQueryable <DSS5_SupplyChainFinancialsOptimisation.BO.Investor>((a) => a.UserName == zAppDev.DotNet.Framework.Identity.IdentityHelper.GetCurrentUserName())?.FirstOrDefault(); @model.Investor.Roles = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Get <zAppDev.DotNet.Framework.Identity.Model.ApplicationRole>((b) => b.Name == "PendingInvestor").ToList(); @model.Investor.InvestorStatus = "PendingInvestor"; new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Save <DSS5_SupplyChainFinancialsOptimisation.BO.Investor>(@model.Investor); ClientCommand(ClientCommands.SHOW_MESSAGE, "Wait for Validation from the Administrator"); zAppDev.DotNet.Framework.Identity.Model.ApplicationUser administrator = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().GetAsQueryable <zAppDev.DotNet.Framework.Identity.Model.ApplicationUser>((a) => a.UserName == "Administrator")?.FirstOrDefault(); zAppDev.DotNet.Framework.Utilities.EMailMessage email = new zAppDev.DotNet.Framework.Utilities.EMailMessage(); email.To = new List <string> { (administrator?.Email ?? "") }.ToList(); email.Subject = "Account Validation"; email.Body = "An Investor has requested Validation"; zAppDev.DotNet.Framework.Utilities.Email.SendMail(email, true); return(_result); }
private EMailMessage Convert(MailMessage message, uint id, bool readAll) { var emailMessage = new EMailMessage { From = message.From.Address, Subject = message.Subject }; if (!readAll) { return(emailMessage); } emailMessage.Id = (int)id; emailMessage.Body = message.Body; emailMessage.IsBodyHtml = message.IsBodyHtml; emailMessage.To = message.To.Select(x => x.Address).ToList(); emailMessage.CC = message.CC.Select(x => x.Address).ToList(); emailMessage.Bcc = message.Bcc.Select(x => x.Address).ToList(); foreach (var attachment in message.Attachments) { if (attachment.ContentStream?.CanRead == true) { using (var stream = new MemoryStream()) { var attachmentBytes = new List <byte>(); while (true) { var nextByte = stream.ReadByte(); if (nextByte == -1) { break; } attachmentBytes.Add((byte)nextByte); } emailMessage.Attachments.Add(EmailAttachment.CreateFromBytes(attachment.Name, attachmentBytes.ToArray(), attachment.ContentType.MediaType)); } } } return(emailMessage); }
/*<ControllerActionImplementation:ValidateInvestor:1/>*/ public ActionResult ExecuteValidateInvestor(string username) { ActionResult _result = null; DSS5_SupplyChainFinancialsOptimisation.BO.Investor investor = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().GetAsQueryable <DSS5_SupplyChainFinancialsOptimisation.BO.Investor>((a) => a.UserName == username)?.FirstOrDefault(); investor.Roles = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Get <zAppDev.DotNet.Framework.Identity.Model.ApplicationRole>((a) => a.Name == "Investor").ToList(); zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "PendingInvestorsList", DSS5_SupplyChainFinancialsOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Investor Roles " + (investor?.Roles?.FirstOrDefault()?.Name ?? "")); investor.InvestorStatus = "Investor"; new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Save <DSS5_SupplyChainFinancialsOptimisation.BO.Investor>(investor); ClientCommand(ClientCommands.DATALIST_REFRESH, "InvestorListNoDT"); ClientCommand(ClientCommands.SHOW_MESSAGE, "Investor " + (investor?.UserName ?? "") + " is now Validated"); zAppDev.DotNet.Framework.Utilities.EMailMessage email = new zAppDev.DotNet.Framework.Utilities.EMailMessage(); email.To = new List <string> { (investor?.Email ?? "") }.ToList(); email.Subject = "Account Validation"; email.Body = "Your account has been validated from TomeFinance administrator"; zAppDev.DotNet.Framework.Utilities.Email.SendMail(email, true); return(_result); }
/*<ControllerActionImplementation:ValidateSupplier:1/>*/ public ActionResult ExecuteValidateSupplier(string username) { ActionResult _result = null; DSS5_SupplyChainFinancialsOptimisation.BO.Supplier supplier = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().GetAsQueryable <DSS5_SupplyChainFinancialsOptimisation.BO.Supplier>((a) => a.UserName == username)?.FirstOrDefault(); supplier.Roles = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Get <zAppDev.DotNet.Framework.Identity.Model.ApplicationRole>((a) => a.Name == "ValidatedSupplier").ToList(); zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "PendingValidatedSuppliersList", DSS5_SupplyChainFinancialsOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Supplier Role: " + (supplier?.Roles?.FirstOrDefault()?.Name ?? "")); supplier.SupplierStatus = "ValidatedSupplier"; new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Save <DSS5_SupplyChainFinancialsOptimisation.BO.Supplier>(supplier); ClientCommand(ClientCommands.DATALIST_REFRESH, "SupplierListNoDT"); ClientCommand(ClientCommands.SHOW_MESSAGE, "Supplier " + (supplier?.UserName ?? "") + " is now Validated"); zAppDev.DotNet.Framework.Utilities.EMailMessage email = new zAppDev.DotNet.Framework.Utilities.EMailMessage(); email.To = new List <string> { (supplier?.Email ?? "") }.ToList(); email.Subject = "Account Validation"; email.IsBodyHtml = true; email.Body = "Your account has been validated from the TOME FINANCE ® Administrator. " + "Please continue to see, which Investor is available for you to collaborate with, check their profiles and contact them."; zAppDev.DotNet.Framework.Utilities.Email.SendMail(email, true); return(_result); }
/*<ControllerActionImplementation:SavePayment:1/>*/ public ActionResult ExecuteSavePayment() { ActionResult _result = null; DSS5_SupplyChainFinancialsOptimisation.BO.Supplier supplier = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().GetAsQueryable <DSS5_SupplyChainFinancialsOptimisation.BO.Supplier>((a) => a.UserName == zAppDev.DotNet.Framework.Identity.IdentityHelper.GetCurrentUserName())?.FirstOrDefault(); supplier.Roles = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Get <zAppDev.DotNet.Framework.Identity.Model.ApplicationRole>((a) => a.Name == "PendingRegistered").ToList(); supplier.SupplierStatus = "PendingRegistered"; new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Save <DSS5_SupplyChainFinancialsOptimisation.BO.Supplier>(supplier); new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Save <DSS5_SupplyChainFinancialsOptimisation.BO.Payment>(@model.Payment); @model.Title = ""; ClientCommand(ClientCommands.SHOW_MESSAGE, "Thank you for buying registration. Please wait for Administrator's approval.", MessageType.Success, (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["ServerExternalPath"]) ? System.Configuration.ConfigurationManager.AppSettings["ServerExternalPath"] : zAppDev.DotNet.Framework.Utilities.Web.GetApplicationPathUri(false)) + "/HomePage/Render"); zAppDev.DotNet.Framework.Identity.Model.ApplicationUser administrator = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().GetAsQueryable <zAppDev.DotNet.Framework.Identity.Model.ApplicationUser>((a) => a.UserName == "Administrator")?.FirstOrDefault(); zAppDev.DotNet.Framework.Utilities.EMailMessage email = new zAppDev.DotNet.Framework.Utilities.EMailMessage(); email.To = new List <string> { (administrator?.Email ?? "") }.ToList(); email.Subject = "PAYMENTS"; email.Body = "A payment has been placed"; zAppDev.DotNet.Framework.Utilities.Email.SendMail(email, true); return(_result); }
/*<ControllerActionImplementation:ResetPasswordRequest:1/>*/ public ActionResult ExecuteResetPasswordRequest() { ActionResult _result = null; zAppDev.DotNet.Framework.Identity.Model.ApplicationUser user = new DSS3_LogisticsPoolingForUrbanDistribution.DAL.Repository().GetById <zAppDev.DotNet.Framework.Identity.Model.ApplicationUser>(@model.txtUsername); if (user == null) { ClientCommand(ClientCommands.SHOW_MESSAGE, BaseViewPage <string> .GetResourceValue("ForgotPassword", "RES_CUSTOM_NotFound").ToString(), MessageType.Error); return(null); } if (((user?.Email ?? "") == null || (user?.Email ?? "").Trim() == "") || ((((user?.Email ?? "") == null ? false : CSharpVerbalExpressions.VerbalExpressions.DefaultExpression.Add(CSharpVerbalExpressions.CommonRegex.Email).Test((user?.Email ?? "")))) == false)) { ClientCommand(ClientCommands.SHOW_MESSAGE, BaseViewPage <string> .GetResourceValue("ForgotPassword", "RES_CUSTOM_NoMail").ToString(), MessageType.Error); return(null); } string key = zAppDev.DotNet.Framework.Identity.IdentityHelper.GetUserManager().GeneratePasswordResetTokenAsync(user.UserName).Result; string resetUrl = (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["ServerExternalPath"]) ? System.Configuration.ConfigurationManager.AppSettings["ServerExternalPath"] : zAppDev.DotNet.Framework.Utilities.Web.GetApplicationPathUri(false)) + "/ForgotPassword/ResetPassword" + "?username="******"")) + "&key=" + System.Web.HttpUtility.UrlEncode(System.Web.HttpUtility.UrlEncode(key)); zAppDev.DotNet.Framework.Utilities.EMailMessage mail = new zAppDev.DotNet.Framework.Utilities.EMailMessage(); System.Collections.Generic.List <string> recipients = new System.Collections.Generic.List <string>(); recipients.Add((user?.Email ?? "")); mail.To = recipients.ToList(); mail.IsBodyHtml = true; mail.Subject = BaseViewPage <string> .GetResourceValue("ForgotPassword", "RES_CUSTOM_ResetPasswordLink").ToString() + " " + "DSS3_LogisticsPoolingForUrbanDistribution"; mail.Body = "<h3>" + BaseViewPage <string> .GetResourceValue("ForgotPassword", "RES_CUSTOM_ClickToReset").ToString() + "</h3>" + "<a href='" + resetUrl + "'>" + BaseViewPage <string> .GetResourceValue("ForgotPassword", "RES_CUSTOM_ResetPassword").ToString() + "</a>" + "<h3>" + BaseViewPage <string> .GetResourceValue("ForgotPassword", "RES_CUSTOM_CopyPaste").ToString() + "</h3><p>" + resetUrl + "</p>"; zAppDev.DotNet.Framework.Utilities.Email.SendMail(mail); string signInUrl = (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["ServerExternalPath"]) ? System.Configuration.ConfigurationManager.AppSettings["ServerExternalPath"] : zAppDev.DotNet.Framework.Utilities.Web.GetApplicationPathUri(false)) + "/SignInPage/Load"; ClientCommand(ClientCommands.SHOW_MESSAGE, BaseViewPage <string> .GetResourceValue("ForgotPassword", "RES_CUSTOM_MailSoon").ToString(), MessageType.Success, signInUrl); return(_result); }
/*<ControllerActionImplementation:SignUp:1/>*/ public ActionResult ExecuteSignUp() { ActionResult _result = null; if ((@model.PasswordTextBox != @model.RetypePass)) { ClientCommand(ClientCommands.SHOW_MESSAGE, "Passwords do not match", MessageType.Warning); return(null); } zAppDev.DotNet.Framework.Identity.Model.ApplicationUser userToRegister = new zAppDev.DotNet.Framework.Identity.Model.ApplicationUser(); System.Collections.Generic.List <zAppDev.DotNet.Framework.Identity.Model.ApplicationRole> roleToAdd = new System.Collections.Generic.List <zAppDev.DotNet.Framework.Identity.Model.ApplicationRole>(); if ((@model.ChoosenRole == null)) { zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Warning, "SignUp", DSS5_SupplyChainFinancialsOptimisation.Hubs.EventsHub.RaiseDebugMessage, "User did not select a Role."); ClientCommand(ClientCommands.SHOW_MESSAGE, "Please choose a role you wish to sign up as.", MessageType.Warning); return(null); } if (@model.ChoosenRole == "Supplier") { DSS5_SupplyChainFinancialsOptimisation.BO.Supplier newSupplier = new DSS5_SupplyChainFinancialsOptimisation.BO.Supplier(); newSupplier.UserName = @model.UserName; newSupplier.Email = @model.Email; if ((((((newSupplier?.Email ?? "") == null ? false : CSharpVerbalExpressions.VerbalExpressions.DefaultExpression.Add(CSharpVerbalExpressions.CommonRegex.Email).Test((newSupplier?.Email ?? "")))) == false))) { ClientCommand(ClientCommands.SHOW_MESSAGE, "Please enter a valid e-mail address", MessageType.Warning); return(null); } newSupplier.Company = @model.CompanyName; userToRegister = newSupplier; roleToAdd = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Get <zAppDev.DotNet.Framework.Identity.Model.ApplicationRole>((a) => a.Name == "GuestSupplier").ToList(); } if (@model.ChoosenRole == "Buyer") { DSS5_SupplyChainFinancialsOptimisation.BO.Buyer newBuyer = new DSS5_SupplyChainFinancialsOptimisation.BO.Buyer(); newBuyer.UserName = @model.UserName; newBuyer.Email = @model.Email; if ((((((newBuyer?.Email ?? "") == null ? false : CSharpVerbalExpressions.VerbalExpressions.DefaultExpression.Add(CSharpVerbalExpressions.CommonRegex.Email).Test((newBuyer?.Email ?? "")))) == false))) { ClientCommand(ClientCommands.SHOW_MESSAGE, "Please enter a valid e-mail address", MessageType.Warning); return(null); } newBuyer.Company = @model.CompanyName; userToRegister = newBuyer; roleToAdd = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Get <zAppDev.DotNet.Framework.Identity.Model.ApplicationRole>((a) => a.Name == "Buyer").ToList(); } if (@model.ChoosenRole == "Investor") { DSS5_SupplyChainFinancialsOptimisation.BO.Investor newInvestor = new DSS5_SupplyChainFinancialsOptimisation.BO.Investor(); newInvestor.UserName = @model.UserName; newInvestor.Email = @model.Email; if ((((((newInvestor?.Email ?? "") == null ? false : CSharpVerbalExpressions.VerbalExpressions.DefaultExpression.Add(CSharpVerbalExpressions.CommonRegex.Email).Test((newInvestor?.Email ?? "")))) == false))) { ClientCommand(ClientCommands.SHOW_MESSAGE, "Please enter a valid e-mail address", MessageType.Warning); return(null); } newInvestor.Company = @model.CompanyName; newInvestor.InvestorStatus = "GuestInvestor"; userToRegister = newInvestor; roleToAdd = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Get <zAppDev.DotNet.Framework.Identity.Model.ApplicationRole>((a) => a.Name == "GuestInvestor").ToList(); } if ((@model.ChoosenRole == "Intermediary")) { DSS5_SupplyChainFinancialsOptimisation.BO.IntermediaryUser newIntermediaryUser = new DSS5_SupplyChainFinancialsOptimisation.BO.IntermediaryUser(); newIntermediaryUser.UserName = @model.UserName; newIntermediaryUser.Email = @model.Email; if ((((((newIntermediaryUser?.Email ?? "") == null ? false : CSharpVerbalExpressions.VerbalExpressions.DefaultExpression.Add(CSharpVerbalExpressions.CommonRegex.Email).Test((newIntermediaryUser?.Email ?? "")))) == false))) { ClientCommand(ClientCommands.SHOW_MESSAGE, "Please enter a valid e-mail address", MessageType.Warning); return(null); } newIntermediaryUser.Intermediary = @model.Intermediary; userToRegister = newIntermediaryUser; roleToAdd = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Get <zAppDev.DotNet.Framework.Identity.Model.ApplicationRole>((a) => a.Name == "Intermediary").ToList(); } if ((new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Get <zAppDev.DotNet.Framework.Identity.Model.ApplicationUser>((a) => a.UserName == @model.UserName)).Count() > 0) { ClientCommand(ClientCommands.SHOW_MESSAGE, "Please choose a different Username", MessageType.Warning); return(null); } string error = zAppDev.DotNet.Framework.Identity.IdentityHelper.CreateUser(userToRegister, @model.PasswordTextBox); if ((((error == null || error == "")) == false)) { ClientCommand(ClientCommands.SHOW_MESSAGE, error, MessageType.Warning); return(null); } string code = zAppDev.DotNet.Framework.Identity.IdentityHelper.GetUserManager().GenerateEmailConfirmationTokenAsync(userToRegister.UserName).Result; string link = (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["ServerExternalPath"]) ? System.Configuration.ConfigurationManager.AppSettings["ServerExternalPath"] : zAppDev.DotNet.Framework.Utilities.Web.GetApplicationPathUri(false)) + "/EmailConfirmation/Confirm" + "?email=" + System.Web.HttpUtility.UrlEncode((userToRegister?.Email ?? "")) + "&code=" + System.Web.HttpUtility.UrlEncode(code); zAppDev.DotNet.Framework.Utilities.EMailMessage emailMessage = new zAppDev.DotNet.Framework.Utilities.EMailMessage(); emailMessage.To = new List <string> { (userToRegister?.Email ?? "") }.ToList(); emailMessage.Subject = "Account Activation"; emailMessage.Body = "Please click <a href='" + link + "'>here</a> to activate your account"; emailMessage.IsBodyHtml = true; zAppDev.DotNet.Framework.Utilities.Email.SendMail(emailMessage, true); userToRegister.Roles = roleToAdd.ToList(); new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Save <zAppDev.DotNet.Framework.Identity.Model.ApplicationUser>(userToRegister); ClientCommand(ClientCommands.SHOW_MESSAGE, "Please activate your account using the link sent to your email.", MessageType.Success, (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["ServerExternalPath"]) ? System.Configuration.ConfigurationManager.AppSettings["ServerExternalPath"] : zAppDev.DotNet.Framework.Utilities.Web.GetApplicationPathUri(false)) + "/HomePage/Render"); return(_result); }
/*<ControllerActionImplementation:Save:1/>*/ public ActionResult ExecuteSave() { ActionResult _result = null; DSS5_SupplyChainFinancialsOptimisation.BO.Intermediary newIntermediary = new DSS5_SupplyChainFinancialsOptimisation.BO.Intermediary(); newIntermediary.Company = @model.Company; if (((((@model.EMail == null ? false : CSharpVerbalExpressions.VerbalExpressions.DefaultExpression.Add(CSharpVerbalExpressions.CommonRegex.Email).Test(@model.EMail))) == false))) { ClientCommand(ClientCommands.SHOW_MESSAGE, "Please give a valid e-mail address.", MessageType.Error); return(null); } newIntermediary.EMail = @model.EMail; switch (@model.ChosenIntermediaryType) { case "ThirdPartyLogisticsProvider": { newIntermediary.IntermediaryType = DSS5_SupplyChainFinancialsOptimisation.BO.IntermediaryType.ThirdPartyLogisticsProviders; break; } case "TransportationCompany": { newIntermediary.IntermediaryType = DSS5_SupplyChainFinancialsOptimisation.BO.IntermediaryType.TransportationCompanies; break; } case "CustomsAgent": { newIntermediary.IntermediaryType = DSS5_SupplyChainFinancialsOptimisation.BO.IntermediaryType.CustomsAgents; break; } case "ShippingAgent": { newIntermediary.IntermediaryType = DSS5_SupplyChainFinancialsOptimisation.BO.IntermediaryType.ShippingAgent; break; } case "Other": { newIntermediary.IntermediaryType = DSS5_SupplyChainFinancialsOptimisation.BO.IntermediaryType.Other; break; } } if ((@model.ChosenIntermediaryType == "Other")) { newIntermediary.OtherDescription = @model.Description; } try { new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Save <DSS5_SupplyChainFinancialsOptimisation.BO.Intermediary>(newIntermediary); } catch (System.Exception x) { zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Error, "SlideIntermidiary", DSS5_SupplyChainFinancialsOptimisation.Hubs.EventsHub.RaiseDebugMessage, x); ClientCommand(ClientCommands.SHOW_MESSAGE, "Something went wrong.", MessageType.Error); } Guid? verificationGuid = Guid.NewGuid(); string code = (verificationGuid?.ToString() ?? ""); newIntermediary.GUID = code; string link = (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["ServerExternalPath"]) ? System.Configuration.ConfigurationManager.AppSettings["ServerExternalPath"] : zAppDev.DotNet.Framework.Utilities.Web.GetApplicationPathUri(false)) + "/SignUp/IntermediaryRender" + "?id=" + System.Web.HttpUtility.UrlEncode(code); zAppDev.DotNet.Framework.Utilities.EMailMessage emailMessage = new zAppDev.DotNet.Framework.Utilities.EMailMessage(); emailMessage.To = new List <string> { @model.EMail }.ToList(); emailMessage.Subject = "TOME Finance Invitation"; emailMessage.Body = "You have been added to TOME Finance Platform as intermediary. Click <a href='" + link + "'>here</a> to sign up."; emailMessage.IsBodyHtml = true; zAppDev.DotNet.Framework.Utilities.Email.SendMail(emailMessage, true); _result = CloseForm(); return(_result); }