public MLFSSale(DataRow row, List <MLFSAdvisor> advisors, MLFSReportingPeriod period, bool isCommission = false) { Adjustments = new HashSet <MLFSDebtorAdjustment>(); ReportingPeriod = period; ReportingPeriodId = period.Id; EstimatedOtherIncome = 0; MLFSAdvisor adv = MLFSAdvisor.Assign(row["Selling Adviser.Id"].ToString(), advisors); AdvisorId = adv.Id; Advisor = adv; IsNew = false; if (isCommission) { PlanReference = "IOB" + row["Id"].ToString(); IOReference = ""; ClientName = row["Owner 1.Full Name"].ToString(); ClientId = row["Owner 1.Id"].ToString(); JointClientName = row["Owner 2.Full Name"].ToString(); JointClientId = row["Owner 2.Id"].ToString(); PlanType = row["Plan Type"].ToString(); ProviderName = row["Provider.Name"].ToString(); RelevantDate = DateTime.Parse(row["Submitted Date"].ToString()); if (string.IsNullOrEmpty(row["Expected Commission - Non-Indemnity"].ToString())) { NetAmount = Tools.HandleNull(row["Expected Commission - Total Initial"].ToString()); } else { NetAmount = Tools.HandleNull(row["Expected Commission - Non-Indemnity"].ToString()); } VAT = 0; DateTime creationDate = DateTime.Parse(row["Owner 1.Creation Date"].ToString()); if (creationDate > ReportingPeriod.StartDate.AddMonths(-6)) { IsNew = true; } Investment = Tools.HandleNull(row["Total Premiums to Date"].ToString()); OnGoingPercentage = Tools.HandleNull(row["On-going Fee Percentage"].ToString()); Organisation = row["Selling Adviser.Group.Name"].ToString(); } else { IOId = row["Id"].ToString(); IOReference = row["Reference Number"].ToString(); ClientName = row["Fee Owner.Full Name"].ToString(); ClientId = row["Fee Owner.Id"].ToString(); JointClientName = row["Fee Owner 2.Full Name"].ToString(); JointClientId = row["Fee Owner 2.Id"].ToString(); PlanType = row["Related Plan Type"].ToString(); RelevantDate = DateTime.Parse(row["Invoice Date"].ToString()); NetAmount = Tools.HandleNull(row["Net Amount"].ToString()); VAT = Tools.HandleNull(row["VAT"].ToString()); PlanReference = row["Related Plan Reference"].ToString(); Investment = 0; OnGoingPercentage = 0; } RelatedClients = new string[] {}; }
public MLFSIncome(DataRow row, List <MLFSAdvisor> advisors, List <string> VATIssueFees = null) { IOReference = row["IORef"].ToString(); RelevantDate = Tools.HandleStringToDate(row["CashReceiptDate"].ToString()); Organisation = row["GroupOne"].ToString(); MLFSAdvisor adv = MLFSAdvisor.Assign(row["CRMContactId"].ToString(), advisors); AdvisorId = adv.Id; Advisor = adv; ProviderName = row["Provider"].ToString(); ClientName = row["ClientName"].ToString(); ClientId = row["ClientId"].ToString(); JointClientName = row["JointClientName"].ToString(); JointClientId = row["JointClientId"].ToString(); Campaign = row["CampaignType"].ToString(); CampaignSource = row["CampaignSource"].ToString(); Amount = Tools.HandleNull(row["FCIRecognition"].ToString()); if (Tools.HandleNull(row["ReceivedVAT/GST"].ToString()) != 0) { if (VATIssueFees != null) { if (VATIssueFees.Contains(IOReference)) { Amount += Tools.HandleNull(row["ReceivedVAT"].ToString()); } else { VAT = Tools.HandleNull(row["ReceivedVAT"].ToString()); } } } else { VAT = 0; } FeeStatus = row["FeeStatus"].ToString(); PlanType = row["PlanType"].ToString(); PlanNumber = row["PlanNumber"].ToString(); if (row["IsTopUp"].ToString() == "" || row["IsTopUp"].ToString().ToLower() == "no") { IsTopUp = false; } else { IsTopUp = true; } IncomeType = row["IncomeType"].ToString(); IgnoreFromCommission = false; }
/// <summary> /// Converts the external id from IO into a local Advisor object /// </summary> /// <param name="externalId">The ID from IO</param> /// <param name="advisors">The list of local advisors to check against</param> /// <returns>an Advisor or if no match is found the unknown advisor will also adapt to replacements if required</returns> public static MLFSAdvisor Assign(string externalId, List <MLFSAdvisor> advisors) { MLFSAdvisor adv = advisors.Where(x => x.PrimaryID.Trim(' ') == externalId.Trim(' ')).FirstOrDefault(); if (adv == null) { adv = advisors.Where(x => x.Username.ToLower() == "unknown").FirstOrDefault(); } if (!adv.Active) { adv = advisors.Where(x => x.Id == adv.ReplacementAdvisorId).FirstOrDefault(); if (adv == null) { adv = advisors.Where(x => x.Username.ToLower() == "unknown").FirstOrDefault(); } } return(adv); }