public async Task <AdministrationDto> GetAdministrationByIdAsync(Guid userId, Guid directionId)
        {
            AdministrationDto admin = AdministrationConverter.Convert(await _adminRepo.GetByIdAsync(userId, directionId));

            admin.DirectionName = _directionRepo.GetByIdAsync(admin.DirectionId).Result.Name;
            admin.RoleName      = _adminRoleRepo.GetByIdAsync(admin.AdministrationRoleId).Result.Name;
            admin.UserName      = _userRepo.GetByIdAsync(admin.UserId).Result.Name;
            return(admin);
        }
 public static Administration Convert(AdministrationDto item)
 {
     return(new Administration
     {
         AdministrationRoleId = item.AdministrationRoleId,
         DirectionId = item.DirectionId,
         UserId = item.UserId
     });
 }
        public AdministrationDto Read()
        {
            AdministrationDto administrationDto = new AdministrationDto();

            administrationDto.ArtistCount     = _genericDao.Count <User>();
            administrationDto.PaintingCount   = _genericDao.Count <Painting>();
            administrationDto.CollectionCount = _genericDao.Count <Collection>();
            administrationDto.ExhibitionCount = _genericDao.Count <Exhibition>();
            return(administrationDto);
        }
 public async Task <ActionResult <AdministrationDto> > Post([FromBody] AdministrationDto item)
 {
     try
     {
         if (item.UserId == null || item.DirectionId == null || item.AdministrationRoleId == null)
         {
             return(BadRequest());
         }
         return(Ok(await _supervisor.CreateAdministrationAsync(item)));
     }
     catch (Exception ex)
     {
         return(StatusCode(500, ex));
     }
 }
        public ActionResult <User> createAdministration([FromBody] AdministrationDto admin)
        {
            User user1 = _userservice.Register(new User(admin.Firstname, admin.Lastname, admin.Email, Role.Administrator, admin.Password));

            if (user1 == null)
            {
                return(BadRequest(new { message = "email is already in use" }));
            }
            else
            {
                Administration administration1 = new Administration(admin.Institute, user1);
                _service.CreateAdmin(administration1);
                return(Ok(user1));
            }
        }
        public async Task <ActionResult <AdministrationDto> > Get(Guid userId, Guid directionId)
        {
            try
            {
                AdministrationDto administration = await _supervisor.GetAdministrationByIdAsync(userId, directionId);

                if (administration == null)
                {
                    return(NotFound());
                }
                return(Ok(administration));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex));
            }
        }
 public async Task <bool> UpdateAdministrationAsync(AdministrationDto item)
 {
     return(await _adminRepo.UpdateAsync(AdministrationConverter.Convert(item)));
 }
 public async Task <AdministrationDto> CreateAdministrationAsync(AdministrationDto item)
 {
     return(AdministrationConverter.Convert(await _adminRepo.CreateAsync(AdministrationConverter.Convert(item))));
 }