public JsonResult ReportTheFire([FromBody] ReportTheFireParameterDTO param) { var response = new ReportTheFireResponseDTO { }; //check secret user id if (checkSecretUserId(param.SecretUserId)) { using (var context = new IsfContext()) { var added = context.Reports.Add( new Report { SecretUserId = param.SecretUserId, Longitude = param.Longitude, Latitude = param.Latitude, TextOfComment = param.TextOfComment, Timestamp = DateTime.UtcNow, Distance = param.Distance } ); context.SaveChanges(); response.ReportId = added.Entity.ReportId; } } else { response.Error = $"Unknown secret user id: \"{param.SecretUserId}\""; } return(new JsonResult(response)); }
private JsonResult downloadNasaFileAndImportInDb(string path) { DownloadFilesFromNASAResponseDTO response = new DownloadFilesFromNASAResponseDTO { }; if (isLastImportNASAFilesDateIsActual()) { response.Error = "No need to import NASA files."; return(new JsonResult(response)); } using (var client = new WebClient()) { try { MemoryStream stream = new MemoryStream(client.DownloadData(path)); var result = parseNasaDataCSV(stream); using (var context = new IsfContext()) { try { context.NasaFireReports.AddRange(result); context.SaveChanges(); response.PathProcessed = path; response.RowsImported = result.Count; } catch (Exception ex) { Console.WriteLine(ex.Message); } } } catch (Exception ex) { Console.WriteLine(ex.Message); } } return(new JsonResult(response)); }
public JsonResult GetSecretUserId() { var userId = Guid.NewGuid().ToString(); using (var context = new IsfContext()) { context.Users.Add(new User() { UserId = userId }); context.SaveChanges(); } var response = new GetSecretUserIdResponseDTO { SecretUserId = userId }; return(new JsonResult(response)); }
public JsonResult UpdateProfile([FromBody] UpdateProfileParameterDTO updateData) { using (var context = new IsfContext()) { User user = context .Users .Where(q => q.UserId == updateData.SecretUserId) .First(); user.Phone = updateData.Phone; user.Name = updateData.Name; context.SaveChanges(); } var response = new ResponseDTO() { Error = null }; return(new JsonResult(response)); }
public JsonResult UploadImage() { string SecretUserId = ""; string ReportId = ""; var newFileName = string.Empty; var response = new UploadImageResponseDTO() { TotalUploadedSize = 0 }; if (HttpContext.Request.Form.ContainsKey("SecretUserId")) { SecretUserId = HttpContext.Request.Form["SecretUserId"]; } if (HttpContext.Request.Form.ContainsKey("ReportId")) { ReportId = HttpContext.Request.Form["ReportId"]; } int parsedReportId = 0; bool parseResult = int.TryParse(ReportId, out parsedReportId); if (!parseResult) { response.Error = "Failed to parse ReportId"; return(new JsonResult(response)); } using (var context = new IsfContext()) { var findResult = context.Reports.FirstOrDefault(x => x.SecretUserId == SecretUserId && x.ReportId == parsedReportId); if (findResult == null) { response.Error = "No such portfolio binded to specified user."; return(new JsonResult(response)); } } if (HttpContext.Request.Form.Files != null) { var fileName = string.Empty; string PathDB = string.Empty; var files = HttpContext.Request.Form.Files; //Assigning Unique Filename (Guid) var myUniqueFileName = Convert.ToString(Guid.NewGuid()); string FileExtension = ""; using (var fs = new System.IO.MemoryStream()) { foreach (var file in files) { if (file.Length > 0) { //Getting FileName fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"'); //Getting file Extension FileExtension = Path.GetExtension(fileName); file.CopyTo(fs); } } newFileName = myUniqueFileName + FileExtension; string pathToImage = System.IO.Path.Combine("./Images/", newFileName); try { using (var fileWrite = new FileStream(pathToImage, FileMode.CreateNew)) { var bytes = fs.ToArray(); fileWrite.Write(bytes, 0, bytes.Length); fileWrite.Flush(); response.TotalUploadedSize = bytes.Length; response.GeneratedImageName = $"fileName: {pathToImage}, SecretUser: {SecretUserId}, Report: {ReportId}"; } using (var context = new IsfContext()) { var findResult = context.Reports.FirstOrDefault(x => x.SecretUserId == SecretUserId && x.ReportId == parsedReportId); findResult.ImagePath = newFileName; context.SaveChanges(); } } catch (Exception ex) { Console.WriteLine(ex.Message); response.Error = "Failed to save image file"; return(new JsonResult(response)); } } } return(new JsonResult(response)); }