public static string GetLeadDetails(LeadVM leadVM) { var customerDetails = String.Format(MessageHelper.CUSTOMER_DETAILS, leadVM.CustomerName, leadVM.CustomerEmail, leadVM.CustomerContactNumber , leadVM.CustomerBusinessName, leadVM.CustomerAddress); var leadDetails = String.Format(MessageHelper.LEAD_DETAILS, leadVM.LeadTypeName, leadVM.Details); return($"{customerDetails} <br/> {leadDetails}"); }
public LeadVM GetLeadViewModel(Lead item) { var itemVM = new LeadVM(); itemVM.Id = item.Id; itemVM.Details = item.Details; itemVM.LeadTypeId = item.LeadType.Id; itemVM.LeadTypeName = item.LeadType.Name; itemVM.LeadTypeImage = ImageHelper.PATH_CLIENT_LEAD_TYPE + item.LeadType.Image; itemVM.CustomerId = item.Customer.Id; itemVM.CustomerUnique = String.Format("{0} ({1})", item.Customer.ContactName, item.Customer.EMail); itemVM.CustomerName = item.Customer.ContactName; itemVM.CustomerBusinessName = item.Customer.BusinessName; itemVM.CustomerContactNumber = item.Customer.ContactNumber; itemVM.CustomerEmail = item.Customer.EMail; itemVM.CustomerAddress = AddressHelper.MergeAddress(item.Customer.Address.StreetAddress, item.Customer.Address.Suburb, item.Customer.Address.State, item.Customer.Address.PostCode); itemVM.CustomerDetails = String.Format("Business: <b>{0}</b><br>Tel: <b>{1}</b><br>Address: <b>{2}</b>", itemVM.CustomerBusinessName, itemVM.CustomerContactNumber, itemVM.CustomerAddress); // Current status var currentStatus = item.LeadStates.Where(w => w.StateId != nameof(EnumState.S0)).OrderByDescending(o => o.ActionTimestamp).FirstOrDefault(); itemVM.StatusId = currentStatus.State.Id; itemVM.StatusName = currentStatus.State.Name; itemVM.StatusTag = StatusHelper.GetHtmlBadge(currentStatus.State.Id, currentStatus.State.Name); // Actions of current status var actions = currentStatus.State.StateActions.Select(s => new ActionLeadVM { Id = s.ActionId, CustomerId = itemVM.CustomerId, CustomerEmail = itemVM.CustomerEmail, LeadId = itemVM.Id, ControllerName = s.Action.ControllerName, ActionName = s.Action.ActionName, ActionTarget = s.Action.ActionTarget, RequestType = s.Action.RequestType, DisplayName = s.Action.DisplayName, Icon = s.Action.Icon, NextStateId = s.Action.NextStateId }).ToList(); itemVM.Actions = actions; // CreatedWhen var createdStatus = item.LeadStates.OrderBy(o => o.ActionTimestamp).FirstOrDefault(); itemVM.CreatedOn = DateHelper.ConvertFromUtc(createdStatus.ActionTimestamp).Date; // Histories var histories = item.LeadStates .OrderByDescending(o => o.ActionTimestamp) //.Where(w => w.StateId != currentStatus.StateId) // *show all .Select(s => HistoryHelper.GetHtmlHistoryLine(DateHelper.ConvertFromUtc(s.ActionTimestamp), s.Action.ToLower(), s.Actor)); itemVM.History = HistoryHelper.GetHtmlHistoryTag(histories.ToList()); return(itemVM); }