public citParte4Final(citModeloC modeloC, citFloadAndRoad result) { this.KycrspFundno = modeloC.KYCRSP_FUNDNO; this.MCALDT = modeloC.MCALDT; //this.FMRET = modeloC.FMRET; //this.RmRfd = modeloC.RmRfd; //this.SMB = modeloC.SMB; //this.HML = modeloC.HML; //this.Mom = modeloC.Mom; //this.Rfd = modeloC.Rfd; //this._b_RmRfd = modeloC._b_RmRfd; //this._b_SMB = modeloC._b_SMB; //this._b_HML = modeloC._b_HML; //this._b_Mom = modeloC._b_Mom; //this._b_cons = modeloC._b_cons; //this._p = modeloC._p; if (result != null) { this.FrontLoad = result.FrontLoad; this.Fflbegdt = result.Fflbegdt; this.Fflenddt = result.Fflenddt; this.RearLoad = result.RearLoad; this.Frlbegdt = result.Frlbegdt; this.Frlenddt = result.Frlenddt; this.FexpRatio = result.FexpRatio; this.FmgmtFee = result.FmgmtFee; this.FturnRatio = result.FturnRatio; this.Ffebegdt = result.Ffebegdt; this.Ffeenddt = result.Ffeenddt; } }
private void btnJuntarFicheirosFloadRload_Click(object sender, EventArgs e) { int index1 = -1; int index2 = -1; Source.citTotalLoadsFload auxFload = null; Source.citTotalLoadsRload auxRload = null; Source.citExpenseTurnoverFee auxExpense = null; Source.citFloadAndRoad aux; try { _result.Clear(); foreach(Source.citTotalLoadsFload fload in _SourceTotalLoadsFload) { index1 = -1; index2 = -1; auxFload = fload; auxRload = null; auxExpense = null; // procura no rload um fundo igual index1 = _SourceTotalLoadsRload.FindIndex(r => r.KycrspFundno == fload.KycrspFundno && r.Frlbegdt == fload.Fflbegdt && r.Frlenddt == fload.Fflenddt); index2 = _SourceExpensiveTurnoverFee.FindIndex(r => r.KycrspFundno == fload.KycrspFundno && r.Ffebegdt >= fload.Fflbegdt && r.Ffeenddt <= fload.Fflenddt); if(index1 > 0) auxRload = _SourceTotalLoadsRload[index1]; if(index2 > 0) auxExpense = _SourceExpensiveTurnoverFee[index2]; aux = new Source.citFloadAndRoad(auxFload, auxRload, auxExpense); if(!_result.Contains(aux)) { _result.Add(aux); } } foreach(Source.citTotalLoadsRload rload in _SourceTotalLoadsRload) { index1 = -1; index2 = -1; auxFload = null; auxRload = rload; auxExpense = null; // procura no rload um fundo igual index1 = _SourceTotalLoadsFload.FindIndex(f => (f.KycrspFundno == rload.KycrspFundno && f.Fflbegdt == rload.Frlbegdt && f.Fflenddt == rload.Frlenddt)); index2 = _SourceExpensiveTurnoverFee.FindIndex(r => r.KycrspFundno == rload.KycrspFundno && r.Ffebegdt >= rload.Frlbegdt && r.Ffeenddt <= rload.Frlenddt); if(index1 > 0) auxFload = _SourceTotalLoadsFload[index1]; if(index2 > 0) auxExpense = _SourceExpensiveTurnoverFee[index2]; aux = new Source.citFloadAndRoad(auxFload, auxRload, auxExpense); if(!_result.Contains(aux)) { _result.Add(aux); } } foreach(Source.citExpenseTurnoverFee expense in _SourceExpensiveTurnoverFee) { index1 = -1; index2 = -1; auxFload = null; auxRload = null; auxExpense = expense; // procura no rload um fundo igual index1 = _SourceTotalLoadsFload.FindIndex(f => f.KycrspFundno == expense.KycrspFundno && f.Fflbegdt <= expense.Ffebegdt && f.Fflenddt >= expense.Ffeenddt); index2 = _SourceTotalLoadsRload.FindIndex(r => r.KycrspFundno == expense.KycrspFundno && r.Frlbegdt <= expense.Ffebegdt && r.Frlenddt >= expense.Ffeenddt); if(index1 > 0) auxFload = _SourceTotalLoadsFload[index1]; if(index2 > 0) auxRload = _SourceTotalLoadsRload[index2]; aux = new Source.citFloadAndRoad(auxFload, auxRload, auxExpense); if(!_result.Contains(aux)) { _result.Add(aux); } } //ordena os resultados e elimina linhas repetidas //_result = (from r in _result select r).Distinct().ToList(); //_result = _result.GroupBy(x => x.KycrspFundno, (k, g) => g.Aggregate((a, x) =>x.Equals(a) ? x : a)).ToList(); _result = (from x in _result orderby x.KycrspFundno, x.Fflbegdt, x.Frlbegdt, x.Ffebegdt select x).ToList(); dgvFicheirosFloadRload.DataSource = _result; citResultado.Parte3 = _result; } catch(Exception ex) { MessageBox.Show("Error merge files.\n" + ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }