private static void UpdateTCCommitFunds(this List <CommitFundRowViewModel> viewmodel, ClientFieldData[] formData, string table) { var originalOutputs = viewmodel.ToDictionary(x => x.Id, x => x.ActiveOutputs); viewmodel.Clear(); var itemsTable = formData.Where(x => x.Name.Contains(table)); var itemsList = itemsTable.Where(x => x.Id != null && x.Id != "new-").GroupBy(x => x.Id); ClientFieldData field; foreach (var item in itemsList) { var model = new CommitFundRowViewModel(); if (!item.Key.Contains("new-")) { model.Id = int.Parse(item.Key); } field = item.FirstOrDefault(x => x.Name == table + "-ApprovalNumber_text"); model.ApprovalNumber = field.ConvertToString(); field = item.FirstOrDefault(x => x.Name == table + "hiddenOperationNumber"); model.OperatinNumber = field.ConvertToString(); field = item.FirstOrDefault(x => x.Name == table + "ApprovalCurrency"); model.ApprovalCurrency = field.ConvertToString(); field = item.FirstOrDefault(x => x.Name == table + "-hiddenTotalFunds"); model.TotalFundsCurrentlyAvailable = field.ConvertToDecimal( mode: ConvertModeEnum.ThrowExceptionInFail); field = item.FirstOrDefault(x => x.Name == table + "-originalFunds"); model.OriginalProcurementEstimate = field.ConvertToDecimal( mode: ConvertModeEnum.ThrowExceptionInFail); field = item.FirstOrDefault(x => x.Name == table + "-activeOutputs"); var outputIds = field.ConvertToIntList(); if (originalOutputs.ContainsKey(model.Id)) { model.ActiveOutputs = originalOutputs[model.Id]; model.ActiveOutputs.ForEach(x => x.Select = outputIds.Contains(int.Parse(x.Value))); } else { outputIds.ForEach(x => model.ActiveOutputs.Add(new ListItemViewModel() { Value = x.ToString(), Select = true })); } viewmodel.Add(model); } }
private static void UpdateCommitFunds(this List <CommitFundRowViewModel> viewmodel, ClientFieldData[] formData, string table) { viewmodel.Clear(); var itemsTable = formData.Where(x => x.Name.Contains(table)); var itemsList = itemsTable.Where(x => x.Id != null && x.Id != "new-").GroupBy(x => x.Id); ClientFieldData field; foreach (var item in itemsList) { var model = new CommitFundRowViewModel(); if (!item.Key.Contains("new-")) { model.Id = int.Parse(item.Key); } field = item.FirstOrDefault(x => x.Name == table + "-ApprovalNumber_text"); model.ApprovalNumber = field.ConvertToString(); field = item.FirstOrDefault(x => x.Name == table + "hiddenOperationNumber"); model.OperatinNumber = field.ConvertToString(); field = item.FirstOrDefault(x => x.Name == table + "ApprovalCurrency"); model.ApprovalCurrency = field.ConvertToString(); field = item.FirstOrDefault(x => x.Name == table + "-hiddenTotalFunds"); model.TotalFundsCurrentlyAvailable = field.ConvertToDecimal( mode: ConvertModeEnum.ThrowExceptionInFail); field = item.FirstOrDefault(x => x.Name == table + "-originalFunds"); model.OriginalProcurementEstimate = field.ConvertToDecimal( mode: ConvertModeEnum.ThrowExceptionInFail); viewmodel.Add(model); } }
private static void UpdateNegCommitFunds(this List <CommitFundRowViewModel> viewmodel, ClientFieldData[] formData, string table) { viewmodel.Clear(); var itemsTable = formData.Where(x => x.Name.Contains(table)); var itemsList = itemsTable.Where(x => x.Id != null && x.Id != "new-").GroupBy(x => x.Id); ClientFieldData field; foreach (var item in itemsList) { var model = new CommitFundRowViewModel(); if (!item.Key.Contains("new-")) { model.Id = int.Parse(item.Key); } field = item.FirstOrDefault(x => x.Name == table + "-ApprovalNumber"); if (field == null) { field = item.FirstOrDefault(x => x.Name == table + "-ProductActivityNumber"); } model.ApprovalNumber = field.ConvertToString(); field = item.FirstOrDefault(x => x.Name == table + "-IsIdentificationHidden"); model.IsIdentification = field.ConvertToBool(); field = item.FirstOrDefault(x => x.Name == table + "-fundsAvailableAtStartHidden"); model.OriginalProcurementEstimate = field.ConvertToNullableDecimal(); if (table == "NegCommitFundsNormal") { field = item.FirstOrDefault(x => x.Name == table + "-HiddenOperationNumber"); model.OperatinNumber = field.ConvertToString(); field = item.FirstOrDefault(x => x.Name == table + "-ApprovalCurrency"); model.ApprovalCurrency = field.ConvertToString(); field = item.FirstOrDefault(x => x.Name == table + "-LMSNumber"); model.LMSNumber = field.ConvertToString(); field = item.FirstOrDefault(x => x.Name == table + "-CMOCurrency"); model.CMOCurrency = field.ConvertToString(); field = item.FirstOrDefault(x => x.Name == table + "-CMOCurrentAmountApproval"); model.CMOCurrentAmountApproval = field.ConvertToNullableDecimal(); field = item.FirstOrDefault(x => x.Name == table + "-CMOCurrentAmount"); model.CMOCurrentAmount = field.ConvertToNullableDecimal(); } else { field = item.FirstOrDefault(x => x.Name == table + "-PONumber"); model.PONumber = field.ConvertToString(); field = item.FirstOrDefault(x => x.Name == table + "-POAmount"); model.FinalProcurementAmount = field.ConvertToNullableDecimal(); } viewmodel.Add(model); } }
private static void UpdateNegTCCommitFunds(this List <CommitFundRowViewModel> viewmodel, ClientFieldData[] formData, string table) { var originalOutputs = viewmodel.ToDictionary(x => x.Id, x => Tuple.Create(x.IsIdentification, x.ActiveOutputs)); viewmodel.Clear(); var itemsTable = formData.Where(x => x.Name.Contains(table)); var itemsList = itemsTable.Where(x => x.Id != null && x.Id != "new-").GroupBy(x => x.Id); ClientFieldData field; foreach (var item in itemsList) { var model = new CommitFundRowViewModel(); if (!item.Key.Contains("new-")) { model.Id = int.Parse(item.Key); } field = item.FirstOrDefault(x => x.Name == table + "-ApprovalNumber"); if (field == null) { field = item.FirstOrDefault(x => x.Name == table + "-ProductActivityNumber"); } model.ApprovalNumber = field.ConvertToString(); field = item.FirstOrDefault(x => x.Name == table + "-IsIdentificationHidden"); model.IsIdentification = field.ConvertToBool(); field = item.FirstOrDefault(x => x.Name == table + "-fundsAvailableAtStartHidden"); model.OriginalProcurementEstimate = field.ConvertToNullableDecimal(); field = item.FirstOrDefault(x => x.Name == table + "-HiddenOperationNumber"); model.OperatinNumber = field.ConvertToString(); field = item.FirstOrDefault(x => x.Name == table + "-ApprovalCurrency"); model.ApprovalCurrency = field.ConvertToString(); field = item.FirstOrDefault(x => x.Name == table + "-LMSNumber"); model.LMSNumber = field.ConvertToString(); field = item.FirstOrDefault(x => x.Name == table + "-CMOCurrency"); model.CMOCurrency = field.ConvertToString(); field = item.FirstOrDefault(x => x.Name == table + "-CMOCurrentAmountApproval"); model.CMOCurrentAmountApproval = field.ConvertToNullableDecimal(); field = item.FirstOrDefault(x => x.Name == table + "-CMOCurrentAmount"); model.CMOCurrentAmount = field.ConvertToNullableDecimal(); field = item.FirstOrDefault(x => x.Name == table + "-activeOutputs"); var outputIds = field.ConvertToIntList(); if (originalOutputs.ContainsKey(model.Id)) { model.IsIdentification = originalOutputs[model.Id].Item1; model.ActiveOutputs = originalOutputs[model.Id].Item2; if (!model.IsIdentification) { model.ActiveOutputs.ForEach(x => x.Select = outputIds.Contains(int.Parse(x.Value))); } } else { outputIds.ForEach(x => model.ActiveOutputs.Add(new ListItemViewModel() { Value = x.ToString(), Select = true })); } viewmodel.Add(model); } }