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!"); }
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)); }
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); }
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(); }