List <FilloggDetaljDTO> SkapaHistorikrader(IEnumerable <Leverans> leveransList) { var historikLista = new List <FilloggDetaljDTO>(); foreach (var leverans in leveransList) { var filloggDetalj = new FilloggDetaljDTO(); //Kolla om återkopplingsfil finns för aktuell leverans var aterkoppling = _portalRepository.GetAterkopplingForLeverans(leverans.Id); //Kolla om enhetskod finns för aktuell leverans (stadsdelsleverans) var enhetskod = String.Empty; if (leverans.OrganisationsenhetsId != null) { var orgenhetid = Convert.ToInt32(leverans.OrganisationsenhetsId); enhetskod = _portalRepository.GetEnhetskodForLeverans(orgenhetid); } //Hämta period för aktuell leverans var period = _portalRepository.GetPeriodForAktuellLeverans(leverans.ForvantadleveransId); var filer = _portalRepository.GetFilerForLeveransId(leverans.Id).ToList(); var registerKortnamn = _portalRepository.GetDelregisterKortnamn(leverans.DelregisterId); if (!filer.Any()) { filloggDetalj = new FilloggDetaljDTO(); filloggDetalj.Id = 0; filloggDetalj.LeveransId = leverans.Id; filloggDetalj.Filnamn = " - "; filloggDetalj.Filstatus = " - "; filloggDetalj.Kontaktperson = leverans.ApplicationUserId; filloggDetalj.Leveransstatus = leverans.Leveransstatus; filloggDetalj.Leveranstidpunkt = leverans.Leveranstidpunkt; filloggDetalj.RegisterKortnamn = registerKortnamn; filloggDetalj.Resultatfil = " - "; filloggDetalj.Enhetskod = enhetskod; filloggDetalj.Period = period; if (aterkoppling != null) { //filloggDetalj.Leveransstatus = aterkoppling.Leveransstatus; //Skriv ej över leveransstatusen från återkopplingen. Beslut 20180912, ärende #128 filloggDetalj.Resultatfil = aterkoppling.Resultatfil; } historikLista.Add(filloggDetalj); } else { foreach (var fil in filer) { filloggDetalj = (FilloggDetaljDTO.FromFillogg(fil)); filloggDetalj.Kontaktperson = leverans.ApplicationUserId; filloggDetalj.Leveransstatus = leverans.Leveransstatus; filloggDetalj.Leveranstidpunkt = leverans.Leveranstidpunkt; filloggDetalj.RegisterKortnamn = registerKortnamn; filloggDetalj.Resultatfil = "Ej kontrollerad"; filloggDetalj.Enhetskod = enhetskod; filloggDetalj.Period = period; if (aterkoppling != null) { filloggDetalj.Leveransstatus = aterkoppling.Leveransstatus; filloggDetalj.Resultatfil = aterkoppling.Resultatfil; } historikLista.Add(filloggDetalj); } } } return(historikLista); }