public static Case ComplimentToCrmCase(FeedbackAndComplimentDetailsFormBuilder model, IOptions <ComplimentsListConfiguration> _complimentConfig) { model.CouncilDepartmentSub = CouncilDepartmentSubMapper.SetComplaintCouncilDepartmentSub(model.RevsBensDept, model.EnvironmentDept, model.PlanningDept); var events = _complimentConfig.Value.ComplimentsConfigurations; var eventCode = string.IsNullOrEmpty(model.CouncilDepartmentSub) ? events.FirstOrDefault(_ => _.EventName == model.CouncilDepartment)?.EventCode ?? events.FirstOrDefault(_ => _.EventName == "none")?.EventCode : events.FirstOrDefault(_ => _.EventName == model.CouncilDepartmentSub)?.EventCode ?? events.FirstOrDefault(_ => _.EventName == "none")?.EventCode; if ((model.CouncilDepartment == "libraries" || model.CouncilDepartmentSub == "libraries") && (Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") == "prod" || Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") == "stage")) { eventCode = 2002782; } string name = string.IsNullOrEmpty(model.Name) ? "Not provided" : model.Name; var crmCase = new Case { EventCode = (int)eventCode, EventTitle = $"Compliment", Description = $"Name: {name} \n\n Feedback: {model.Description}" }; return(crmCase); }
public static Case ToCrmCase(ComplaintDetailsFormBuilder model, IOptions <ComplaintsListConfiguration> complaintsConfig) { model.CouncilDepartmentSub = CouncilDepartmentSubMapper.SetComplaintCouncilDepartmentSub(model.RevsBensDept, model.EnvironmentDept, model.PlanningDept); var events = complaintsConfig.Value.ComplaintsConfigurations; var eventCode = string.IsNullOrEmpty(model.CouncilDepartmentSub) ? events.FirstOrDefault(_ => _.EventName == model.CouncilDepartment)?.EventCode ?? events.FirstOrDefault(_ => _.EventName == "none")?.EventCode : events.FirstOrDefault(_ => _.EventName == model.CouncilDepartmentSub)?.EventCode ?? events.FirstOrDefault(_ => _.EventName == "none")?.EventCode; var eventTitle = $"Complaint - {model.ComplaintAbout}"; var crmCase = new Case { EventCode = (int)eventCode, EventTitle = eventTitle, Description = GenerateDescription(model.ComplaintAbout, model.ComplaintAboutDetails), Customer = new Customer { Forename = model.FirstName, Surname = model.LastName, Email = model.EmailAddress, Telephone = model.PhoneNumber, } }; if (!string.IsNullOrEmpty(model.CustomersAddress.PlaceRef)) { crmCase.Customer.Address = new Address { Postcode = model.CustomersAddress.Postcode, Reference = model.CustomersAddress.PlaceRef, UPRN = model.CustomersAddress.PlaceRef, Description = model.CustomersAddress.ToString() }; } else { crmCase.Customer.Address = new Address { AddressLine1 = model.CustomersAddress.AddressLine1, AddressLine2 = model.CustomersAddress.AddressLine2, AddressLine3 = model.CustomersAddress.Town, Postcode = model.CustomersAddress.Postcode, Description = model.CustomersAddress.ToString() }; } return(crmCase); }
public static Case FeedbackToCrmCase(FeedbackAndComplimentDetailsFormBuilder model, IOptions <FeedbackListConfiguration> _feedbackConfig) { model.CouncilDepartmentSub = CouncilDepartmentSubMapper.SetComplaintCouncilDepartmentSub(model.RevsBensDept, model.EnvironmentDept, model.PlanningDept); var events = _feedbackConfig.Value.FeedbackConfigurations; var eventCode = string.IsNullOrEmpty(model.CouncilDepartmentSub) ? events.FirstOrDefault(_ => _.EventName == model.CouncilDepartment)?.EventCode ?? events.FirstOrDefault(_ => _.EventName == "none")?.EventCode : events.FirstOrDefault(_ => _.EventName == model.CouncilDepartmentSub)?.EventCode ?? events.FirstOrDefault(_ => _.EventName == "none")?.EventCode; string name = string.IsNullOrEmpty(model.Name) ? "Not provided" : model.Name; string email = string.IsNullOrEmpty(model.EmailAddress) ? "Not provided" : model.EmailAddress; var crmCase = new Case { EventCode = (int)eventCode, EventTitle = $"Feedback", Description = $"Name: {name} \nEmail: {email}\n\nFeedback: {model.Description}" }; return(crmCase); }