Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }