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