Beispiel #1
0
        public int GetNewLeveransId(string userId, string userName, int orgId, int regId, int orgenhetsId, int forvLevId, string status)
        {
            var dbStatus = "Levererad";

            if (!String.IsNullOrEmpty(status))
            {
                dbStatus = status;
            }
            var leverans = new Leverans
            {
                ForvantadleveransId = forvLevId,
                OrganisationId      = orgId,
                ApplicationUserId   = userId,
                DelregisterId       = regId,
                Leveranstidpunkt    = DateTime.Now,
                Leveransstatus      = dbStatus,
                SkapadDatum         = DateTime.Now,
                SkapadAv            = userName,
                AndradDatum         = DateTime.Now,
                AndradAv            = userName
            };

            if (orgenhetsId != 0)
            {
                leverans.OrganisationsenhetsId = orgenhetsId;
            }


            DbContext.Leverans.Add(leverans);

            DbContext.SaveChanges();
            return(leverans.Id);
        }
Beispiel #2
0
        public IEnumerable <FilloggDetaljDTO> HamtaHistorikForOrganisationRegisterPeriod(int orgId, int regId, string periodForReg)
        {
            var historikLista         = new List <FilloggDetaljDTO>();
            var sorteradHistorikLista = new List <FilloggDetaljDTO>();
            var delregisterLista      = _portalRepository.GetSubdirsForDirectory(regId);

            //var forvLevId = _portalRepository.get

            foreach (var delregister in delregisterLista)
            {
                //Hämta forvantadleveransid för delregister och period
                var forvLevId = _portalRepository.GetExpextedDeliveryIdForSubDirAndPeriod(delregister.Id, periodForReg);

                var senasteLeverans = new Leverans();
                //kan org rapportera per enhet för aktuellt delregister? => hämta senaste leverans per enhet
                var uppgiftsskyldighet = _portalRepository.GetUppgiftsskyldighetForOrganisationAndRegister(orgId, delregister.Id);
                if (uppgiftsskyldighet != null)
                {
                    if (uppgiftsskyldighet.RapporterarPerEnhet)
                    {
                        var orgEnhetsList = _portalRepository.GetOrgUnitsForOrg(orgId);
                        foreach (var orgenhet in orgEnhetsList)
                        {
                            senasteLeverans =
                                _portalRepository.GetLatestDeliveryForOrganisationSubDirectoryPeriodAndOrgUnit(orgId, delregister.Id, forvLevId, orgenhet.Id);
                            if (senasteLeverans != null)
                            {
                                AddHistorikListItem(senasteLeverans, historikLista);
                            }
                        }
                    }
                    else
                    {
                        senasteLeverans =
                            _portalRepository.GetLatestDeliveryForOrganisationSubDirectoryAndPeriod(orgId, delregister.Id,
                                                                                                    forvLevId);
                        if (senasteLeverans != null)
                        {
                            AddHistorikListItem(senasteLeverans, historikLista);
                        }
                    }
                }
            }
            if (historikLista.Count > 0)
            {
                sorteradHistorikLista = historikLista.OrderBy(x => x.Enhetskod).ThenBy(x => x.RegisterKortnamn).ThenByDescending(x => x.Id).ToList();
            }

            return(sorteradHistorikLista);
        }
Beispiel #3
0
        private List <FilloggDetaljDTO> AddHistorikListItem(Leverans senasteLeverans, List <FilloggDetaljDTO> historikLista)
        {
            var filloggDetalj = new FilloggDetaljDTO();
            //Kolla om återkopplingsfil finns för aktuell leverans
            var aterkoppling = _portalRepository.GetAterkopplingForLeverans(senasteLeverans.Id);
            //Kolla om enhetskod finns för aktuell leverans (stadsdelsleverans)
            var enhetskod = String.Empty;

            if (senasteLeverans.OrganisationsenhetsId != null)
            {
                var orgenhetid = Convert.ToInt32(senasteLeverans.OrganisationsenhetsId);
                enhetskod = _portalRepository.GetEnhetskodForLeverans(orgenhetid);
            }

            //Hämta period för aktuell leverans
            var period = _portalRepository.GetPeriodForAktuellLeverans(senasteLeverans.ForvantadleveransId);

            var filer            = _portalRepository.GetFilerForLeveransId(senasteLeverans.Id).ToList();
            var registerKortnamn = _portalRepository.GetSubDirectoryShortName(senasteLeverans.DelregisterId);

            if (!filer.Any())
            {
                filloggDetalj                  = new FilloggDetaljDTO();
                filloggDetalj.Id               = 0;
                filloggDetalj.LeveransId       = senasteLeverans.Id;
                filloggDetalj.Filnamn          = " - ";
                filloggDetalj.Filstatus        = " - ";
                filloggDetalj.Kontaktperson    = senasteLeverans.ApplicationUserId;
                filloggDetalj.Leveransstatus   = senasteLeverans.Leveransstatus;
                filloggDetalj.Leveranstidpunkt = senasteLeverans.Leveranstidpunkt;
                filloggDetalj.RegisterKortnamn = registerKortnamn;
                filloggDetalj.Resultatfil      = " - ";
                filloggDetalj.Enhetskod        = enhetskod;
                filloggDetalj.Period           = period;
                if (aterkoppling != null)
                {
                    filloggDetalj.Leveransstatus = aterkoppling.Leveransstatus;
                    filloggDetalj.Resultatfil    = aterkoppling.Resultatfil;
                }
                historikLista.Add(filloggDetalj);
            }
            else
            {
                foreach (var fil in filer)
                {
                    filloggDetalj = (FilloggDetaljDTO.FromFillogg(fil));
                    filloggDetalj.Kontaktperson    = senasteLeverans.ApplicationUserId;
                    filloggDetalj.Leveransstatus   = senasteLeverans.Leveransstatus;
                    filloggDetalj.Leveranstidpunkt = senasteLeverans.Leveranstidpunkt;
                    filloggDetalj.RegisterKortnamn = registerKortnamn;
                    filloggDetalj.Resultatfil      = "Ej kontrollerad";
                    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);
                }
            }
            return(historikLista);
        }