Ejemplo n.º 1
0
        public virtual JsonResult Upload(long id, ApplicationFileType type, HttpPostedFileBase file)
        {
            var bytes = file.GetBytes();

            var fileId = _files.Add(id, type, file.FileName, bytes);

            AddFileUploadEvent(id, TypesMapping[type], file.FileName, bytes);

            return(Json(new { id = fileId }));
        }
Ejemplo n.º 2
0
        public virtual JsonResult Files(long id, ApplicationFileType type)
        {
            var names = _files.GetNames(id, type);

            ViewBag.ApplicationId = id;

            return(Json(names.Select(x => new
            {
                id = x.Id,
                name = x.Name
            }),
                        JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 3
0
		public virtual JsonResult Files(long id, ApplicationFileType type)
		{
			var names = _files.GetNames(id, type);

			ViewBag.ApplicationId = id;

			return Json(names.Select(x => new
			{
				id = x.Id,
				name = x.Name
			}),
				JsonRequestBehavior.AllowGet);
		}
Ejemplo n.º 4
0
        public ReadOnlyCollection <FileInfo> GetNames(long applicationId, ApplicationFileType type)
        {
            var idsTable   = TableParameters.GeIdsTable("AppIds", new[] { applicationId });
            var parameters = new TableParameters(new { TypeId = type }, idsTable);

            var names = _executor.Array <dynamic>("[dbo].[ApplicationFile_GetNames]", parameters)
                        .Select(x => new FileInfo
            {
                Name = x.Name,
                Id   = x.Id
            }).ToArray();

            return(new ReadOnlyCollection <FileInfo>(names));
        }
Ejemplo n.º 5
0
		public ReadOnlyCollection<FileInfo> GetNames(long applicationId, ApplicationFileType type)
		{
			var idsTable = TableParameters.GeIdsTable("AppIds", new[] { applicationId });
			var parameters = new TableParameters(new { TypeId = type }, idsTable);

			var names = _executor.Array<dynamic>("[dbo].[ApplicationFile_GetNames]", parameters)
				.Select(x => new FileInfo
				{
					Name = x.Name,
					Id = x.Id
				}).ToArray();

			return new ReadOnlyCollection<FileInfo>(names);
		}
        public void Test_GetNames()
        {
            var bytes = _fixture.Create <byte[]>();
            var name  = _fixture.CreateMany <string>(2).OrderBy(x => x).ToArray();
            const ApplicationFileType fileType = (ApplicationFileType)(-1);

            var id1 = _repository.Add(TestConstants.TestApplicationId, fileType, name[0], bytes);
            var id2 = _repository.Add(TestConstants.TestApplicationId, fileType, name[1], bytes);

            var names = _repository.GetNames(TestConstants.TestApplicationId, fileType);

            names.Should().HaveCount(2);
            names[0].Id.ShouldBeEquivalentTo(id1);
            names[1].Id.ShouldBeEquivalentTo(id2);
            names[0].Name.ShouldBeEquivalentTo(name[0]);
            names[1].Name.ShouldBeEquivalentTo(name[1]);
        }
Ejemplo n.º 7
0
        public static string ToString(this ApplicationFileType fileType)
        {
            switch (fileType)
            {
            case ApplicationFileType.Unknown:
                return("Unknown");

            case ApplicationFileType.Bnk:
                return("bnk");

            case ApplicationFileType.Png:
                return("png");

            case ApplicationFileType.Pdf:
                return("pdf");

            default:
                throw new ArgumentOutOfRangeException("fileType");
            }
        }
Ejemplo n.º 8
0
		public ReadOnlyDictionary<long, ReadOnlyCollection<FileInfo>> GetInfo(long[] applicationIds, ApplicationFileType type)
		{
			var idsTable = TableParameters.GeIdsTable("AppIds", applicationIds);
			var parameters = new TableParameters(new { TypeId = type }, idsTable);

			var dictionary = _executor.Array<dynamic>("[dbo].[ApplicationFile_GetNames]", parameters)
				.GroupBy(x => (long)x.ApplicationId)
				.ToDictionary(a => a.Key,
					a =>
					{
						var names = a.Select(x => new FileInfo
						{
							Id = x.Id,
							Name = x.Name
						}).ToArray();

						return new ReadOnlyCollection<FileInfo>(names);
					});

			return new ReadOnlyDictionary<long, ReadOnlyCollection<FileInfo>>(dictionary);
		}
Ejemplo n.º 9
0
 internal ApplicationFileState(string relativePath, ApplicationFileType type, string hash)
 {
     RelativePath = relativePath;
     Type         = type;
     Hash         = hash;
 }
Ejemplo n.º 10
0
		public virtual JsonResult Upload(long id, ApplicationFileType type, HttpPostedFileBase file)
		{
			var bytes = file.GetBytes();

			var fileId = _files.Add(id, type, file.FileName, bytes);

			AddFileUploadEvent(id, TypesMapping[type], file.FileName, bytes);

			return Json(new { id = fileId });
		}
Ejemplo n.º 11
0
 public long Add(long applicationId, ApplicationFileType type, string name, byte[] data)
 {
     return(_executor.Query <long>("[dbo].[ApplicationFile_Add]", new { applicationId, TypeId = type, name, data }));
 }
Ejemplo n.º 12
0
        public ReadOnlyDictionary <long, ReadOnlyCollection <FileInfo> > GetInfo(long[] applicationIds, ApplicationFileType type)
        {
            var idsTable   = TableParameters.GeIdsTable("AppIds", applicationIds);
            var parameters = new TableParameters(new { TypeId = type }, idsTable);

            var dictionary = _executor.Array <dynamic>("[dbo].[ApplicationFile_GetNames]", parameters)
                             .GroupBy(x => (long)x.ApplicationId)
                             .ToDictionary(a => a.Key,
                                           a =>
            {
                var names = a.Select(x => new FileInfo
                {
                    Id   = x.Id,
                    Name = x.Name
                }).ToArray();

                return(new ReadOnlyCollection <FileInfo>(names));
            });

            return(new ReadOnlyDictionary <long, ReadOnlyCollection <FileInfo> >(dictionary));
        }
Ejemplo n.º 13
0
		public long Add(long applicationId, ApplicationFileType type, string name, byte[] data)
		{
			return _executor.Query<long>("[dbo].[ApplicationFile_Add]", new { applicationId, TypeId = type, name, data });
		}