Beispiel #1
0
        public async Task <models.ExpoFilesFromJson.ExpoFiles> AddExpoFilesFromJsonAsync(models.ExpoFilesFromJson.ExpoFiles _expoFilesFromJson, string _type = "fileExpo")
        {
            ExpoFilesFromJson.ExpoFiles expoFiles = null;
            switch (Properties.Settings.Default.GetDataFrom)
            {
            case "Json":
                string json = JsonConvert.SerializeObject(_expoFilesFromJson, new JsonSerializerSettings {
                    NullValueHandling = NullValueHandling.Include, DefaultValueHandling = DefaultValueHandling.Ignore
                });

                string res = "";
                switch (_type)
                {
                case "fileExpo":
                    res = await HttpClient.Browser.ByMethodAsync(string.Format("{0}{1}({2})/{3}", Properties.Settings.Default.BaseUrlApi, Properties.Settings.Default.postfixGetExpo, _expoFilesFromJson.expoId, Properties.Settings.Default.postfixGetFileExpo), json, "POST");

                    break;

                case "photoExpo":
                    res = await HttpClient.Browser.ByMethodAsync(string.Format("{0}{1}({2})/{3}", Properties.Settings.Default.BaseUrlApi, Properties.Settings.Default.postfixGetExpo, _expoFilesFromJson.expoId, Properties.Settings.Default.postfixGetPhoto), json, "POST");

                    break;
                }
                expoFiles = await Task.Factory.StartNew(() => JsonConvert.DeserializeObject <ExpoFilesFromJson.ExpoFiles>(res));

                break;

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

            return(expoFiles);
        }
        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));
        }
        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));
        }
Beispiel #4
0
        public async Task <ExpoFilesFromJson.ExpoFiles> GetExpoFileJsonAsync(int _expoId, int _fileId)
        {
            ExpoFilesFromJson.ExpoFiles expoFiles = null;
            switch (Properties.Settings.Default.GetDataFrom)
            {
            case "Json":
                string json = await GRADEXPO.HttpClient.Browser.GetAsync(string.Format("{0}{1}(fileId = {2}, expoId = {3})", Properties.Settings.Default.BaseUrlApi,
                                                                                       Properties.Settings.Default.postfixGetProject,
                                                                                       _fileId,
                                                                                       _expoId));

                ExpoFilesFromJson.ExpoFiles expoFilesResult = await Task.Factory.StartNew(() => JsonConvert.DeserializeObject <ExpoFilesFromJson.ExpoFiles>(json));

                expoFiles = expoFilesResult;
                break;

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

            return(expoFiles);
        }
Beispiel #5
0
 public async Task <ExpoFilesFromJson.ExpoFiles> AddExpoFilesFromJsonAsync(ExpoFilesFromJson.ExpoFiles _expoFilesFromJson, string _type = "fileExpo")
 {
     return(await expoFilesRepository.AddExpoFilesFromJsonAsync(_expoFilesFromJson, _type));
 }