public GetEntityResult<ExternalActivityViewModel> DownLoadExternalOrders(OrderSearchOptions orderSearchOptions) { GetEntityResult<ExternalActivityViewModel> externalActivityResult = new GetEntityResult<ExternalActivityViewModel>() { Success = false }; ExternalOrderResult orderResult = null; orderSearchOptions.ToDate = DateTime.Now; orderResult = new ExternalOrderClient().GetUnshippedOrders(orderSearchOptions); if (orderResult.Success) { EntityOperationResultBase saveResult = SaveExternalOrder(orderResult.Orders); } else { externalActivityResult.ErrorMessage = "Error occurred while retrieving orders for " + orderSearchOptions.StoreProvider.ToString(); return externalActivityResult; } ExternalActivityViewModel activity = new ExternalActivityViewModel() { ActivityStatus = ExternalActivityStatus.Completed, ExternalActivityType = ExternalActivityTypeEnum.GetUnshippedOrders, StoreProviderType = orderSearchOptions.StoreProvider, LastPerformedOn = orderSearchOptions.ToDate, }; try { UpdateResult<ExternalActivity> externalActivityUpdateResult = UpdateExternalActivityDetails(activity); GetEntityResult<ExternalActivityViewModel> result = GetLastExternalActivityDetails(ExternalActivityTypeEnum.GetUnshippedOrders, orderSearchOptions.StoreProvider); externalActivityResult.Success = result.Success; externalActivityResult.Entity = result.Entity; } catch (Exception ex) { externalActivityResult.Success = false; externalActivityResult.ErrorMessage = "Error occurred while update activity details. Please refresh the page"; } return externalActivityResult; }
public ExternalOrderResult GetUnshippedOrders(OrderSearchOptions orderOptions) { IOrderOptions extOrderOptions = null; IExternalStoreService externalService = null; if (orderOptions.StoreProvider == StoreProviderTypeEnum.eBay) { externalService = new eBayServiceCall(); extOrderOptions = new eBayOrderOptions(orderOptions.FromDate, orderOptions.ToDate); } if (orderOptions.StoreProvider == StoreProviderTypeEnum.Amazon) { externalService = new AmazonServiceClient(); extOrderOptions = new AmazonOrderOptions(orderOptions.FromDate, orderOptions.ToDate); } ExternalOrderResult orderResult = externalService.GetOrders(extOrderOptions); int serialNo = 0; //if (orderResult.Success) //{ // foreach (ExternalOrder extOrder in orderResult.Orders) // { // { // serialNo += 1; // ExternalOrderViewModel extOrderVM = new ExternalOrderViewModel(extOrder); // extOrderVM.SerialNo = serialNo; // vmResult.ExternalOrderViewModels.Add(extOrderVM); // } // } // vmResult.Success = true; //} return orderResult; }
public ExternalOrderViewModelResult GetExternalOrders(OrderSearchOptions orderSearchOptions) { ExternalOrderViewModelResult result = new ExternalOrderViewModelResult() { Success = false, ExternalOrderViewModels = new List<ExternalOrderViewModel>(), }; DateTime fromDate = orderSearchOptions.FromDate; DateTime toDate = orderSearchOptions.ToDate; DbSet<ExternalOrder> externalOrderSet = new InnoventoryDBContext().ExternalOrderSet; DateTime from = Utility.ConvertToGMT(fromDate); DateTime to = Utility.ConvertToGMT(toDate); int storeType = (int)orderSearchOptions.StoreProvider; var dbExternalOrders = externalOrderSet.Where(x => x.OrderDate >= from && x.OrderDate <= to && x.StoreProviderId == storeType).OrderByDescending(y => y.OrderDate).ToList(); if (dbExternalOrders.Count > 0) { foreach (var order in dbExternalOrders) { ExternalOrderViewModel vm = new ExternalOrderViewModel(order); result.ExternalOrderViewModels.Add(vm); } } else { result.ErrorMessage = "No unshipped orders found..."; } return result; }