示例#1
0
 /// <summary>
 /// Получить товар за идентификационним кодом.
 /// </summary>
 /// <param name="id">Полный идентификационный код товара.</param>
 /// <returns>Товар с соответствующим идентификационным кодом.</returns>
 public Article GetArticle(long id)
 {
     using (_ent = new SupermarketDataEntities())
     {
         return(_ent.Articles.FirstOrDefault(item => item.ID == id));
     }
 }
示例#2
0
        /// <summary>
        /// Поиск товаров по имени или идентификационному коду.
        /// </summary>
        /// <param name="name">Значение для поиска.</param>
        /// <returns>Список найденных товаров.</returns>
        public async Task <ObservableCollection <Article> > SearchAsync(string name)
        {
            using (_ent = new SupermarketDataEntities())
            {
                List <Article> result = new List <Article>();

                long parsedId;

                bool idNeeded = long.TryParse(name, out parsedId);

                IQueryable <Article> founded;

                if (idNeeded)
                {
                    string id = parsedId.ToString();

                    founded = from d in _ent.Articles
                              where d.ID.ToString().Contains(id)
                              select d;

                    result.AddRange(await founded.ToListAsync());
                }

                string[] words = name.Split(' ');

                founded = from d in _ent.Articles
                          where words.All(item => d.Name.Contains(item))
                          select d;

                result.AddRange(await founded.ToListAsync());

                return(new ObservableCollection <Article>(result));
            }
        }
示例#3
0
        /// <summary>
        /// Обеспечивает авторизацию.
        /// </summary>
        /// <param name="username">Имя пользователя.</param>
        /// <param name="password">Пароль пользователя.</param>
        /// <returns>Результат авторизации.</returns>
        private bool Authorize(string username, string password)
        {
            var hash = SHA1HashStringForUTF8String(password).ToUpper();

            using (SupermarketDataEntities ent = new SupermarketDataEntities())
            {
                var wanted = from d in ent.Users
                             where d.Username == username &&
                             d.PasswordHash.ToUpper() == hash
                             select d;
                try
                {
                    var res = wanted.ToList();
                    return(res.Count != 0);
                }
                catch
                {
                    return(false);
                }
            }
        }