예제 #1
0
        public async Task <ActionResult <ForeignLanguage> > PostForeignLanguage(ForeignLanguage foreignLanguage)
        {
            _context.ForeignLanguages.Add(foreignLanguage);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetForeignLanguage", new { id = foreignLanguage.Id }, foreignLanguage));
        }
        public ActionResult AddForeignLanguage(AddResumeForeignLanguageViewModel model)
        {
            var resume = db.Resumes.Include(r => r.Candidate).ThenInclude(r => r.AccountUser)
                         .Include(r => r.ForeignLanguages)
                         .FirstOrDefault(i => i.Id == model.ResumeId);

            var levelLen = db.LevelLanguages.Include(e => e.ForeignLanguages).FirstOrDefault(e => e.Id == model.LevelLanguageId);

            var newForeignLanguages = new ForeignLanguage()
            {
                Id            = Guid.NewGuid(),
                Name          = model.Name,
                LevelLanguage = levelLen,

                Resume = resume,
            };

            resume.DateChange = DateTime.Now;

            resume.ForeignLanguages.Add(newForeignLanguages);
            db.Update(resume);
            db.SaveChanges();

            return(RedirectToAction("Edit", "Resume", new { resumeId = resume.Id }));
        }
예제 #3
0
 /// <summary>
 /// Новый иностранный язык
 /// </summary>
 /// <param name="foreignLanguage">Иностранный язык</param>
 /// <returns>Новая запись</returns>
 public ForeignLanguage InsertForeignLanguage(ForeignLanguage foreignLanguage)
 {
     logger.Trace("Попытка подключения к источнику данных.");
     logger.Trace("Подготовка к добавлению иностранного языка");
     try
     {
         logger.Debug($"Добавляемая запись {foreignLanguage.ToString()}");
         context.ForeignLanguage.Add(foreignLanguage);
         context.SaveChanges();
         logger.Debug($"Новая запись успешно добавлена.");
         return(foreignLanguage);
     }
     catch (SqlException sqlEx)
     {
         logger.Error("Ошибка добавления иностранного языка.");
         logger.Error($"Ошибка SQL Server — {sqlEx.Number}.");
         logger.Error($"Сообщение об ошибке: {sqlEx.Message}.");
         return(null);
     }
     catch (Exception ex)
     {
         logger.Error("Ошибка добавления иностранного языка.");
         logger.Error($"Ошибка — {ex.Message}.");
         return(null);
     }
 }
예제 #4
0
 /// <summary>
 /// Обновление иностранного языка
 /// </summary>
 /// <param name="foreignLanguage">Редактируемый иностранный язык</param>
 /// <returns>Отредактированная запись</returns>
 public ForeignLanguage UpdateForeignLanguage(ForeignLanguage foreignLanguage)
 {
     logger.Trace("Попытка подключения к источнику данных.");
     logger.Trace("Подготовка к обновлению иностранного языка.");
     try
     {
         var foreignLanguageToUpdate = context.ForeignLanguage.FirstOrDefault(fl => fl.LanguageId == foreignLanguage.LanguageId);
         logger.Debug($"Текущая запись {foreignLanguageToUpdate.ToString()}");
         foreignLanguageToUpdate.Name = foreignLanguage.Name;
         context.SaveChanges();
         logger.Debug($"Новая запись {foreignLanguageToUpdate.ToString()}");
         return(foreignLanguageToUpdate);
     }
     catch (SqlException sqlEx)
     {
         logger.Error("Ошибка редактирования иностранного языка.");
         logger.Error($"Ошибка SQL Server — {sqlEx.Number}.");
         logger.Error($"Сообщение об ошибке: {sqlEx.Message}.");
         return(null);
     }
     catch (Exception ex)
     {
         logger.Error("Ошибка редактирования иностранного языка.");
         logger.Error($"Ошибка — {ex.Message}.");
         return(null);
     }
 }
