public async Task <ActionResult> DownloadFile(int fileId)
        {
            FileService fileService = new FileService(new FileRepository());

            FileFromJson.File file = await fileService.GetFileJsonAsync(fileId);

            return(File(Convert.FromBase64String(file.content), System.Net.Mime.MediaTypeNames.Application.Octet, file.filename));
        }
示例#2
0
        public async Task <ActionResult> Show(int id)
        {
            FileFromJson.File file = await fileService.GetFileJsonAsync(id);

            var bytes = Convert.FromBase64String(file.content);

            return(File(bytes, "image/jpg"));
        }
示例#3
0
        public async Task <ActionResult> AddNewExpo(ExposViewModel _exposViewModel, string redirectUrl, HttpPostedFileBase uploadImage)
        {
            if (!ModelState.IsValid)
            {
                return(View(_exposViewModel));
            }
            var expo = new Expos
            {
                expoName    = _exposViewModel.ExpoName,
                startDate   = _exposViewModel.DateStart,
                endDate     = _exposViewModel.DateEnd,
                description = _exposViewModel.Description,
            };
            FileRepository fileRepository = new FileRepository();

            byte[] bytes;
            if (_exposViewModel.logoFile != null)
            {
                using (Stream inputStream = _exposViewModel.logoFile.InputStream)
                {
                    MemoryStream memoryStream = inputStream as MemoryStream;
                    if (memoryStream == null)
                    {
                        memoryStream = new MemoryStream();
                        inputStream.CopyTo(memoryStream);
                    }
                    bytes = memoryStream.ToArray();
                }
                //Byte[] bytes = _exposViewModel.logoFile.//System.IO.File.ReadAllBytes(expos.logoFile);
                String            fileBase64 = Convert.ToBase64String(bytes);
                FileFromJson.File file       = new FileFromJson.File()
                {
                    authorId = Convert.ToInt16(Session["UserId"]),
                    content  = fileBase64,
                    filename = _exposViewModel.logoFile.FileName,
                    fileType = "logo",
                    dateTime = DateTimeOffset.Now
                };
                file = await fileRepository.AddFileFromJsonAsync(file);

                expo.logoFileId = file.fileId;
            }
            switch (Properties.Settings.Default.GetDataFrom)
            {
            case "db":

                await expoService.AddExpoAsync(expo);

                break;

            case "Json":
                await expoService.AddExpoFromJsonAsync(expo);

                break;
            }
            return(RedirectToLocal(redirectUrl));
        }
        public async Task <ActionResult> GetFileFromExpoFile(List <ExpoFilesFromJson.ExpoFiles> expoFilesFromJson)
        {
            List <FileFromJson.File> fileFromJsons = new List <FileFromJson.File>();
            FileService fileService = new FileService(new FileRepository());

            foreach (ExpoFilesFromJson.ExpoFiles expoFile in expoFilesFromJson)
            {
                FileFromJson.File file = await fileService.GetFileJsonAsync(expoFile.fileId);

                fileFromJsons.Add(file);
            }

            return(View(fileFromJsons));
        }
        public async Task <ActionResult> addFile(ExposFilesViewModel exposFilesViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(exposFilesViewModel));
            }
            var expoFile = new ExpoFilesFromJson.ExpoFiles()
            {
                expoId = exposFilesViewModel.expoId
            };
            FileRepository fileRepository = new FileRepository();

            byte[] bytes;
            if (exposFilesViewModel.file != null)
            {
                using (Stream inputStream = exposFilesViewModel.file.InputStream)
                {
                    MemoryStream memoryStream = inputStream as MemoryStream;
                    if (memoryStream == null)
                    {
                        memoryStream = new MemoryStream();
                        inputStream.CopyTo(memoryStream);
                    }
                    bytes = memoryStream.ToArray();
                }

                String            fileBase64 = Convert.ToBase64String(bytes);
                FileFromJson.File file       = new FileFromJson.File()
                {
                    authorId = Convert.ToInt16(Session["UserId"]),
                    content  = fileBase64,
                    filename = exposFilesViewModel.file.FileName,
                    fileType = "file",
                    dateTime = DateTimeOffset.Now
                };
                file = await fileRepository.AddFileFromJsonAsync(file);

                expoFile.fileId = file.fileId;
            }
            await expoFilesService.AddExpoFilesFromJsonAsync(expoFile, "expoFile");

            return(RedirectToLocal(exposFilesViewModel.RedirectUrl));
        }
