private void btnHome_Click(object sender, EventArgs e) { HomeUser HU = new HomeUser(); HU.Show(); this.Hide(); }
} // 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
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
} // 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
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
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