public EditCompanyDetailViewModel GetCompanyDetail()
        {
            var user = _userService.GetUser();

            var           model         = new EditCompanyDetailViewModel();
            CompanyDetail companyDetail = _companyDetailRepository.Get(x => x.UserId == user.UserId);

            if (companyDetail != null)
            {
                model.ImagePath         = companyDetail.ImageUrl;
                model.UserId            = companyDetail.UserId;
                model.WebSite           = companyDetail.WebSite;
                model.SectorId          = companyDetail.SectorId;
                model.NumberOfEmployees = companyDetail.NumberOfEmployees;
                //model.ImageUrl = companyDetail.ImageUrl;
                model.FoundationYear = companyDetail.FoundationYear;
                model.CompanyName    = companyDetail.CompanyName;
                model.Address        = companyDetail.Address;
                model.About          = companyDetail.About;
                model.NumberOfUnreadSendedMessages = _messageService.GetUnreadSendedMessageCount();
                model.ImageFileName = Path.GetFileName(model.ImagePath);
            }
            model.SectorList = _sectorService.GetSectorList();
            return(model);
        }
        public int EditCompanyDetail(EditCompanyDetailViewModel model)
        {
            //var userId = contextUser.Claims.First(x => x.Type == ClaimTypes.NameIdentifier).Value;
            var user = _userService.GetUser();

            if (!_sectorService.isSectorValid(model.SectorId))
            {
                return(0);
            }
            CompanyDetail companyDetail = _companyDetailRepository.Get(x => x.UserId == user.UserId);

            if (companyDetail == null)
            {
                companyDetail = new CompanyDetail();
                _companyDetailRepository.Add(companyDetail);
                companyDetail.CreateDate = DateTime.Now;
            }
            else
            {
                companyDetail.UpdateDate = DateTime.Now;
            }
            if (model.ImagePath != null)
            {
                companyDetail.ImageUrl = model.ImagePath;
            }

            companyDetail.UserId            = user.UserId;
            companyDetail.SectorId          = model.SectorId;
            companyDetail.CompanyName       = model.CompanyName;
            companyDetail.FoundationYear    = model.FoundationYear;
            companyDetail.Address           = model.Address;
            companyDetail.NumberOfEmployees = model.NumberOfEmployees;
            companyDetail.WebSite           = model.WebSite;
            companyDetail.About             = model.About;
            //companyDetail.ImageUrl = model.ImageUrl;//?

            try
            {
                _companyDetailRepository.SaveChanges();
                return(companyDetail.Id);
            }
            catch (Exception ex)
            {
                var errorMessage = ex.Message;
                throw;
            }
        }
        public IActionResult EditCompanyDetail(EditCompanyDetailViewModel model)
        {
            if (ModelState.IsValid && model.ImageUrl != null)
            {
                var errors = ModelState.Where(x => x.Value.Errors.Any()).Select(x => new KeyValuePair <string, string>(x.Key, x.Value.Errors.FirstOrDefault().ErrorMessage)).ToList();

                var uploadedFileExtension  = Path.GetExtension(model.ImageUrl.FileName).ToLower();
                var acceptedFileExtensions = new List <string>()
                {
                    ".png",
                    ".jpg",
                    ".gif",
                    ".bmp",
                    ".jpeg"
                };
                //tanımladığınız dosya türleri arasında değil ise
                if (!acceptedFileExtensions.Contains(uploadedFileExtension))
                {
                    errors.Add(new KeyValuePair <string, string>("ProfileImageFile", "Düzgün dosya gir andaval!"));

                    return(View());
                }

                var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "CompanyProfileImages", model.ImageUrl.FileName.Replace(" ", "_") + "");/* + Path.GetFileNameWithoutExtension(model.ProfileImageFile.FileName))*/

                using (var stream = new FileStream(path, FileMode.Create))
                {
                    model.ImageUrl.CopyTo(stream);
                }
                model.ImagePath = path;

                //burayı düzelt resim girmez isen bu ife gelmiyor
                if (_companyDetailService.EditCompanyDetail(model) > 0)
                {
                    //kayıt başarılı tamamlandı, insanları profile geri gönder

                    return(Redirect(Url.Action("Index", "Home")));
                }
                ModelState.AddModelError("SectorId", "Hatalı Sektör Seçimi");
            }
            model.SectorList = _sectorService.GetSectorList();

            return(View(model));
        }