public async Task <IActionResult> CreateFirm(CreateFirmModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Geçersiz veri"));
            }

            // Sisteme kaydolacak her firma için bir klasör yaratılır/getirilir.
            var firmFolderFullpath = _firmService.GetOrCreateFirmFolder();

            // Firmanın logosu firmanın dizinine kaydedilir.
            var firmLogoPath = _firmService.SaveFirmLogo(model.Logo, firmFolderFullpath);

            // Firma için 'Firm' rolüne sahip bir yönetici kullanıcı oluşturulur.
            var user = new ApplicationUser
            {
                DateCreated          = DateTime.Now,
                IsActive             = true,
                Email                = model.Email,
                EmailConfirmed       = true,
                BranchId             = null,
                Name                 = model.Name,
                ImagePath            = null,
                NormalizedEmail      = model.Email,
                NormalizedUserName   = model.Email,
                UserName             = model.Email,
                PhoneNumber          = model.PhoneNumber,
                PhoneNumberConfirmed = true
            };

            await _userService.CreateUserAsync(user, model.Password, "Firm");

            // Firma nesnesi oluşturulur.
            var firm = new Firm
            {
                DateCreated = DateTime.Now,
                IsActive    = true,
                LogoPath    = firmLogoPath,
                Name        = model.Name,
                User        = user
            };

            await _firmService.CreateFirmAsync(firm);

            _logger.LogInformation(string.Format("{0} Firması ve #{1} Firma Kullanıcısı oluşturuldu.", firm.Name, user.Id));

            return(Ok("Firma oluşturuldu"));
        }