public override bool Equals(object obj) { if (!(obj is ChaveRpt)) { return(false); } ChaveRpt comp = obj as ChaveRpt; return(comp.Titulo == Titulo && comp.TituloGrupo == TituloGrupo && comp.NumSeqTurno == NumSeqTurno); }
public IList <ProducaoFornoResumo> GetForRpt(int setor, DateTime dataIni, DateTime dataFim, int idTurno) { var retorno = new List <ProducaoFornoResumo>(objPersistence.LoadData(Sql(setor, dataIni, dataFim, true, idTurno, true), GetParams(dataIni.ToShortDateString(), dataFim.ToShortDateString())).ToList()); var total = new List <ProducaoFornoResumo>(); if (retorno.Count > 0) { Dictionary <ChaveRpt, int> posicoes = new Dictionary <ChaveRpt, int>(); for (int i = 0; i < retorno.Count; i++) { ChaveRpt chave = new ChaveRpt { NumSeqTurno = retorno[i].NumSeqTurno, Titulo = retorno[i].Titulo, TituloGrupo = retorno[i].TituloGrupo }; if (!posicoes.ContainsKey(chave)) { ProducaoFornoResumo novo = new ProducaoFornoResumo(); novo.Titulo = retorno[i].Titulo; novo.TituloGrupo = retorno[i].TituloGrupo; novo.Turno = retorno[i].Turno; novo.NumSeqTurno = retorno[i].NumSeqTurno; total.Add(novo); posicoes.Add(chave, total.Count - 1); } int index = posicoes[chave]; total[index].TotM2Turno1 += retorno[i].TotM2Turno1; total[index].TotM2Turno2 += retorno[i].TotM2Turno2; total[index].TotM2Turno3 += retorno[i].TotM2Turno3; total[index].TotM2Turno4 += retorno[i].TotM2Turno4; total[index].TotM2Turno5 += retorno[i].TotM2Turno5; } } retorno.AddRange(total.ToArray()); return(retorno); }