public T ConvertToLocalEntity <T>(dynamic data) where T : class { JobDetailsFullModel local = new JobDetailsFullModel { JobID = data["Id"], Title = data["Name"].ToString(), CompanyId = data["CompanyId"], UserId = data["UserId"], AdvertiserUserId = data["AdvertiserUserId"], DateCreated = data["DateCreated"], ExpiryDate = data["ExpiryDate"], Status = data["Status"], Address = data["Address"], AddressLatitude = data["AddressLatitude"], AddressLongtitude = data["AddressLongtitude"], IsDeleted = data["IsDeleted"], ShortDescription = data["ShortDescription"].ToString(), Description = data["FullDescription"].ToString(), ReferenceNo = data["RefNo"], CustomData = (data["CustomData"] != null) ? FlattenJson(JObject.Parse((data["CustomData"]).Value)) : null, ClassificationURL = ProcessClassificationSEOString((data["CustomData"] != null) ? FlattenJson(JObject.Parse((data["CustomData"]).Value)) : null, Convert.ToString(data["Name"])) }; var targetCulture = Thread.CurrentThread.CurrentUICulture; var culture = CultureInfo.GetCultureInfo(targetCulture.Name); if (culture != null) { local.Culture = culture.Name; } return(local as T); }
public List <T> ConvertSearchResultsToLocal <T>(dynamic searchData) where T : class { List <JobDetailsFullModel> jobFullDetails = new List <JobDetailsFullModel>(); foreach (dynamic jobItem in searchData) { //target: JobDetailsFullModel JobDetailsFullModel local = new JobDetailsFullModel { JobID = jobItem["Id"], Title = jobItem["Name"].ToString(), DateCreated = jobItem["DateCreated"], ExpiryDate = jobItem["ExpiryDate"], ShortDescription = jobItem["ShortDescription"].ToString(), Description = jobItem["FullDescription"].ToString(), ReferenceNo = jobItem["RefNo"], CustomData = (jobItem["CustomData"] != null) ? FlattenJson(new JObject(jobItem["CustomData"])) : null, ClassificationURL = ProcessClassificationSEOString((jobItem["CustomData"] != null) ? FlattenJson(new JObject(jobItem["CustomData"])) : null, Convert.ToString(jobItem["Name"])) }; var targetCulture = Thread.CurrentThread.CurrentUICulture; var culture = CultureInfo.GetCultureInfo(targetCulture.Name); if (culture != null) { local.Culture = culture.Name; } jobFullDetails.Add(local); } return(jobFullDetails as List <T>); }
public JobViewModel Convert(JobDetailsFullModel data) { return(new JobViewModel { Id = data.JobID, Title = data.Title, Description = data.Description, }); }
private JobViewModel GetVM(JobDetailsFullModel jl) { return(_jxtJobsConverter.Convert(jl)); }
private bool _SendEmail(JobEmailFormModel form, JobDetailsFullModel job) { var subject = string.IsNullOrWhiteSpace(this.EmailSubject) ? "Job for you" : this.EmailSubject; var content = _GetHtmlEmailContent(); var emailSender = new SitefinityEmailSender(); // ideally there should be a common method to get a job's url // doing this due to lack of such method var jobUrl = Request.Url.Scheme + "://" + Request.Url.Authority; if (!string.IsNullOrWhiteSpace(JobDetailsPageId)) { jobUrl += SitefinityHelper.GetPageUrl(JobDetailsPageId); if (job.ClassificationURL != null) { jobUrl += "/" + job.ClassificationURL; } jobUrl += "/" + job.JobID; } dynamic templateData = new ExpandoObject(); templateData.Job = new ExpandoObject(); templateData.Job.Id = job.JobID; templateData.Job.Title = job.Title; templateData.Job.Url = jobUrl; templateData.Domain = HttpContext.GetCurrentDomain(); var result = false; // if the email is not set then create one using current site's domain name var fromEmail = this.EmailFromEmail; if (string.IsNullOrEmpty(fromEmail)) { fromEmail = "noreply@" + Request.Url.Host; } if (form.EmailFriend) { var from = new MailAddress(fromEmail, form.Name); var replyToCollection = new MailAddressCollection(); replyToCollection.Add(new MailAddress(form.Email, form.Name)); templateData.Sender = from; if (form.FriendMessage == null) { templateData.Message = string.Empty; } else { templateData.Message = Regex.Replace(form.FriendMessage, "<.*?>", String.Empty).Replace("\n", "<br />"); } foreach (var item in form.Friend) { var emailRequest = new EmailRequest { To = new MailAddress(item.Email, item.Name), ReplyTo = replyToCollection, From = from, Subject = subject, EmailBody = content }; templateData.Recipient = emailRequest.To; if (emailSender.SendEmail(emailRequest, templateData)) { result = true; } } } else { // if the name is not set then use current site's name var fromName = this.EmailFromName; if (string.IsNullOrEmpty(fromName)) { fromName = new MultisiteContext().CurrentSite.Name; } var emailRequest = new EmailRequest { To = new MailAddress(form.Email, form.Name), From = new MailAddress(fromEmail, fromName), Subject = subject, EmailBody = content }; templateData.Recipient = emailRequest.To; templateData.Sender = emailRequest.From; templateData.Message = string.Empty; result = emailSender.SendEmail(emailRequest, templateData); } return(result); }