Beispiel #1
0
        public static void Main(string[] args)
        {
            TypeDescriptor.AddAttributes(typeof(Uuid), new TypeConverterAttribute(typeof(StringToUuidConv)));

            // Init Logging
            var log = new LoggerConfiguration()
                      .WriteTo.Console()
                      .WriteTo.File("logs/debug.txt", rollingInterval: RollingInterval.Day, rollOnFileSizeLimit: true, fileSizeLimitBytes: 8338607, outputTemplate: "{Timestamp:HH:mm:ss.fff} [{Level:u3}] {Message:lj}{NewLine}{Exception}")
                      .MinimumLevel.Debug()
                      .CreateLogger();

            Log.Logger = log;

            //Initialize state singleton from config
            StateSingleton.Instance.config              = ServerConfig.getFromFile();
            StateSingleton.Instance.catalog             = CatalogResponse.FromFiles(StateSingleton.Instance.config.itemsFolderLocation, StateSingleton.Instance.config.efficiencyCategoriesFolderLocation);
            StateSingleton.Instance.recipes             = Recipes.FromFile(StateSingleton.Instance.config.recipesFileLocation);
            StateSingleton.Instance.settings            = SettingsResponse.FromFile(StateSingleton.Instance.config.settingsFileLocation);
            StateSingleton.Instance.seasonChallenges    = ChallengesResponse.FromFile(StateSingleton.Instance.config.seasonChallengesFileLocation);
            StateSingleton.Instance.productCatalog      = ProductCatalogResponse.FromFile(StateSingleton.Instance.config.productCatalogFileLocation);
            StateSingleton.Instance.tappableData        = TappableUtils.loadAllTappableSets();
            StateSingleton.Instance.activeTappableTypes = new Dictionary <Guid, string>();
            //Start api
            CreateHostBuilder(args).Build().Run();

            Log.Information("Server started!");
        }
Beispiel #2
0
 public CatalogResponse GetCatalog()
 {
     try
     {
         using (var client = new HttpClient())
         {
             var url     = $"{ConfigurationManager.AppSettings["EPayApi"]}";
             var request = new CatalogRequest();
             var xml     = request.ToString();
             using (var stringContent = new StringContent(xml, Encoding.UTF8, "application/xml"))
             {
                 var resp = client.PostAsync(url, stringContent).Result;
                 resp.EnsureSuccessStatusCode();
                 var resultXML = resp.Content.ReadAsStringAsync().Result;
                 var response  = CatalogResponse.LoadFromXML(resultXML);
                 if (response.Result != "0")
                 {
                     throw new Exception($"ERRO AO CHAMAR DE API DE CATALOGO EPAY - " + response.ResultText);
                 }
                 return(response);
             }
         }
     }
     catch (Exception ex)
     {
         var path = Path.Combine(Environment.CurrentDirectory, "Logs", DateTime.Now.ToString("yyyyMMdd") + ".log");
         File.WriteAllText(path, ex.ToString(), Encoding.UTF8);
         throw new Exception($"ERRO AO CHAMAR DE VENDAS EPAY", ex);
     }
 }
        public IHttpActionResult Get()
        {
            var response = new CatalogResponse();

            response.Services.AddRange(servicesCatalog.Services.Values.Select(x => x.Service));

            return(Ok(response));
        }
Beispiel #4
0
        private static CatalogResponse MapToCatalogResponse(IEnumerable <Product> products)
        {
            var response = new CatalogResponse();

            foreach (var product in products)
            {
                response.Items.Add(new CatalogItemResponse
                {
                    Name        = product.Name,
                    Price       = (double)product.Price,
                    Image       = product.Image,
                    Description = product.Description
                });
            }

            return(response);
        }
Beispiel #5
0
        private static List <ProductViewModel> MapToProduct(CatalogResponse catalogResponse)
        {
            var products = new List <ProductViewModel>();

            foreach (var item in catalogResponse.Items)
            {
                products.Add(new ProductViewModel
                {
                    Name        = item.Name,
                    Price       = (decimal)item.Price,
                    Image       = item.Image,
                    Description = item.Description
                });
            }

            return(products);
        }
        public CatalogRepositoryTests()
        {
            var logger = new Mock <ILogger>();

            var builder = new WebHostBuilder()
                          .UseEnvironment("UnitTesting")
                          .UseStartup <Startup>();

            var server = new TestServer(builder);

            _context = server.Host.Services.GetService(typeof(CatalogContext)) as CatalogContext;

            _repository = new CatalogRepository(_context, logger.Object);

            _catalogBrands   = TestCatalog.CreateBrands();
            _catalogTypes    = TestCatalog.CreateTypes();
            _catalogResponse = TestCatalog.CreateItems();

            _context.AddRange(_catalogBrands);
            _context.AddRange(_catalogTypes);
            _context.AddRange(_catalogResponse.ItemsOnPage);
            _context.SaveChanges();
        }