コード例 #1
0
        private void GrantRecursively(int menuId, int userId)
        {
            var menu = _context.Set <Menu>().SingleOrDefault(e => e.Id == menuId);

            if (menu?.ParentId == null || HasGrant(menu.ParentId.Value, userId))
            {
                return;
            }

            _context.Add(new MenuUser
            {
                MenuId = menu.ParentId.Value,
                UserId = userId
            });

            GrantRecursively(menu.ParentId.Value, userId);
        }
コード例 #2
0
        public IActionResult Register([FromBody] RegisterUserDto registrationUser)
        {
            var user = new User();

            user.Password = registrationUser.Password.ToSha512();
            user.Token    = Guid.NewGuid();
            user.Email    = registrationUser.Email;

            context.Add(user);
            context.SaveChanges();

            return(Ok());
        }
コード例 #3
0
        private async Task <EditedImage> AttachEditedImage(MemoryStream stream, Domain.Image image, ImageOperation operation, int width, int height)
        {
            var physicalFile = await new StoreFileDto
            {
                File     = stream,
                Filename = image.Filename
            }.CreatePhysicalFile();

            var editedImage = new EditedImage
            {
                Width     = width,
                Height    = height,
                ImageId   = image.Id,
                Operation = operation,
                Path      = physicalFile.Path,
            };

            context.Add(editedImage);
            await context.SaveChangesAsync();

            return(editedImage);
        }
コード例 #4
0
        private async Task <List <FileDto> > Store(params StoreFileDto[] inputs)
        {
            var filesDto = new List <FileDto>();

            foreach (var input in inputs)
            {
                var physicalFile = await input.CreatePhysicalFile();

                if (typeProvider.IsValidImageFile(input.File, physicalFile.Extension))
                {
                    var img   = SixLabors.ImageSharp.Image.Load(input.File);
                    var image = new Domain.Image
                    {
                        Date        = DateTime.Now,
                        Path        = physicalFile.Path,
                        UID         = physicalFile.UID,
                        UserId      = user.Id,
                        Description = input.Description,
                        IsPublic    = input.IsPublic,
                        Filename    = input.Filename,
                        Extension   = physicalFile.Extension,
                        Size        = input.File.Length,
                        MimeType    = MimeTypeMap.GetMimeType(physicalFile.Extension),
                        Width       = img.Width,
                        Height      = img.Height
                    };

                    filesDto.Add(new FileDto
                    {
                        Filename = image.Filename,
                        UID      = image.UID,
                        IsPublic = image.IsPublic,
                        IsImage  = true
                    });

                    context.Add(image);
                }
                else
                {
                    var file = new File()
                    {
                        Date        = DateTime.Now,
                        Path        = physicalFile.Path,
                        UID         = physicalFile.UID,
                        UserId      = user.Id,
                        Description = input.Description,
                        IsPublic    = input.IsPublic,
                        Filename    = input.Filename,
                        Extension   = physicalFile.Extension,
                        Size        = input.File.Length,
                        MimeType    = MimeTypeMap.GetMimeType(physicalFile.Extension),
                    };


                    filesDto.Add(new FileDto
                    {
                        Filename = file.Filename,
                        UID      = file.UID,
                        IsPublic = file.IsPublic,
                        IsImage  = false
                    });

                    context.Add(file);
                }
            }

            await context.SaveChangesAsync();

            return(filesDto);
        }