示例#6
0
        public async Task <FileFromJson.File> GetFileJsonAsync(int _fileId)
        {
            FileFromJson.File file = null;
            switch (Properties.Settings.Default.GetDataFrom)
            {
            case "Json":
                string json = await GRADEXPO.HttpClient.Browser.GetAsync(string.Format("{0}{1}({2})", Properties.Settings.Default.BaseUrlApi,
                                                                                       Properties.Settings.Default.postfixGetFile,
                                                                                       _fileId));

                file = await Task.Factory.StartNew(() => JsonConvert.DeserializeObject <FileFromJson.File>(json));

                break;
                break;

            default:
                throw new System.Exception(string.Format("Приложение не умеет работать с типом данных {0}. Если вам нужно работать с такими типом данным, обратитесь к разработчику", Properties.Settings.Default.GetDataFrom));
            }

            return(file);
        }
示例#7
0
        public async Task <FileFromJson.File> AddFileFromJsonAsync(FileFromJson.File _file)
        {
            FileFromJson.File newFile = null;
            switch (Properties.Settings.Default.GetDataFrom)
            {
            case "Json":
                string json = JsonConvert.SerializeObject(_file, new JsonSerializerSettings {
                    NullValueHandling = NullValueHandling.Ignore, DefaultValueHandling = DefaultValueHandling.Ignore
                });
                string res = await HttpClient.Browser.ByMethodAsync(string.Format("{0}{1}", Properties.Settings.Default.BaseUrlApi, Properties.Settings.Default.postfixGetFile), json, "POST");

                newFile = await Task.Factory.StartNew(() => JsonConvert.DeserializeObject <FileFromJson.File>(res));

                break;

            default:
                throw new System.Exception(string.Format("Приложение не умеет работать с типом данных {0}. Если вам нужно работать с такими типом данным, обратитесь к разработчику", Properties.Settings.Default.GetDataFrom));
            }

            return(newFile);
        }
示例#8
0
        public async Task <ActionResult> addFile(ImageViewModel imageViewModel)
        {
            FileRepository fileRepository = new FileRepository();

            byte[] bytes;
            if (imageViewModel.photoFile != null)
            {
                using (Stream inputStream = imageViewModel.photoFile.InputStream)
                {
                    MemoryStream memoryStream = inputStream as MemoryStream;
                    if (memoryStream == null)
                    {
                        memoryStream = new MemoryStream();
                        inputStream.CopyTo(memoryStream);
                    }
                    bytes = memoryStream.ToArray();
                }

                String            fileBase64 = Convert.ToBase64String(bytes);
                FileFromJson.File file       = new FileFromJson.File()
                {
                    authorId = Convert.ToInt16(Session["UserId"]),
                    content  = fileBase64,
                    filename = imageViewModel.photoFile.FileName,
                    fileType = "img",
                    dateTime = DateTimeOffset.Now
                };
                file = await fileRepository.AddFileFromJsonAsync(file);

                ExpoFilesFromJson.ExpoFiles expoFiles = new ExpoFilesFromJson.ExpoFiles()
                {
                    fileId = file.fileId,
                    expoId = imageViewModel.expoId
                };
                ExpoFilesRepository filesRepository = new ExpoFilesRepository();
                await filesRepository.AddExpoFilesFromJsonAsync(expoFiles, "photoExpo");
            }

            return(RedirectToLocal(imageViewModel.RedirectUrl));
        }
示例#9
0
 public async Task <FileFromJson.File> AddFileFromJsonAsync(FileFromJson.File _file)
 {
     return(await fileRepository.AddFileFromJsonAsync(_file));
 }