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)));
            }
        }
Beispiel #2
0
        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)));
            }
        }