public async Task <IHttpActionResult> PostManufacturer(ManufacturerRequest manufacturerRequest) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var now = DateTime.Now; var manufacturer = new Manufacturer { Name = manufacturerRequest.Name, AuditCreatedBy = UserResolver.CurrentUserId, AuditCreatedDate = now, AuditLastModifiedBy = UserResolver.CurrentUserId, AuditLastModifiedDate = now }; WebApiContext.Manufacturers.Add(manufacturer); await WebApiContext.SaveChangesAsync(); var response = new ManufacturerResponse { ManufacturerId = manufacturer.ManufacturerId, Name = manufacturer.Name }; return(CreatedAtRoute(nameof(GetManufacturer), new { manufacturerId = response.ManufacturerId }, response)); }
public async Task <IHttpActionResult> GetManufacturer(int manufacturerId) { var manufacturer = await WebApiContext.Manufacturers.FindAsync(manufacturerId); if (manufacturer == null) { return(NotFound()); } var result = new ManufacturerResponse { ManufacturerId = manufacturerId, Name = manufacturer.Name, ProductsCount = await WebApiContext.Products.CountAsync(_ => _.ManufacturerId == manufacturerId) }; return(Ok(result)); }
public async Task <IHttpActionResult> DeleteManufacturer(int manufacturerId) { var manufacturer = await WebApiContext.Manufacturers.FindAsync(manufacturerId); if (manufacturer == null) { return(NotFound()); } var products = WebApiContext.Products .Where(_ => _.ManufacturerId == manufacturerId); var productImages = WebApiContext.ProductImages .Where(_ => products.Any(p => p.ProductId == _.ProductImageId)); if (productImages.Any()) { WebApiContext.ProductImages.RemoveRange(productImages); } if (products.Any()) { WebApiContext.Products.RemoveRange(products); } var manufacturerLogo = await WebApiContext.ManufacturerLogos .FirstOrDefaultAsync(_ => _.ManufacturerLogoId == manufacturerId); if (manufacturerLogo != null) { WebApiContext.ManufacturerLogos.Remove(manufacturerLogo); } WebApiContext.Manufacturers.Remove(manufacturer); await WebApiContext.SaveChangesAsync(); var response = new ManufacturerResponse { ManufacturerId = manufacturerId, Name = manufacturer.Name }; return(Ok(response)); }
public async Task <List <Manufacturer> > GetManufacturers(string userName, string token, string uuid) { if (uuid == "") { return(new List <Manufacturer>()); } ManufacturerResponse response = await awsHttpClient.GetManufacturersAsync(new UIDInfoRequest() { Username = userName, Token = token, UID = uuid }); if (response == null || response?.Manufacturers == null) { return(new List <Manufacturer>()); } return(response.Manufacturers); }
public async Task <List <Manufacturer> > GetManufacturers(string userName, string token, string uuid) { if (userName == "" || token == "" || uuid == "") { return(new List <Manufacturer>()); } if (client.DefaultRequestHeaders.Contains("code")) { client.DefaultRequestHeaders.Remove("code"); } client.DefaultRequestHeaders.Add("code", Constants.AzureApiKey_GetManufacturers); try { string postBody = JsonConvert.SerializeObject(new UIDInfoRequest() { Username = userName, Token = token, UID = uuid }); HttpResponseMessage response = await client.PostAsync(Constants.AzureEndPoint_GetMessages, new StringContent(postBody, Encoding.UTF8, "application/json")); // AnalyticsService.TrackEvent("Response: " + response.StatusCode.ToString()); if (response.IsSuccessStatusCode) { string str = await response.Content.ReadAsStringAsync(); //AnalyticsService.TrackEvent(str); var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; ManufacturerResponse manufactuerersResponse = JsonConvert.DeserializeObject <ManufacturerResponse>(str, settings); if (manufactuerersResponse == null || manufactuerersResponse?.Manufacturers == null) { return(new List <Manufacturer>()); } return(manufactuerersResponse.Manufacturers); } else { string str = await response.Content.ReadAsStringAsync(); AnalyticsService.TrackEvent(str); } } catch (HttpRequestException hre) { AnalyticsService.TrackError(hre); } catch (TaskCanceledException hca) { AnalyticsService.TrackError(hca); AnalyticsService.TrackEvent("Request canceled"); } catch (Exception ex) { AnalyticsService.TrackError(ex); } finally { /*if (httpClient != null) * { * httpClient.Dispose(); * httpClient = null; * }*/ } return(new List <Manufacturer>()); }