예제 #1
0
        public List <KeyValuePair <string, string> > AddCurriculumVitae(AddUserCurriculumVitaeViewModel model)
        {
            var errorList     = new List <KeyValuePair <string, string> >();
            var userId        = _userService.GetUser().UserId;
            var isCvNameCheck = _userCurriculumVitaeRepository.Get(x => x.UserId == userId && x.CVName == model.CVName && x.DeleteDate == null);

            if (isCvNameCheck == null)
            {
                var userCurriculumVitae = new UserCurriculumVitae();
                userCurriculumVitae.CVName     = model.CVName;
                userCurriculumVitae.FilePath   = model.FilePath;
                userCurriculumVitae.CreateDate = DateTime.Now;
                userCurriculumVitae.UserId     = userId;
                _userCurriculumVitaeRepository.Add(userCurriculumVitae);

                try
                {
                    _userCurriculumVitaeRepository.SaveChanges();
                }
                catch (Exception ex)
                {
                    var errorMessage = ex.Message;
                    errorList.Add(new KeyValuePair <string, string>("CVName", "CV Oluşturulamadı"));
                }
            }
            else
            {
                errorList.Add(new KeyValuePair <string, string>("CVName", "Bu isimde Cv zaten var"));
            }
            return(errorList);
        }
        public IActionResult AddUserCurriculumVitae(AddUserCurriculumVitaeViewModel model, IFormFile file)
        {
            if (ModelState.IsValid && file != 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(file.FileName).ToLower();
                var acceptedFileExtensions = new List <string>()
                {
                    ".pdf"
                };

                //tanımladığınız dosya türleri arasında değil ise
                if (!acceptedFileExtensions.Contains(uploadedFileExtension))
                {
                    errors.Add(new KeyValuePair <string, string>("FilePath", "Düzgün dosya gir andaval!"));

                    return(Json(new { message = $"{model.CVName} eklenemedi", status = false }));
                }

                var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "UserCurriculumVitaes", model.CVName.Replace(" ", "_") + Path.GetExtension(file.FileName));

                using (var stream = new FileStream(path, FileMode.Create))
                {
                    file.CopyTo(stream);
                }
                model.FilePath = path;
                var checkErrors = _userCurriculumVitaeService.AddCurriculumVitae(model);

                if (checkErrors.Count == 0)
                {
                    return(Json(new { redirect = "/UserProfile/GetUserCurriculumVitaes", message = $"{model.CVName} eklendi", status = true }));
                }
                else
                {
                    return(Json(new { message = checkErrors.First().Value, status = false }));
                }
            }

            return(Json(new { message = $"{model.CVName} eklenemedi", status = false }));
        }