Exemplo n.º 1
0
        /// <summary>
        ///     Method returns filtered customers from databse
        /// </summary>
        /// <param name="filter">Name or Surname of Customer</param>
        /// <returns>Collection of Customers from Database</returns>
        public async Task <ObservableCollection <DtoCustomer> > GetCustomers(string filter = null)
        {
            var ret = new ObservableCollection <DtoCustomer>();

            using (var data = Context)
            {
                if (!string.IsNullOrWhiteSpace(filter))
                {
                    foreach (var item in await(from item in data.Customer
                                               where
                                               item.name.Contains(filter) || item.surname.Contains(filter) ||
                                               item.personalIdentityNumber.Contains(filter)
                                               select item).Take(50).ToListAsync())
                    {
                        ret.Add(CustomerConverter.DataAccsessToDto(item));
                    }
                }
                else
                {
                    foreach (var item in await(from item in data.Customer select item).Take(50).ToListAsync())
                    {
                        ret.Add(CustomerConverter.DataAccsessToDto(item));
                    }
                }
                return(ret);
            }
        }
Exemplo n.º 2
0
 /// <summary>
 ///     Returns Custmer with specific ID
 /// </summary>
 /// <param name="customerId">Customer ID</param>
 /// <returns>Customer Business Object</returns>
 public async Task <DtoCustomer> GetCustomer(int customerId)
 {
     try
     {
         using (var data = Context)
             return
                 (CustomerConverter.DataAccsessToDto(
                      await
                          (from item in data.Customer where item.id == customerId select item)
                      .FirstOrDefaultAsync()));
     }
     catch (Exception)
     {
         return(null);
     }
 }
Exemplo n.º 3
0
        /// <summary>
        ///     Returns Customer with specific email
        /// </summary>
        /// <param name="email">Customer e-mail</param>
        /// <returns>Customer Business Object</returns>
        public async Task <DtoCustomer> GetCustomer(string email)
        {
            using (var data = Context)
            {
                var c = await data.Customer.Where(cc => cc.email == email).ToListAsync();

                if (!c.Any())
                {
                    return(null);
                }
                if (c.Count > 1)
                {
                    throw new Exception("Emails are not unique");
                }
                return(CustomerConverter.DataAccsessToDto(c.First()));
            }
        }