예제 #1
0
 public void Join(Content content, ResourceMeta resourceMeta, int num)
 {
     contentResourceMetas.Add(
         DataFactory.CreateContentResourceMeta(content, resourceMeta,
                                               num));
     resourceMetas.Add(resourceMeta);
 }
예제 #2
0
 public static void Clean(ResourceMeta resourceMeta)
 {
     if (resourceMeta.Resource != null)
     {
         resourceMeta.Resource = null;
     }
 }
예제 #3
0
        public static AppUser CreateUser(string firstName,
                                         string lastName, string userName, int points)
        {
            string       email   = firstName + '.' + lastName + "@pretend.com";
            ResourceMeta profile = CreateResourceMeta("DefaultUser.jfif");

            var user = new AppUser()
            {
                FirstName                = firstName,
                LastName                 = lastName,
                Id                       = Guid.NewGuid().ToString(),
                UserName                 = userName,
                NormalizedUserName       = userName.ToUpper(),
                Email                    = email,
                NormalizedEmail          = email.ToUpper(),
                ProfilePicResourceMetaId = profile.ResourceMetaId,
                ProfilePic               = profile,
                Points                   = points,

                //Need this?
                PasswordHash =
                    new PasswordHasher <AppUser>().HashPassword(null, "1234"),
                SecurityStamp = Guid.NewGuid().ToString()
            };

            return(user);
        }
예제 #4
0
        private object Generate(ModuleBuilder moduleBuilder, ResourceMeta resourceMeta)
        {
            var typeBuilder = moduleBuilder.DefineType(resourceMeta.ImplementationClassName,
                                                       TypeAttributes.Class | TypeAttributes.Public
                                                       | TypeAttributes.Sealed, null,
                                                       resourceMeta.ResourceType);

            DefineConstructor(resourceMeta, typeBuilder);
        }
예제 #5
0
 public static ContentResourceMeta CreateContentResourceMeta(
     Content content, ResourceMeta resourceMeta, int num)
 {
     return(new ContentResourceMeta()
     {
         ContentId = content.ContentId,
         ResourceMetaId = resourceMeta.ResourceMetaId,
         Number = num
     });
 }
예제 #6
0
        public static Item CreateItem(string name, string description,
                                      ResourceMeta coverImage, double latitude, double longitude)
        {
            var item = new Item()
            {
                ItemId       = Guid.NewGuid(),
                Name         = name,
                Description  = description,
                CoverImageId = coverImage.ResourceMetaId,
                CoverImage   = coverImage,
                Lattitude    = latitude,
                Longitude    = longitude
            };

            return(item);
        }
        public static FileResult GetFile(ResourceMeta resourceMeta)
        {
            if (resourceMeta == null)
            {
                return(null);
            }

            var resource = resourceMeta.Resource;

            if (resourceMeta.OnDisk)
            {
                //Assuming virtual, havent decided yet, probably virtual....
                return(new VirtualFileResult(resource.FilePath, resourceMeta.MimeType));
            }
            else
            {
                return(new FileContentResult(resource.Data, resourceMeta.MimeType));
            }
        }
예제 #8
0
        public async Task <IActionResult> Post(Guid id, [FromForm] IFormFile photo)
        {
            _logger.LogInformation($"GET Set user photo");

            var user = await _context.AppUser
                       .FirstOrDefaultAsync(u => u.Id == id.ToString());

            if (user == default(AppUser))
            {
                return(NotFound(new Response()
                {
                    Status = "404",
                    Message = "A user with that id does not exist"
                }));
            }

            using var ms = new MemoryStream();
            await photo.CopyToAsync(ms);

            var resource = new Resource()
            {
                Data     = ms.ToArray(),
                FilePath = ""
            };
            var resourceMeta = new ResourceMeta()
            {
                Resource    = resource,
                AddedOn     = DateTime.Now,
                Description = "User avatar",
                Extension   = Path.GetExtension(photo.FileName),
                FileName    = photo.FileName,
                Length      = photo.Length,
                MimeType    = photo.ContentType,
                OnDisk      = false
            };

            _context.Resource.Add(resource);
            user.ProfilePic = resourceMeta;
            await _context.SaveChangesAsync();

            return(NoContent());
        }
예제 #9
0
 public static Reward CreateReward(string name, string value, City city, int threshold, ResourceMeta coverImage)
 {
     return(new Reward()
     {
         RewardId = Guid.NewGuid(),
         Name = name,
         Value = value,
         ExpiryDate = new DateTime(),
         CityId = city.CityId,
         CountThreshold = threshold,
         CoverImageId = coverImage.ResourceMetaId,
         CoverImage = coverImage
     });
 }
예제 #10
0
파일: Bridge.cs 프로젝트: keithb-/CiteSet
        /// <summary>
        /// Build an entity from the specified HTML page.
        /// </summary>
        /// <param name="page">Address of the HTML page.</param>
        /// <param name="input">Portion of the HTML page to index.</param>
        /// <returns>An entity that represents the HTML page.</returns>
        public Resource CreateEntity(Uri page, XPathNavigator input)
        {
            var result = new Resource(_user);

            result.Host  = page.Host;
            result.Path  = page.LocalPath;
            result.Query = page.Query;
            XPathNavigator seek;

            if ((seek = input.SelectSingleNode("title")) != null)
            {
                result.Title = seek.Value;
            }

            var iterator = input.SelectChildren("meta", input.NamespaceURI);

            while (iterator.MoveNext())
            {
                if (iterator.Current == null)
                {
                    continue;
                }

                var meta = new ResourceMeta(_user);
                meta.AuditNew(_user);
                if (iterator.Current.Select("@content").Count > 0)
                {
                    meta.Content = iterator.Current.GetAttribute("content", iterator.Current.NamespaceURI);
                }
                if (iterator.Current.Select("@name").Count > 0)
                {
                    meta.Name = iterator.Current.GetAttribute("name", iterator.Current.NamespaceURI);
                }
                if (result.Metadata == null)
                {
                    result.Metadata = new List <ResourceMeta>();
                }
                result.Metadata.Add(meta);
            }
            iterator = input.SelectChildren("link", input.NamespaceURI);
            while (iterator.MoveNext())
            {
                if (iterator.Current == null)
                {
                    continue;
                }

                var link = new ResourceLink(_user);
                link.AuditNew(_user);
                if (iterator.Current.Select("@href").Count > 0)
                {
                    link.Href = iterator.Current.GetAttribute("href", iterator.Current.NamespaceURI);
                }
                if (iterator.Current.Select("@type").Count > 0)
                {
                    link.Type = iterator.Current.GetAttribute("type", iterator.Current.NamespaceURI);
                }
                if (iterator.Current.Select("@rel").Count > 0)
                {
                    link.Rel = iterator.Current.GetAttribute("rel", iterator.Current.NamespaceURI);
                }
                if (result.Links == null)
                {
                    result.Links = new List <ResourceLink>();
                }
                result.Links.Add(link);
            }
            return(result);
        }
예제 #11
0
 private void DefineConstructor(ResourceMeta resourceMeta, TypeBuilder typeBuilder)
 {
     var ctorSignature = new Type[0];
     var ctor          = typeBuilder.DefineConstructor(MethodAttributes.Public, CallingConventions.Any, ctorSignature);
     var il            = ctor.GetILGenerator();
 }
예제 #12
0
 public ResourceResponse(ResourceMeta resourceMeta)
 {
     ResourceId  = resourceMeta.ResourceMetaId;
     FileName    = resourceMeta.FileName;
     Description = resourceMeta.Description;
 }