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); }
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()); }
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); }
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); }