public async Task <DropshipOverview> GetOverview(string username) { var accountTask = GetAccount(username); var productsTask = dbItems.GetMultipleByUsername(username); var integrationsTask = dbOAuth.GetMultipleByUsername(username); //var ordersTask = GetOrders(username); var account = await accountTask; var items = await productsTask; var integrations = await integrationsTask; var dropshipOverview = new DropshipOverview() { Account = account, IntegrationCount = integrations.Length, ProductCount = items.Length }; return(dropshipOverview); }
public async Task <IActionResult> Get(int limit = 50, int offset = 0) { //Get jwt username var username = HttpContext.User.Identity.Name; //Create return object var dropshipItems = new List <DropshipItem>(); //Retrieve Dropship Item Models from db var items = await dbItems.GetMultipleByUsername(username); //Get integration oauth info var oauth = await oauthdb.RetrieveOAuth <OAuthShopifyModel>(username); //Add to return object items.ForEach(item => dropshipItems.Add(new DropshipItem() { Dropshipping = item })); var count = items.Length; if (items.Length != 0) { items = items.Skip(offset).Take(limit).ToArray(); //Put all item ids var ids = new List <string>(); items.ForEach(item => ids.Add(item.ListingID)); var shopifyItems = await shopify.GetProductsByID(username, ids.ToArray(), oauth); shopifyItems.ForEach(shopifyItem => { var item = dropshipItems.FirstOrDefault(dropshipItem => dropshipItem.Dropshipping.ListingID == shopifyItem.ID); if (item != null) { item.Product = shopifyItem; } }); } //Add total product count HttpContext.Response.Headers.Add(ApiConstants.HeaderItemCount, count.ToString()); return(Json(dropshipItems)); }