internal static IWarehouse ToWarehouse(this WarehouseDisplay warehouseDisplay, IWarehouse destination) { if (warehouseDisplay.Key != Guid.Empty) { destination.Key = warehouseDisplay.Key; } destination.Name = warehouseDisplay.Name; destination.Address1 = warehouseDisplay.Address1; destination.Address2 = warehouseDisplay.Address2; destination.Locality = warehouseDisplay.Locality; destination.Region = warehouseDisplay.Region; destination.PostalCode = warehouseDisplay.PostalCode; destination.CountryCode = warehouseDisplay.CountryCode; destination.Phone = warehouseDisplay.Phone; destination.Email = warehouseDisplay.Email; destination.IsDefault = warehouseDisplay.IsDefault; foreach (var warehouseCatalogDisplay in warehouseDisplay.WarehouseCatalogs) { IWarehouseCatalog destinationWarehouseCatalog; var matchingItems = destination.WarehouseCatalogs.Where(x => x.Key == warehouseCatalogDisplay.Key); if (matchingItems.Any()) { var existingWarehouseCatalog = matchingItems.First(); if (existingWarehouseCatalog != null) { destinationWarehouseCatalog = existingWarehouseCatalog; destinationWarehouseCatalog = warehouseCatalogDisplay.ToWarehouseCatalog(destinationWarehouseCatalog); } } } return(destination); }
public HttpResponseMessage PutWarehouse(WarehouseDisplay warehouse) { var response = Request.CreateResponse(HttpStatusCode.OK); try { IWarehouse merchWarehouse = _warehouseService.GetByKey(warehouse.Key); merchWarehouse = warehouse.ToWarehouse(merchWarehouse); _warehouseService.Save(merchWarehouse); } catch (Exception ex) { response = Request.CreateResponse(HttpStatusCode.NotFound, String.Format("{0}", ex.Message)); } return response; }