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