public void FuelSurChargeSendEmail(string toEmail, string ccEmail, string ContactName, string Attachment, int OperationZoneId) { string logoImage = AppSettings.EmailServicePath + "/Images/FrayteLogo.png"; string trackImage = AppSettings.EmailServicePath + "/Images/FuelSurCharge.png"; List <string> ImagePath = new List <string>(); ImagePath.Add(logoImage); ImagePath.Add(trackImage); DynamicViewBag viewBag = new DynamicViewBag(); viewBag.AddValue("Staff", ContactName); viewBag.AddValue("StaffEmail", "*****@*****.**"); viewBag.AddValue("ImageHeader", "FrayteLogo"); viewBag.AddValue("TrackButton", "FuelSurCharge"); if (OperationZoneId == 1) { viewBag.AddValue("FuelPath", AppSettings.TrackingUrl + "/fuel-surcharge"); } else { viewBag.AddValue("FuelPath", AppSettings.TrackingUrl + "/fuel-surcharge"); } string template = File.ReadAllText(AppSettings.EmailServicePath + "/EmailTeamplate/FuelSurCharge.cshtml"); var templateService = new TemplateService(); var EmailBody = templateService.Parse(template, "", viewBag, null); var EmailSubject = "Update Fuel Sur Charge - FRAYTE Logistics Ltd"; FrayteEmail.SendMail(toEmail, ccEmail, EmailSubject, EmailBody, Attachment, ImagePath, "FuelCharge", OperationZoneId); }
protected override async Task <HttpResponseMessage> SendAsync(HttpRequestMessage httpRequestMessage, CancellationToken cancellationToken) { Security frayteSecurity = new Security(); string accountNumber = string.Empty; var content = await httpRequestMessage.Content.ReadAsStringAsync(); try { if (httpRequestMessage.RequestUri.ToString().Contains("AftershipTracking/ProcessWebHook")) { if (!string.IsNullOrEmpty(content)) { // send mail to developer Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("AftershipTracking's ProcessWebHook hit.")); Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception(content)); try { AftershipWebhookObject webHookObj = JsonConvert.DeserializeObject <AftershipWebhookObject>(content); if (webHookObj == null) { Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("Aftership's obj not parsed.")); DynamicViewBag viewBag = new DynamicViewBag(); viewBag.AddValue("Value", content); string template = File.ReadAllText(AppSettings.EmailServicePath + "/EmailTeamplate/" + "aftershipError.cshtml"); var templateService = new TemplateService(); var EmailBody = templateService.Parse(template, "", viewBag, null); FrayteEmail.SendMail("*****@*****.**", "", "Aftership's obj not parsed.", "", "", ""); } } catch (Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("Aftership's obj not parsed.")); } } else { Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("Aftership's obj is empty.")); } } return(await base.SendAsync(httpRequestMessage, cancellationToken)); } catch (Exception ex) { return(httpRequestMessage.CreateResponse(HttpStatusCode.Forbidden, "Json is not valid")); } }
private void Send_FrayteEmail(string toEmail, string ccEmail, string DisplayName, string EmailSubject, string EmailBody, string AttachmentFilePath, string Status, int customerId) { var detail = dbContext.CustomerCompanyDetails.Where(p => p.UserId == customerId).FirstOrDefault(); string logoImage = detail == null ? AppSettings.EmailServicePath + "/Images/FrayteLogo.png" : AppSettings.EmailServicePath + "/EmailTeamplate/" + customerId + "/Images/" + detail.LogoFileName; string trackImage = AppSettings.EmailServicePath + "/Images/TrackShipment.png"; string amdentImage = AppSettings.EmailServicePath + "/Images/Amend.png"; string confirmImage = AppSettings.EmailServicePath + "/Images/Confirm.png"; string rejectImage = AppSettings.EmailServicePath + "/Images/Reject.png"; List <string> ImagePath = new List <string>(); if (Status == "Confirmation") { ImagePath.Add(logoImage); ImagePath.Add(trackImage); } else if (Status == "Cancel") { ImagePath.Add(logoImage); ImagePath.Add(rejectImage); } else if (Status == "Amend") { ImagePath.Add(logoImage); ImagePath.Add(amdentImage); } else if (Status == "Tracking") { ImagePath.Add(logoImage); ImagePath.Add(trackImage); } //For Special Customer else { ImagePath.Add(logoImage); } FrayteEmail.SendFrayteEmail(toEmail, ccEmail, DisplayName, EmailSubject, EmailBody, AttachmentFilePath, ImagePath, Status, customerId); }
public FrayteResult MailSendToControlDept(string FileName, string FilePath, List <FrayteUploadshipment> UnpaidShipments) { FrayteResult fr = new FrayteResult(); var operationzone = UtilityRepository.GetOperationZone(); string logoImage = AppSettings.EmailServicePath + "/Images/FrayteLogo.png"; DynamicViewBag viewBag = new DynamicViewBag(); viewBag.AddValue("TrackingDescription", "Please find the attachment."); viewBag.AddValue("Name", AppSettings.ControllerDeptName); viewBag.AddValue("ImageHeader", "FrayteLogo"); if (operationzone.OperationZoneId == 1) { viewBag.AddValue("SiteAddress", AppSettings.TrackingUrl); } else { viewBag.AddValue("SiteAddress", AppSettings.TrackingUrl); } var res = UnpaidShipments[0]; //string template = File.ReadAllText(AppSettings.EmailServicePath + "/EmailTeamplate/eCommerceControlDept.cshtml"); string template = File.ReadAllText(AppSettings.EmailServicePath + "/EmailTeamplate/dhl.cshtml"); TemplateService templateService = new TemplateService(); var EmailBody = templateService.Parse(template, res, viewBag, null); string EmailSubject = "Manifest Tracking"; string Attachmentfilepath = FilePath; var To = AppSettings.ControllerDeptEmail; //_log.Error(MTM.ReceiverMail); //var To = "*****@*****.**"; //var CC = customerDetail.UserEmail; string Status = "Confirmation"; //Send mail to Customer //SendMail_New(To, CC, "FRAYTE (" + UtilityRepository.OperationZoneName(operationzone.OperationZoneId) + ")", EmailSubject, EmailBody, Attachment, Status); FrayteEmail.SendMail(To, "", EmailSubject, EmailBody, Attachmentfilepath, logoImage); return(fr); }
public void ExchangeRateSendEmail(string toEmail, string ccEmail, string ContactName, string Attachment, int OperationZoneId) { //Update Mail Status new ExchangeRateRepository().UpdateSendMailStatus(OperationZoneId); string logoImage = AppSettings.EmailServicePath + "/Images/FrayteLogo.png"; string trackImage = AppSettings.EmailServicePath + "/Images/ExchangeRate.png"; List <string> ImagePath = new List <string>(); ImagePath.Add(logoImage); ImagePath.Add(trackImage); DynamicViewBag viewBag = new DynamicViewBag(); viewBag.AddValue("Staff", ContactName); viewBag.AddValue("StaffEmail", "*****@*****.**"); viewBag.AddValue("ImageHeader", "FrayteLogo"); viewBag.AddValue("TrackButton", "ExchangeRate"); if (OperationZoneId == 1) { viewBag.AddValue("ExchangeRatePath", "http://app.frayte.com/"); } else { viewBag.AddValue("ExchangeRatePath", "http://app.frayte.co.uk/"); } string template = File.ReadAllText(AppSettings.EmailServicePath + "/EmailTeamplate/ExchangeRate.cshtml"); var templateService = new TemplateService(); var EmailBody = templateService.Parse(template, "", viewBag, null); var EmailSubject = "Update Exchange Rate - FRAYTE Logistics Ltd"; FrayteEmail.SendMail(toEmail, ccEmail, EmailSubject, EmailBody, Attachment, ImagePath, "ExchangeRate", OperationZoneId); }
public void SendMissingAWBsMail(List <ExpressMissingShipmentModel> Awbs, int UserId) { ExpressEmailModel Res = new ExpressEmailModel(); Res.ImageHeader = "FrayteLogo"; Res.TotalMawb = Awbs.Count; //foreach (var mawb in Mawbs) //{ // MawbCount = MawbCount + mawb.GrossWeight //} Res.MissingAwbs = Awbs; Res.TotalWeight = Awbs.Sum(a => a.TotalWeight); Res.ShipInfo = new List <ExpressMissingShipmentsInfo>(); Res.TotalAwbs = Awbs.Count; Res.CreatedOn = DateTime.UtcNow.Date.AddDays(-1).ToString("dd-MMM-yyyy"); string logoImage = AppSettings.EmailServicePath + "/Images/FrayteLogo.png"; List <string> ImagePath = new List <string>(); ImagePath.Add(logoImage); var OperationName = UtilityRepository.GetOperationZone(); string Site = string.Empty; if (OperationName.OperationZoneId == 1) { //Res.SiteAddress = AppSettings.TrackingUrl; } else if (OperationName.OperationZoneId == 2) { //Res.SiteAddress = AppSettings.TrackingUrl; } Res.ImageHeader = "FrayteLogo"; string OperationUserEmail = ""; int RoleId = 0; var Email = ""; var result = (from Usr in dbContext.Users join Rl in dbContext.UserRoles on Usr.UserId equals Rl.UserId join UA in dbContext.UserAdditionals on Usr.UserId equals UA.UserId where Usr.UserId == UserId select new { Usr.UserEmail, Rl.RoleId, Usr.ContactName, Usr.CompanyName, UA.OperationUserId }).FirstOrDefault(); if (result != null) { RoleId = result.RoleId; Email = result.UserEmail; Res.CustomerCompanyName = result.CompanyName; } var result1 = (from Usr in dbContext.Users join Rl in dbContext.UserRoles on Usr.UserId equals Rl.UserId join UA in dbContext.UserAdditionals on Usr.UserId equals UA.UserId where Usr.UserId == result.OperationUserId select new { Usr.Email, Rl.RoleId, Usr.ContactName, Usr.CompanyName, UA.OperationUserId, Usr.Position }).FirstOrDefault(); if (result1 != null) { RoleId = result1.RoleId; OperationUserEmail = result1.Email; } if (OperationName.OperationZoneId == 1) { Res.UserEmail = result1.Email; Res.UserName = result1.ContactName; Res.UserPosition = result1.Position; Res.CustomerName = result.ContactName; Res.CustomerEmail = result.UserEmail; Res.SystemEmail = "*****@*****.**"; Res.UserPhone = "(+852) 2148 4880"; //Res.SiteAddress = AppSettings.TrackingUrl; Res.Site = "www.FRAYTE.com"; } if (OperationName.OperationZoneId == 2) { Res.UserEmail = result1.Email; Res.UserPosition = result1.Position; Res.UserName = result1.ContactName; Res.CustomerName = result.ContactName; Res.CustomerEmail = result.UserEmail; Res.SystemEmail = "*****@*****.**"; Res.UserPhone = "(+44) 01792 277295"; // Res.SiteAddress = AppSettings.TrackingUrl; Res.Site = "www.FRAYTE.co.uk"; } string template = File.ReadAllText(AppSettings.EmailServicePath + "/EmailTeamplate/Express/EXS_E4.cshtml"); var EmailBody = Engine.Razor.RunCompile(template, "Usr4", null, Res, null); var EmailSubject = ""; var Mawbvar = ""; var Status = ""; if (!string.IsNullOrEmpty(Res.CustomerCompanyName)) { EmailSubject = Res.CustomerCompanyName + " - EXS Discrepancies Shipment Summary – " + DateTime.UtcNow.Date.AddDays(-1).ToString("dd-MMM-yyyy"); } FrayteEmail.SendMail(Email, "", EmailSubject, EmailBody, "", logoImage); ExpressSchedulerEmail ExpSchEm1 = new ExpressSchedulerEmail(); ExpSchEm1.CustomerId = UserId; ExpSchEm1.EmailSentOn = DateTime.UtcNow.Date; ExpSchEm1.EmailContent = EmailBody; dbContext.ExpressSchedulerEmails.Add(ExpSchEm1); dbContext.SaveChanges(); }
public void SendPODAWBsMail(List <ExpressDispatchedMawbModel> Mawbs, List <ExpressShipmentBookedConsolidateModel> Shipments, int UserId) { ExpressEmailModel Res = new ExpressEmailModel(); Res.TotalMawb = Mawbs.Count; Res.DispatchedMawbs = Mawbs; Res.AWbShipmentList = Shipments; var Hubs = Shipments.Select(a => a.HubCode).Distinct(); Res.ShipList = new List <ExpressHubShipmentCountModel>(); foreach (var h in Hubs) { var ShipmentCount = 0; foreach (var Sh in Shipments) { if (h == Sh.HubCode) { ShipmentCount = ShipmentCount + Sh.Shipments.Count; } } Res.ShipList.Add(new ExpressHubShipmentCountModel { HubCode = h, ShipmentCount = ShipmentCount }); } Res.TotalWeight = Mawbs.Sum(a => a.GrossWeight); Res.ShipInfo = new List <ExpressMissingShipmentsInfo>(); Res.TotalAwbs = 0; for (int i = 0; i < Shipments.Count; i++) { Res.TotalAwbs = Res.TotalAwbs + Shipments[i].Shipments.Count; } Res.CreatedOn = DateTime.UtcNow.Date.AddDays(-1).ToString("dd-MMM-yyyy"); string logoImage = AppSettings.EmailServicePath + "/Images/FrayteLogo.png"; List <string> ImagePath = new List <string>(); ImagePath.Add(logoImage); var OperationName = UtilityRepository.GetOperationZone(); Res.ImageHeader = "FrayteLogo"; string OperationUserEmail = ""; int RoleId = 0; var Email = ""; var result = (from Usr in dbContext.Users join Rl in dbContext.UserRoles on Usr.UserId equals Rl.UserId join UA in dbContext.UserAdditionals on Usr.UserId equals UA.UserId where Usr.UserId == UserId select new { Usr.UserEmail, Rl.RoleId, Usr.ContactName, Usr.CompanyName, UA.OperationUserId }).FirstOrDefault(); if (result != null) { RoleId = result.RoleId; Email = result.UserEmail; Res.CustomerCompanyName = result.CompanyName; } var result1 = (from Usr in dbContext.Users join Rl in dbContext.UserRoles on Usr.UserId equals Rl.UserId join UA in dbContext.UserAdditionals on Usr.UserId equals UA.UserId where Usr.UserId == result.OperationUserId select new { Usr.Email, Rl.RoleId, Usr.ContactName, Usr.CompanyName, UA.OperationUserId, Usr.Position }).FirstOrDefault(); if (result1 != null) { RoleId = result1.RoleId; OperationUserEmail = result1.Email; } if (OperationName.OperationZoneId == 1) { Res.UserEmail = result1.Email; Res.UserName = result1.ContactName; Res.UserPosition = result1.Position; Res.CustomerName = result.ContactName; Res.CustomerEmail = result.UserEmail; Res.SystemEmail = "*****@*****.**"; Res.UserPhone = "(+852) 2148 4880"; //Res.SiteAddress = AppSettings.TrackingUrl; Res.Site = "www.FRAYTE.com"; } if (OperationName.OperationZoneId == 2) { Res.UserEmail = result1.Email; Res.UserPosition = result1.Position; Res.UserName = result1.ContactName; Res.CustomerName = result.ContactName; Res.CustomerEmail = result.UserEmail; Res.SystemEmail = "*****@*****.**"; Res.UserPhone = "(+44) 01792 277295"; // Res.SiteAddress = AppSettings.TrackingUrl; Res.Site = "www.FRAYTE.co.uk"; } string template = File.ReadAllText(AppSettings.EmailServicePath + "/EmailTeamplate/Express/EXS_E2_POD.cshtml"); var EmailBody = Engine.Razor.RunCompile(template, "Usr3", null, Res, null); var EmailSubject = ""; var Mawbvar = ""; var Status = ""; if (!string.IsNullOrEmpty(Res.CustomerCompanyName)) { EmailSubject = Res.CustomerCompanyName + " - EXS POD Summary – " + DateTime.UtcNow.Date.AddDays(-1).ToString("dd-MMM-yyyy"); } FrayteEmail.SendMail(Email, "", EmailSubject, EmailBody, "", logoImage); ExpressSchedulerEmail ExpSchEm1 = new ExpressSchedulerEmail(); ExpSchEm1.CustomerId = UserId; ExpSchEm1.EmailSentOn = DateTime.UtcNow.Date; ExpSchEm1.EmailContent = EmailBody; dbContext.ExpressSchedulerEmails.Add(ExpSchEm1); dbContext.SaveChanges(); }
public void SendMail(string toEmail, string ccEmail, string EmailSubject, string EmailBody) { string logoImage = AppSettings.EmailServicePath + "/Images/FrayteLogo.png"; FrayteEmail.SendMail(toEmail, ccEmail, EmailSubject, EmailBody, filpath, logoImage); }
public void SendMailToReceivers(ManifestTrackingReceiver MTM) { string xsUserFolder = @"C:\FMS\" + "FrayteSchedularlog.txt"; BaseLog.Instance.SetLogFile(xsUserFolder); Logger _log = Get_Log(); //Get Customer Name and Customer User Detail var customerDetail = (from u in dbContext.Users join ua in dbContext.UserAdditionals on u.UserId equals ua.UserId join ua1 in dbContext.UserAdditionals on ua.OperationUserId equals ua1.UserId join u1 in dbContext.Users on ua1.UserId equals u1.UserId join tz in dbContext.Timezones on u.TimezoneId equals tz.TimezoneId where u.UserId == MTM.CustomerId select new { CustomerName = u.ContactName, CustomerEmail = u.Email, CompanyName = u.CompanyName, UserName = u1.ContactName, UserPosition = u1.Position, UserEmail = u1.Email, UserPhone = u1.TelephoneNo, UserSkype = u1.Skype, UserFax = u1.FaxNumber, TimeZoneDetail = new TimeZoneModal { Name = tz.Name, Offset = tz.Offset, OffsetShort = tz.OffsetShort, TimezoneId = tz.TimezoneId } }).FirstOrDefault(); var operationzone = UtilityRepository.GetOperationZone(); string logoImage = AppSettings.EmailServicePath + "/Images/FrayteLogo.png"; DynamicViewBag viewBag = new DynamicViewBag(); if (customerDetail.TimeZoneDetail != null) { viewBag.AddValue("CreatedOn", UtilityRepository.GetTimeZoneCurrentDateTime(customerDetail.TimeZoneDetail.Name).ToString("dd-MMM-yyyy hh:mm"));; viewBag.AddValue("TimeZone", customerDetail.TimeZoneDetail.OffsetShort); } else { viewBag.AddValue("CreatedOn", DateTime.Now.ToString("dd-MMM-yyyy hh:mm")); } viewBag.AddValue("TrackingDescription", MTM.TrackingDescription); viewBag.AddValue("TrackingNo", MTM.ReceiverTrackingNo); viewBag.AddValue("CustomerName", MTM.ReceiverName); viewBag.AddValue("UserEmail", customerDetail.CustomerEmail); viewBag.AddValue("UserPhone", customerDetail.UserPhone); viewBag.AddValue("ImageHeader", "FrayteLogo"); if (operationzone.OperationZoneId == 1) { viewBag.AddValue("SiteAddress", AppSettings.TrackingUrl); } else { viewBag.AddValue("SiteAddress", AppSettings.TrackingUrl); } string template = File.ReadAllText(AppSettings.EmailServicePath + "/EmailTeamplate/eCommerceManifestTracking.cshtml"); var templateService = new TemplateService(); var EmailBody = templateService.Parse(template, MTM, viewBag, null); string EmailSubject = "Manifest Tracking"; //var To = MTM.ReceiverMail; _log.Error(MTM.ReceiverMail); var To = "*****@*****.**"; var CC = customerDetail.UserEmail; string Status = "Confirmation"; //Send mail to Customer //SendMail_New(To, CC, "FRAYTE (" + UtilityRepository.OperationZoneName(operationzone.OperationZoneId) + ")", EmailSubject, EmailBody, Attachment, Status); FrayteEmail.SendMail(To, CC, EmailSubject, EmailBody, logoImage); }