示例#1
0
        private static LoginData VerifyLogin(String username, String password)
        {
            LoginData loginData = new LoginData();

            using (ScidynContext scidyn = new ScidynContext())
            {
                User user = scidyn.Users.FirstOrDefault(x => x.UserName == username);
                if (user != null && !String.IsNullOrWhiteSpace(user.Password))
                {
                    if (BCrypt.Net.BCrypt.Verify(password, user.Password))
                    {
                        loginData.UserId            = user.UserName;
                        loginData.ExpirationSeconds = DateTimeOffset.UtcNow.AddHours(8.0).ToUnixTimeSeconds();
                        loginData.UserDisplayName   = (!String.IsNullOrWhiteSpace(user.FirstName) ? user.FirstName + " " : "") + user.LastName;
                    }
                }
            }

            if (String.IsNullOrWhiteSpace(loginData.UserId))
            {
                throw new ArgumentException("Login information does not match an existing account");
            }

            return(loginData);
        }
        public static Dictionary <FacilityDto, List <DomainDto> > LoadAllFacilityDomains()
        {
            Dictionary <FacilityDto, List <DomainDto> > facilityDomains = new Dictionary <FacilityDto, List <DomainDto> >();

            using (ScidynContext ctx = new ScidynContext())
            {
                List <DomainFacility> domainFacilities = ctx.DomainFacilities.Include("Domain").Include("Facility").ToList();

                // Convert list of domains and the facilities they belong to into
                // a list of facilities and what domains contain them.
                foreach (DomainFacility domainFacility in domainFacilities)
                {
                    DomainDto domainDto = domainFacility.Domain.ConvertToDto();

                    FacilityDto key = facilityDomains.Keys.FirstOrDefault(k => k.SiteId == domainFacility.Facility.SiteId);

                    if (key == null)
                    {
                        facilityDomains.Add(domainFacility.Facility.ConvertToDto(), new List <DomainDto> {
                            domainDto
                        });
                    }
                    else
                    {
                        facilityDomains[key].Add(domainDto);
                    }
                }
            }

            return(facilityDomains);
        }
        public static List <DomainFacilityDto> LoadAllDomainFacilities()
        {
            List <DomainFacilityDto> domainFacilities = new List <DomainFacilityDto>();

            using (ScidynContext ctx = new ScidynContext())
            {
                foreach (DomainFacility domainFacility in ctx.DomainFacilities.ToList())
                {
                    domainFacilities.Add(domainFacility.ConvertToDto());
                }
            }

            return(domainFacilities);
        }
        public static List <FacilityDto> LoadAllFacilities()
        {
            List <FacilityDto> result = new List <FacilityDto>();

            using (ScidynContext ctx = new ScidynContext())
            {
                List <Facility> facilities = ctx.Facilities.ToList();
                foreach (Facility facility in facilities)
                {
                    result.Add(facility.ConvertToDto());
                }
            }

            return(result);
        }
        public static List <DomainDto> LoadAllDomains()
        {
            List <DomainDto> result = new List <DomainDto>();

            using (ScidynContext ctx = new ScidynContext())
            {
                List <Domain> domains = ctx.Domains.ToList();
                foreach (Domain domain in domains)
                {
                    result.Add(domain.ConvertToDto());
                }
            }

            return(result);
        }
示例#6
0
        public static User GetKcUser(String username)
        {
            if (String.IsNullOrWhiteSpace(username))
            {
                throw new ArgumentException("Invalid username value");
            }

            User result;

            using (ScidynContext ctx = new ScidynContext())
            {
                result = ctx.Users.FirstOrDefault(k => k.UserName == username);
            }

            return(result);
        }
示例#7
0
        private static List <Facility> GetFacilities(String userId = "", Int32 domainId = 0)
        {
            using (ScidynContext ctx = new ScidynContext())
            {
                if (domainId == 0 && !string.IsNullOrEmpty(userId))
                {
                    User kineticConsoleUser = ctx.Users.FirstOrDefault(x => x.UserName == userId);
                    if (kineticConsoleUser != null)
                    {
                        domainId = kineticConsoleUser.DomainId;
                    }
                }

                List <Facility> facilities = (domainId == 0 ? ctx.Facilities.ToList() : ctx.DomainFacilities.Where(x => x.DomainId == domainId).Select(y => y.Facility).ToList());

                return(facilities);
            }
        }
示例#8
0
        public static List <String> GetKcUserPermissions(String username)
        {
            if (String.IsNullOrWhiteSpace(username))
            {
                throw new ArgumentException("Invalid username");
            }

            List <String> result = new List <String>();

            using (ScidynContext ctx = new ScidynContext())
            {
                List <UserPermission> permissions = ctx.UserPermissions.Where(k => k.UserName == username).ToList();

                if (permissions.Count > 0)
                {
                    result = permissions.Select(p => p.Name).ToList();
                }
            }

            return(result);
        }