Esempio n. 1
0
        private void btnHome_Click(object sender, EventArgs e)
        {
            HomeUser HU = new HomeUser();

            HU.Show();
            this.Hide();
        }
Esempio n. 2
0
        } // END GetHomeUser

        public static HomeUser GetHomeUser(this ClaimsPrincipal principal)
        {
            var ident = principal.Identity.GetHomeUser();

            if (ident != null)
            {
                return(ident);
            }
            // need to log the principal/identity NOW
            var user = new HomeUser();

            foreach (var claim in principal.Claims)
            {
                if (claim.IsType(ClaimTypes.Email))
                {
                    user.Email = claim.Value;
                }
                else if (claim.IsType(ClaimTypes.GivenName))
                {
                    user.FirstName = claim.Value;
                }
                else if (claim.IsType(ClaimTypes.Surname))
                {
                    user.LastName = claim.Value;
                }
            }
            return(user);
        } // END GetHomeUser
Esempio n. 3
0
        private void homeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            HomeUser HU = new HomeUser();

            HU.Show();
            this.Hide();
        }
        } // END GetItemByIdAsync

        public async Task <PurchasedItem> PurchaseAsync(HomeUser user, Item item)
        {
            // check item & user HomeId compatible?

            // create item in archive context (sync will happen later to delete from current)
            using (var conn = factory.Create(archive))
            {
                await conn.OpenAsync();

                return(await conn.QueryFirstOrDefaultAsync <PurchasedItem>(
                           queryRepo.Get("ItemPurchaseQuery"), item));
            }

            // var timestamp = DateTime.Now;
            // return new ArchivedItem{
            //     Id = item.Id,
            //     HomeId = item.HomeId,
            //     Name = item.Name,
            //     Brand = item.Brand,
            //     CreatedTime = item.CreatedTime,
            //     CreatedBy = item.CreatedBy,
            //     RequestedTime = item.RequestedTime,
            //     Notes = item.Notes,

            //     PurchasedTime = timestamp,
            //     PurchasedBy = user.Id
            // };
        } // END PurchaseAsync
Esempio n. 5
0
        } // END AddHome

        public static void AddNames(this ClaimsPrincipal principal, HomeUser user)
        {
            if (!String.IsNullOrWhiteSpace(user.FirstName))
            {
                AddClaim(principal, ClaimTypes.GivenName, user.FirstName);
            }
            if (!String.IsNullOrWhiteSpace(user.LastName))
            {
                AddClaim(principal, ClaimTypes.Surname, user.LastName);
            }
        } // END AddNames
Esempio n. 6
0
 public static void AddHome(this ClaimsPrincipal principal, HomeUser user)
 {
     if (user.HomeId != 0)
     {
         AddClaim(principal, MyClaimTypes.Location, user.HomeId.ToString());
     }
     if (!String.IsNullOrWhiteSpace(user.HomeIdHash))
     {
         AddClaim(principal, MyClaimTypes.LocationHash, user.HomeIdHash);
     }
 } // END AddHome
        } // END SaveAsync

        public async Task <IEnumerable <Item> > GetCurrentItemsAsync(HomeUser user)
        {
            var parm = new {
                HomeId = user.HomeId
            };

            using (var conn = factory.Create(current))
            {
                await conn.OpenAsync();

                return(await conn.QueryAsync <Item>(
                           queryRepo.Get("ItemsCurrentQuery"), parm));
            }
        } // END GetCurrentItemsAsync
        } // END GetItemByIdAsync

        public async Task <Item> GetItemByIdAsync(HomeUser user, uint itemId)
        {
            var parm  = new { ItemId = itemId };
            var query = queryRepo.Get("ItemByIdQuery");

            var result = await GetItemByIdAsync(query, current, user.HomeId, parm);

            if (result != null)
            {
                return(result);
            }
            result = await GetItemByIdAsync(query, archive, user.HomeId, parm);

            if (result != null)
            {
                return(result);
            }
            throw new KeyNotFoundException($"Item ID ({itemId}) NOT Found!");
        } // END GetItemByIdAsync
        } // END GetCurrentItemsAsync

        public async Task <IEnumerable <Item> > GetItemsAsync(HomeUser user, ItemsQuery query)
        {
            var qb    = new StringBuilder(queryRepo.Get("ItemsHistoryQuery"));
            var parms = new Dapper.DynamicParameters();

            parms.Add("@HomeId", user.HomeId);
            qb.Append("home_id = @HomeId");
            if (!String.IsNullOrEmpty(query.Name))
            {
                parms.Add("@Name", query.Name);
                qb.Append("AND name = @Name");
            }
            if (query.CreatedDate1.HasValue)
            {
                parms.Add("@CreatedDate1", query.CreatedDate1.Value);
                qb.Append("AND created_at >= @CreatedDate1");
            }
            if (query.CreatedDate2.HasValue)
            {
                parms.Add("@CreatedDate2", query.CreatedDate2.Value);
                qb.Append("AND created_at <= @CreatedDate2");
            }
            if (query.PurchasedDate1.HasValue)
            {
                parms.Add("@PurchasedDate1", query.PurchasedDate1.Value);
                qb.Append("AND purchased_at >= @PurchasedDate1");
            }
            if (query.PurchasedDate2.HasValue)
            {
                parms.Add("@PurchasedDate2", query.PurchasedDate2.Value);
                qb.Append("AND purchased_at <= @PurchasedDate2");
            }
            using (var conn = factory.Create(archive))
            {
                await conn.OpenAsync();

                return(await conn.QueryAsync <PurchasedItem>(
                           qb.ToString(), parms));
            }
        } // END GetItemsAsync
Esempio n. 10
0
        public async Task <Item> SaveAsync(HomeUser user, Item item)
        {
            if (item.HomeId != user.HomeId)
            {
                item.HomeId = user.HomeId;
            }
            var query = queryRepo.Get((item.Id > 0) ?
                                      "ItemUpdateQuery" : "ItemInsertQuery");

            using (var conn = factory.Create(current))
            {
                await conn.OpenAsync();

                var result = await conn.QueryFirstOrDefaultAsync <Item>(query, item);

                if (result == null)
                {
                    throw new Exception("Item could not be saved");
                }
                return(result);
            }
        } // END SaveAsync