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