Exemplo n.º 1
0
        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);
        }