예제 #5
0
        public async Task <IActionResult> PutForeignLanguage(int id, ForeignLanguage foreignLanguage)
        {
            if (id != foreignLanguage.Id)
            {
                return(BadRequest());
            }

            _context.Entry(foreignLanguage).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ForeignLanguageExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
예제 #6
0
 /// <summary>
 /// Удаление иностранного языка
 /// </summary>
 /// <param name="foreignLanguage">Удаляемый иностранный язык</param>
 public void DeleteForeignLanguage(ForeignLanguage foreignLanguage)
 {
     logger.Trace("Попытка подключения к источнику данных.");
     logger.Trace("Подготовка к удалению иностранного языка.");
     try
     {
         var foreignLanguageToDelete = context.ForeignLanguage.FirstOrDefault(fl => fl.LanguageId == foreignLanguage.LanguageId);
         if (foreignLanguageToDelete != null)
         {
             context.ForeignLanguage.Remove(foreignLanguageToDelete);
             context.SaveChanges();
             logger.Debug("Удаление записи успешно завершено.");
         }
     }
     catch (SqlException sqlEx)
     {
         logger.Error("Ошибка удаления записи иностранного языка.");
         logger.Error($"Ошибка SQL Server — {sqlEx.Number}.");
         logger.Error($"Сообщение об ошибке: {sqlEx.Message}.");
     }
     catch (Exception ex)
     {
         logger.Error("Ошибка удаления записи иностранного языка.");
         logger.Error($"Ошибка — {ex.Message}.");
     }
 }
        public ActionResult DeleteConfirmed(int id)
        {
            ForeignLanguage foreignLanguage = db.ForeignLanguages.Find(id);

            db.ForeignLanguages.Remove(foreignLanguage);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #8
0
        private void CreateNewRow_Language()
        {
            var             newLan = this.LanguageDbset.Create();
            ForeignLanguage C      = (ForeignLanguage)newLan;

            C.Key      = Encryption.GetUniqueKey(16);
            C.StaffKey = this.StaffKey;
            this.LanguageDbset.Local.Add(newLan);
        }
 public ActionResult Edit([Bind(Include = "foreignLanguageID,foreignLangName")] ForeignLanguage foreignLanguage)
 {
     if (ModelState.IsValid)
     {
         db.Entry(foreignLanguage).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(foreignLanguage));
 }
        public ActionResult Create([Bind(Include = "foreignLanguageID,foreignLangName")] ForeignLanguage foreignLanguage)
        {
            if (ModelState.IsValid)
            {
                db.ForeignLanguages.Add(foreignLanguage);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(foreignLanguage));
        }
        // GET: ForeignLanguage/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ForeignLanguage foreignLanguage = db.ForeignLanguages.Find(id);

            if (foreignLanguage == null)
            {
                return(HttpNotFound());
            }
            return(View(foreignLanguage));
        }
예제 #12
0
        /// <summary>
        /// Инициализация таблицы "Иностранные языки"
        /// </summary>
        /// <param name="serviceProvider"></param>
        /// <param name="configuration"></param>
        /// <returns></returns>
        public static async Task CreateForeignLanguages(IServiceProvider serviceProvider, IConfiguration configuration)
        {
            using (var serviceScope = serviceProvider.GetRequiredService <IServiceScopeFactory>().CreateScope())
            {
                AppIdentityDBContext context = serviceScope.ServiceProvider.GetService <AppIdentityDBContext>();

                #region Инициализация таблицы "Иностранные языки"
                if (!await context.ForeignLanguages.AnyAsync())
                {
                    var Row01 = new ForeignLanguage
                    {
                        ForeignLanguageId   = 1,
                        ForeignLanguageName = "Английский"
                    };

                    var Row02 = new ForeignLanguage
                    {
                        ForeignLanguageId   = 2,
                        ForeignLanguageName = "Немецкий"
                    };

                    var Row03 = new ForeignLanguage
                    {
                        ForeignLanguageId   = 3,
                        ForeignLanguageName = "Французский"
                    };

                    await context.ForeignLanguages.AddRangeAsync(
                        Row01,
                        Row02,
                        Row03
                        );

                    await context.SaveChangesAsync();
                }
                #endregion
            }
        }
예제 #13
0
        public async Task SaveForeignLanguagesAsync(int resumeId, Dictionary <int, int> languageLevelIdsByLanguageIds)
        {
            //if there are foreign languages for current CV, to delete them
            var languages = _db.ForeignLanguages.Where(s => s.ResumeId == resumeId).ToList();

            if (languages.Count() != 0)
            {
                foreach (var lang in languages)
                {
                    _db.ForeignLanguages.Remove(lang);
                }
            }
            foreach (var languageItem in languageLevelIdsByLanguageIds)
            {
                //If the added foreign language has been removed above in this method,
                //we change EntityState from "Deleted" to "Modified" for this foreign language
                var existingForeignLanguage = languages.FirstOrDefault(l => l.ResumeId == resumeId &&
                                                                       l.LanguageId == languageItem.Key &&
                                                                       l.LanguageLevelId == languageItem.Value);
                if (existingForeignLanguage != null)
                {
                    _db.Entry(existingForeignLanguage).State = EntityState.Modified;
                }
                else
                {
                    ForeignLanguage foreignLanguage = new ForeignLanguage
                    {
                        ResumeId        = resumeId,
                        LanguageId      = languageItem.Key,
                        LanguageLevelId = languageItem.Value
                    };

                    _db.ForeignLanguages.Add(foreignLanguage);
                }
            }
        }
예제 #14
0
        public ActionResult ForeignLanguageGetAdd(ForeignLanguage foreignLanguage)

        {
            _foreignLanguageService.Add(foreignLanguage);
            return(RedirectToAction(""));
        }
 public IResult Add(ForeignLanguage foreignLanguage)
 {
     _foreignLanguageDal.Add(foreignLanguage);
     return(new SuccessResult());
 }
 public IResult Delete(ForeignLanguage foreignLanguage)
 {
     throw new NotImplementedException();
 }
예제 #17
0
        public ActionResult ForeignLanguageUpdate(ForeignLanguage foreignLanguage)

        {
            _foreignLanguageService.Update(foreignLanguage);
            return(RedirectToAction(""));
        }
예제 #18
0
 public StudentDto(AccountDto account)
 {
     Account         = account;
     ForeignLanguage = new ForeignLanguage();
 }
 public IResult Update(ForeignLanguage foreignLanguage)
 {
     _foreignLanguageDal.Update(foreignLanguage);
     return(new SuccessResult());
 }