public async Task CreateDemo(DemoDto demoDto, string filePath) { var blobKey = demoDto.FileName; var blobServiceClient = new BlobServiceClient(_options.StorageConnectionString); var containerClient = blobServiceClient.GetBlobContainerClient(_options.StorageContainerName); await containerClient.CreateIfNotExistsAsync(PublicAccessType.Blob); var blobClient = containerClient.GetBlobClient(blobKey); var data = File.ReadAllBytes(filePath); await blobClient.UploadAsync(new MemoryStream(data)); var demo = new Demoes { DemoId = Guid.NewGuid(), Game = demoDto.Game, Name = demoDto.Name, FileName = demoDto.FileName, Date = demoDto.Date, Map = demoDto.Map, Mod = demoDto.Mod, GameType = demoDto.GameType, Server = demoDto.Server, Size = demoDto.Size, User = await _legacyContext.AspNetUsers.SingleAsync(u => u.XtremeIdiotsId == demoDto.UserId) }; _legacyContext.Demoes.Add(demo); await _legacyContext.SaveChangesAsync(); }
public ActionResult <string> saveData(DemoDto data) { DemoDBContext dc = new DemoDBContext(); bool result = dc.saveData(data).GetAwaiter().GetResult(); if (result) { return("OK"); } return("ERROR"); }
internal async Task <bool> saveData(DemoDto data) { Demo new_item = new Demo() { _id = ObjectId.GenerateNewId(), demo_user_name = data.demo_user_name, demo_user_age = data.demo_user_age, }; bool result = await CreateAsync(new_item); return(result); }
public IActionResult GetDemo(DemoLanguage language, string categoryName, string demoName) { var demo = _demoContainer.GetDemo(language, categoryName, demoName); if (demo == null) { return(NotFound()); } var dto = DemoDto.FromModel(demo); dto.StudioUrl = GetStudioUrl(demo); return(Ok(dto)); }
public PortalDemoDto(DemoDto demo) { DemoId = demo.DemoId; Game = demo.Game.ToString(); Name = demo.Name; FileName = demo.FileName; Date = demo.Date; Map = demo.Map; Mod = demo.Mod; GameType = demo.GameType; Server = demo.Server; Size = demo.Size; UserId = demo.UserId; UploadedBy = demo.UploadedBy; }
public async Task <IActionResult> Export() { try { var demoDto = new DemoDto() { Welcome = "Lorem Ipsum", HelloWorld = "Hello World!!!" }; return(Ok(demoDto)); } catch (Exception ex) { //log the exception return(BadRequest()); } }
public IActionResult GetDemo(DemoLanguage language, string categoryName, string demoName) { try { var demo = _demoContainer.GetDemo(language, categoryName, demoName); var dto = DemoDto.FromModel(demo); dto.StudioUrl = GetStudioUrl(demo); return(Ok(dto)); } catch (InvalidOperationException e) { _logger.LogError(e, "An error occured during demo fetching."); return(NotFound()); } }
internal async Task <IEnumerable <DemoDto> > getAllData() { var fetch_data = await SelectAllAsync(); List <DemoDto> result_list = new List <DemoDto>(); fetch_data.ForEach(p => { DemoDto new_item = new DemoDto() { demo_user_name = p.demo_user_name, demo_user_age = p.demo_user_age, }; result_list.Add(new_item); }); return(result_list); }
public static DemoDto ToDto(this Demoes demo) { var demoDto = new DemoDto { DemoId = demo.DemoId, Game = demo.Game, Name = demo.Name, FileName = demo.FileName, Date = demo.Date, Map = demo.Map, Mod = demo.Mod, GameType = demo.GameType, Server = demo.Server, Size = demo.Size, UserId = demo.User.XtremeIdiotsId, UploadedBy = demo.User.UserName }; return(demoDto); }
async Task <DemoDto> GetDemoAsync(string path) { HttpClient client = new HttpClient(); // Update port # in the following line. var baseUrl = _config.GetValue <string>("HttpUrl:Demo"); client.BaseAddress = new Uri(baseUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); DemoDto demo = null; HttpResponseMessage response = await client.GetAsync(path); if (response.IsSuccessStatusCode) { var content = await response.Content.ReadAsStringAsync(); demo = JsonConvert.DeserializeObject <DemoDto>(content); } return(demo); }
public IActionResult ModelValidationDemo(DemoDto dto) { return(Ok(dto)); }
public IActionResult Name([FromBody] DemoDto name) { return(View(name)); }
public IActionResult Demo([FromBody] DemoDto demo) { return(View(demo)); }
public async Task <ActionResult> ClientUploadDemo(IFormFile file) { if (!Request.Headers.ContainsKey("demo-manager-auth-key")) { return(Content("AuthError: No auth key provided in the request. This should be set in the client.")); } var authKey = Request.Headers["demo-manager-auth-key"].FirstOrDefault(); if (string.IsNullOrWhiteSpace(authKey)) { _logger.LogDebug(EventIds.DemoManager, "ClientUploadDemo - Auth key header supplied was empty"); return(Content("AuthError: The auth key supplied was empty. This should be set in the client.")); } var userId = await _demoAuthRepository.GetUserId(authKey); if (userId == null) { return(Content("AuthError: Your auth key is incorrect, check the portal for the correct one and re-enter it on your client.")); } var user = await _userManager.FindByIdAsync(userId); if (file == null || file.Length == 0) { return(Content("You must provide a file to be uploaded")); } var whitelistedExtensions = new List <string> { ".dm_1", ".dm_6" }; if (!whitelistedExtensions.Any(ext => file.FileName.EndsWith(ext))) { return(Content("Invalid file type - this must be a demo file")); } var gameTypeHeader = Request.Headers["demo-manager-game-type"].ToString(); Enum.TryParse(gameTypeHeader, out GameType gameType); var fileName = $"{Guid.NewGuid().ToString()}.{gameType.DemoExtension()}"; var path = Path.Combine(Path.GetTempPath(), fileName); await using (var fileStream = new FileStream(path, FileMode.Create)) { await file.CopyToAsync(fileStream); } var localDemo = new LocalDemo(path, gameType); var frontEndFileName = Path.GetFileNameWithoutExtension(file.FileName); var demoDto = new DemoDto { Game = gameType, Name = frontEndFileName, FileName = fileName, Date = localDemo.Date, Map = localDemo.Map, Mod = localDemo.Mod, GameType = localDemo.GameType, Server = localDemo.Server, Size = localDemo.Size, UserId = user.Id }; await _demosRepository.CreateDemo(demoDto, path); _logger.LogInformation(EventIds.DemoManager, "User {Username} has uploaded a new demo {FileName}", user.UserName, demoDto.FileName); return(Ok()); }