public virtual JsonResult Redistribute(long styleId) { LogI("Redistribute, styleId=" + styleId); try { var quantityManager = new QuantityManager(LogService, Time); var service = new QuantityDistributionService(DbFactory, quantityManager, LogService, Time, QuantityDistributionHelper.GetDistributionMarkets(), DistributeMode.None); var listings = service.RedistributeForStyle(Db, styleId); return(new JsonResult() { Data = ValueResult <IList <ListingQuantityDTO> > .Success("Quantity was redistributed", listings), JsonRequestBehavior = JsonRequestBehavior.AllowGet }); } catch (Exception ex) { LogE("Redistribute, styleId=" + styleId, ex); return(new JsonResult() { Data = MessageResult.Error(ex.Message), JsonRequestBehavior = JsonRequestBehavior.AllowGet }); } }
public virtual ActionResult GetBalance() { LogI("GetBalance"); var companyId = AccessManager.CompanyId; if (!companyId.HasValue) { throw new ArgumentNullException("CompanyId"); } var shipmentProviders = ServiceFactory.GetShipmentProviders(LogService, Time, DbFactory, WeightService, AccessManager.Company.ShipmentProviderInfoList, null, null, null, null); CompanyHelper.UpdateBalance(Db, AccessManager.Company, shipmentProviders, true, Time.GetAppNowTime()); var model = new AccountStatusViewModel(AccessManager.Company); return(new JsonResult { Data = ValueResult <ShipmentProviderViewModel[]> .Success("", model.ShipmentProviderList.ToArray()), JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public virtual ActionResult GetAmazonBarcodeStatus(string barcode) { LogI("GetAmazonBarcodeStatus, barcode=" + barcode); try { var marketplaceManager = new MarketplaceKeeper(DbFactory, false); marketplaceManager.Init(); IMarketApi api = new MarketFactory(marketplaceManager.GetAll(), Time, LogService, DbFactory, null) .GetApi((AccessManager.Company ?? AccessManager.DefaultCompany).Id, MarketType.Amazon, MarketplaceKeeper.AmazonComMarketplaceId); var callResult = ItemEditViewModel.GetAmazonBarcodeStatus(api, barcode); if (callResult.IsSuccess) { return(JsonGet(ValueResult <bool?> .Success("", callResult.Data))); } else { return(JsonGet(ValueResult <bool?> .Error("No results"))); } } catch (Exception ex) { return(JsonGet(ValueResult <bool?> .Error(ex.Message))); } }
public virtual ActionResult SetArchiveStatus(long id, bool status) { LogI("SetArchiveStatus begin, fbaShipment=" + id); var newStatus = ShipmentPickListViewModel.SetArchiveStatus(Db, id, status); return(JsonGet(ValueResult <bool> .Success("", newStatus))); }
public virtual ActionResult GetIdListByFilters(string barcode, int?gender, [Bind(Prefix = "itemStyles[]")] List <int> itemStyles, [Bind(Prefix = "sleeves[]")] List <int> sleeves, int?mainLicense, int?subLicense, int?holiday, bool hasInitialQty) { LogI("GetFilteredIdList, barcode=" + barcode + ", gender=" + gender + ", itemStyles=" + itemStyles + ", sleeves=" + sleeves + ", mainLicense=" + mainLicense + ", subLicense=" + subLicense + ", hasInitialQty=" + hasInitialQty); var searchFilter = new StyleSearchFilterViewModel() { Barcode = StringHelper.TrimWhitespace(barcode), Gender = gender, ItemStyles = itemStyles, Sleeves = sleeves, HolidayId = holiday, MainLicense = mainLicense, SubLicense = subLicense, HasInitialQty = hasInitialQty }; var idList = StyleViewModel.GetIdListByFilters(Db, searchFilter); return(Json(ValueResult <IEnumerable <long> > .Success("", idList), JsonRequestBehavior.AllowGet)); }
public virtual ActionResult GetSystemMessages() { var messages = SystemMessageViewModel.GetAll(DbFactory); return(Json(ValueResult <IList <SystemMessageViewModel> > .Success("", messages), JsonRequestBehavior.AllowGet)); }
public virtual ActionResult GetSystemStatus() { var model = new SyncStatusViewModel(Settings, DbFactory); return(Json(ValueResult <SyncStatusViewModel> .Success("", model), JsonRequestBehavior.AllowGet)); }
public virtual ActionResult GetAll(long styleItemId) { LogI("GetInventoryHistory, styleItemId=" + styleItemId); //request.Sorts = new List<SortDescriptor>() //{ // new SortDescriptor("UpdateDate", ListSortDirection.Descending) //}; IList <IHistoryRecord> items; items = StyleSizeActionHistoryRecordViewModel.GetRecords(Db, styleItemId, new[] { "AddPermancentSale", "AddSale", "RemoveSale" }).ToList(); items.AddRange(ListingPriceHistoryRecordViewModel.GetRecords(Db, styleItemId).ToList()); items = items.OrderByDescending(i => i.When).ToList(); foreach (var item in items) { item.Prepare(); } //var dataSource = items.ToDataSourceResult(request); return(JsonGet(ValueResult <IList <IHistoryRecord> > .Success("", items.ToList()))); }
public virtual ActionResult AttachStyleImage(string styleId) { LogI("AttachStyleImage, styleId=" + styleId); var attachment = EmailAttachmentViewModel.GetStyleImageAsAttachment(Db, LogService, Time, styleId); return(JsonGet(ValueResult <EmailAttachmentViewModel> .Success("", attachment))); }
public virtual ActionResult SetCustomShipping(long orderId, IList <CustomShippingItemViewModel> items) { LogI("SetCustomShipping, orderId=" + orderId + ", items=" + String.Join(", ", items.Select(i => i.ToString()).ToList())); var rateProviders = ServiceFactory.GetShipmentProviders(LogService, Time, DbFactory, WeightService, AccessManager.Company.ShipmentProviderInfoList, null, null, null, null); var result = CustomShippingItemViewModel.Apply(Db, LogService, Time, WeightService, orderId, rateProviders, CompanyAddress.GetReturnAddress(MarketIdentifier.Empty()), CompanyAddress.GetPickupAddress(MarketIdentifier.Empty()), items, AccessManager.IsFulfilment); if (result.IsSuccess) { return(JsonGet(ValueResult <IList <SelectListShippingOption> > .Success("", result.Data))); } return(JsonGet(ValueResult <IList <SelectListShippingOption> > .Error(result.Message))); }
public virtual ActionResult DeleteFeed(long id) { LogI("DeleteFeed, id=" + id); CustomIncomingFeedViewModel.Delete(DbFactory, id); return(JsonGet(ValueResult <long> .Success("", id))); }
public virtual ActionResult SetFinishStatus(long id, bool isFinished) { LogI("Finish, id=" + id); ShipmentPickListViewModel.SetFinishStatus(DbFactory, ActionService, id, isFinished, Time.GetAmazonNowTime(), AccessManager.UserId); return(JsonGet(ValueResult <bool> .Success())); }
public virtual ActionResult GetListingByStyleSize(long styleItemId, long?selectedListingId, ShipmentsTypeEnum shipmenttype) { LogI("GetListingByStyleSize, styleItemId=" + styleItemId); var list = ShipmentPickListViewModel.GetListingByStyleSize(Db, styleItemId, selectedListingId, shipmenttype); return(JsonGet(ValueResult <IList <SelectListItemTag> > .Success("", list))); }
public virtual ActionResult GetStylePopoverInfo(string styleId, long?listingId) { LogI("GetStylePopoverInfo, styleId=" + styleId + ", listingId=" + listingId); var model = StylePopoverInfoViewModel.GetForStyle(Db, styleId, listingId); return(JsonGet(ValueResult <StylePopoverInfoViewModel> .Success("", model))); }
public virtual ActionResult GetCustomShipping(long orderId, long?defaultShippingMethodId) { LogI("GetCustomShipping, orderId=" + orderId + ", defaultShippingMethodId=" + defaultShippingMethodId); var model = CustomShippingViewModel.Get(Db, orderId, defaultShippingMethodId); return(JsonGet(ValueResult <CustomShippingViewModel> .Success("", model))); }
public virtual ActionResult PauseUpdate(MarketType?market, string marketplaceId) { LogI("PauseUpdate, market=" + market + ", marketplaceId=" + marketplaceId); var pauseState = Settings.GetListingsSyncPause(market ?? MarketType.Amazon, marketplaceId) ?? false; LogI("PauseUpdate, pause=" + pauseState); Settings.SetListingsSyncPause(!pauseState, market ?? MarketType.Amazon, marketplaceId); return(JsonGet(ValueResult <bool> .Success("", !pauseState))); }
public virtual ActionResult GetUnusedBarcodeForStyleItem(long styleItemId, int market, string marketplaceId) { LogI("GetUnusedBarcodeForStyleItemId"); var barcode = ItemEditViewModel.GetUnusedBarcodeForStyleItem(Db, styleItemId, (MarketType)market, marketplaceId); return(JsonGet(ValueResult <string> .Success("", barcode))); }
public virtual ActionResult GetCloseoutForm() { LogI("GetCloseoutForm"); var marketplaceManager = new MarketplaceKeeper(DbFactory, false); marketplaceManager.Init(); IMarketApi mbgApi = new MarketFactory(marketplaceManager.GetAll(), Time, LogService, DbFactory, null) .GetApi((AccessManager.Company ?? AccessManager.DefaultCompany).Id, MarketType.DropShipper, MarketplaceKeeper.DsToMBG); //NOTE: Direct from Marketplaces because TMX is hidden (in active marketplace) IMarketApi tmxApi = new MarketFactory(Db.Marketplaces.GetAllAsDto(), Time, LogService, DbFactory, null) .GetApi((AccessManager.Company ?? AccessManager.DefaultCompany).Id, MarketType.DropShipper, MarketplaceKeeper.DsToTMX); var shipmentProvider = ServiceFactory.GetShipmentProviderByType( ShipmentProviderType.IBC, LogService, Time, DbFactory, WeightService, AccessManager.Company.ShipmentProviderInfoList, AppSettings.DefaultCustomType, AppSettings.LabelDirectory, AppSettings.ReserveDirectory, AppSettings.TemplateDirectory); var model = new IbcCloseoutFormViewModel(LogService, Time); var result = model.Closeout(Db, shipmentProvider, new List <DropShipperApi>() { (DropShipperApi)mbgApi, (DropShipperApi)tmxApi }, PdfMaker, AppSettings.LabelDirectory, AppSettings.IsSampleLabels, AccessManager.UserId); var cacheToRemove = Url.Action("GetInfo", "IbcCloseoutController"); HttpResponse.RemoveOutputCacheItem(path: cacheToRemove); if (result.IsSuccess) { return(JsonGet(ValueResult <string> .Success("", result.Data))); } else { return(JsonGet(ValueResult <string> .Error(result.Message))); } }
public virtual ActionResult GetListingErrorsByPeriod(int periodType) { var model = ListingErrorsByDateGraphViewModel.Build(Db, (ListingErrorsByDateGraphViewModel.PeriodType)periodType); return(new JsonResult { Data = ValueResult <ListingErrorsByDateGraphViewModel> .Success("", model), JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public virtual ActionResult GetAllUnshippedInfo() { //NOTE: Not USED, for future refactoring! LogI("GetAllUnshippedInfo"); var items = OrderInfoViewModel.GetAll(Db, LogService, WeightService, null); return(Json(ValueResult <IList <OrderInfoViewModel> > .Success("", items), JsonRequestBehavior.AllowGet)); }
public virtual ActionResult GetCloseoutForm() { LogI("GetCloseoutForm"); var marketplaceManager = new MarketplaceKeeper(DbFactory, false); marketplaceManager.Init(); IMarketApi mbgApi = new MarketFactory(marketplaceManager.GetAll(), Time, LogService, DbFactory, null) .GetApi((AccessManager.Company ?? AccessManager.DefaultCompany).Id, MarketType.DropShipper, MarketplaceKeeper.DsToMBG); IMarketApi tmxApi = new MarketFactory(marketplaceManager.GetAll(), Time, LogService, DbFactory, null) .GetApi((AccessManager.Company ?? AccessManager.DefaultCompany).Id, MarketType.DropShipper, MarketplaceKeeper.DsToTMX); var shipmentProvider = ServiceFactory.GetShipmentProviderByType( ShipmentProviderType.IBC, LogService, Time, DbFactory, WeightService, AccessManager.Company.ShipmentProviderInfoList, AppSettings.DefaultCustomType, AppSettings.LabelDirectory, AppSettings.ReserveDirectory, AppSettings.TemplateDirectory); var externalApis = new List <DropShipperApi>(); if (mbgApi != null) { externalApis.Add((DropShipperApi)mbgApi); } if (tmxApi != null) { externalApis.Add((DropShipperApi)tmxApi); } var model = new IbcCloseoutFormViewModel(LogService, Time); var result = model.Closeout(Db, shipmentProvider, externalApis, PdfMaker, AppSettings.LabelDirectory, AppSettings.IsSampleLabels, AccessManager.UserId); if (result.IsSuccess) { return(JsonGet(ValueResult <string> .Success("", result.Data))); } else { return(JsonGet(ValueResult <string> .Error(result.Message))); } }
public virtual ActionResult GetShippingByCarrier(int periodType, string selectedCarrier) { var model = ShippingByCarrierGraphViewModel.Build(Db, (ShippingByCarrierGraphViewModel.PeriodType)periodType, selectedCarrier); return(new JsonResult { Data = ValueResult <ShippingByCarrierGraphViewModel> .Success("", model), JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public virtual ActionResult GetSalesByProductType(int periodType, int valueType) { var model = SalesByProductTypeGraphViewModel.Build(Db, (SalesByProductTypeGraphViewModel.PeriodType)periodType, (SalesByProductTypeGraphViewModel.ValueType)valueType); return(new JsonResult { Data = ValueResult <SalesByDateGraphViewModel> .Success("", model), JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public virtual ActionResult DeleteStyle(long id) { LogI("DeleteStyle, Id=" + id); var record = Db.Styles.Get(id); record.Deleted = true; Db.Items.DeleteAnyLinksToStyleId(id); Db.Commit(); return(Json(ValueResult <long> .Success("", id), JsonRequestBehavior.AllowGet)); }
public virtual ActionResult GetOrderById(long orderId) { var rowOrderDto = Db.ItemOrderMappings.GetOrderWithItems(WeightService, orderId, false, true, unmaskReferenceStyles: true); //NOTE: Unmask for display var rowModel = new OrderViewModel(rowOrderDto, AccessManager.IsFulfilment); rowModel.Items = rowOrderDto.Items.Select(i => new OrderItemViewModel(i, rowOrderDto.OnHold, ShippingUtils.IsOrderPartial(rowOrderDto.OrderStatus))).ToList(); return(JsonGet(ValueResult <OrderViewModel> .Success("", rowModel))); }
public virtual ActionResult ReplaceStyleImage(long id) { LogI("ReplaceStyleImage, itemImageId=" + id); var result = MarketImageViewModel.ReplaceStyleImage(Db, LogService, id, Time.GetAppNowTime(), AccessManager.UserId); if (result.IsSuccess) { return(JsonGet(ValueResult <string> .Success(result.Data))); } return(JsonGet(ValueResult <string> .Error(result.Message))); }
public virtual ActionResult MarkAsReviewed(long emailId, string orderNumber) { LogI("MarkAsReviewed, emailId=" + emailId + ", orderNumber=" + orderNumber); EmailViewModel.SetReviewedStatus(Db, emailId, true, OrderHistoryService, orderNumber, Time.GetAppNowTime(), AccessManager.UserId); return(JsonGet(ValueResult <bool> .Success(null, true))); }
public virtual ActionResult GetInventoryByFeature(int featureId, int valueType, int?selectedFeatureId) { var model = ItemsByFeatureTypeGraphViewModel.Build(Db, (ItemsByFeatureTypeGraphViewModel.ValueType)valueType, featureId, selectedFeatureId); return(new JsonResult { Data = ValueResult <ItemsByFeatureTypeGraphViewModel> .Success("", model), JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public virtual ActionResult GetAll(long styleItemId, bool includeSnapshoot) { LogI("GetInventoryHistory, styleItemId=" + styleItemId + ", includeSnapshoot=" + includeSnapshoot); //request.Sorts = new List<SortDescriptor>() //{ // new SortDescriptor("UpdateDate", ListSortDirection.Descending) //}; var items = StyleSizeInventoryHistoryRecordViewModel.GetRecords(Db, styleItemId, includeSnapshoot); //var dataSource = items.ToDataSourceResult(request); return(JsonGet(ValueResult <IList <StyleSizeInventoryHistoryRecordViewModel> > .Success("", items.Take(50).ToList()))); }
public virtual ActionResult SetListingsForStyleSize(long styleItemId, IList <MarketPriceEditViewModel> markets) { LogI("SetListingForStyleSize, styleItemId=" + styleItemId + ", markets=" + (markets != null ? String.Join("\r\n", markets.Select(m => m.ToString())) : "-")); var results = MarketPriceEditViewModel.ApplySale(Db, LogService, styleItemId, markets, Time.GetAppNowTime(), AccessManager.UserId); return(JsonGet(ValueResult <IList <MarketPriceViewViewModel> > .Success("", results))); }