Ejemplo n.º 1
0
        // Import data
        public int ImportData(DataTable source)
        {
            int result = 0;

            if (source == null)
            {
                //file sai cau truc
                return(-1);
            }
            else
            {
                for (int i = 0; i < source.Rows.Count; i++)
                {
                    AddTermViewModel termOrSynset = new AddTermViewModel();

                    var term = source.Rows[i]["Thuật ngữ"].ToString();
                    var def  = source.Rows[i]["Giải thích"].ToString();

                    if (!String.IsNullOrWhiteSpace(term) && !String.IsNullOrWhiteSpace(def))
                    {
                        termOrSynset.HeadWord = term;
                        termOrSynset.Catagory = source.Rows[i]["Loại từ"].ToString();
                        termOrSynset.Def      = def;
                        termOrSynset.Exa      = source.Rows[i]["Ví dụ"].ToString();
                        termOrSynset.Synonyms = source.Rows[i]["Từ đồng nghĩa"].ToString();
                        if (AddNewTermOrSynset(termOrSynset) > 0)
                        {
                            result++;
                        }
                    }
                }
            }

            return(result);
        }
Ejemplo n.º 2
0
        public ActionResult Edit(AddTermViewModel editedSynset, int synsetId)
        {
            EntriesModel entriesModel = new EntriesModel();
            int          result       = entriesModel.EditSynsetBySynsetId(editedSynset, synsetId);

            ViewBag.Result = result;
            return(RedirectToAction("Edit", new { synsetId = synsetId, headWord = editedSynset.HeadWord, r = "success" }));
            //return View();
        }
Ejemplo n.º 3
0
        public ActionResult Edit(int?synsetId, string headWord)
        {
            EntriesModel entriesModel = new EntriesModel();

            var synsetId_ = synsetId ?? -1;



            AddTermViewModel editSynset = entriesModel.ViewEditSynset(synsetId_, headWord);

            ViewBag.ListAnotherSynset = entriesModel.GetAnotherSynsetOfTerm(headWord, synsetId_);
            ViewBag.ListSynonyms      = entriesModel.GetSynonyms(synsetId_, headWord);
            return(View(editSynset));
        }
Ejemplo n.º 4
0
 public ActionResult Add(AddTermViewModel term)
 {
     try
     {
         EntriesModel entriesModel = new EntriesModel();
         entriesModel.AddNewTermOrSynset(term);
         ViewBag.Success = "Thêm thuật ngữ thành công!";
     }
     catch
     {
         ViewBag.Fail = "Thêm thuật ngữ không thành công!";
     }
     return(View());
 }
Ejemplo n.º 5
0
        // Edit synset by synsetId
        public int EditSynsetBySynsetId(AddTermViewModel editedSynset, int synsetId)
        {
            Synset synset = context.Synsets.Find(synsetId);

            synset.Category = editedSynset.Catagory;
            synset.Def      = editedSynset.Def;
            synset.Exa      = editedSynset.Exa;

            //delete all synonym relation
            synset.WordIndexes.Clear();

            synset.WordIndexes.Add(context.WordIndexes.Find(editedSynset.HeadWord));

            // If synset has synonym(s)
            if (!String.IsNullOrWhiteSpace(editedSynset.Synonyms))
            {
                string[] synonyms = editedSynset.Synonyms.Split(',');

                foreach (string headWord in synonyms)
                {
                    // Check headWord exist in database
                    WordIndex wordIndex = context.WordIndexes.Find(headWord);
                    if (wordIndex != null)
                    {
                        //synset.WordIndexes.Add(wordIndex);
                    }
                    else
                    {
                        //entry
                        wordIndex          = new WordIndex();
                        wordIndex.HeadWord = headWord;
                        string[] word = headWord.Split(' ');

                        if (word.Count() > 1)
                        {
                            wordIndex.WordType = "c";
                        }
                        else
                        {
                            wordIndex.WordType = "s";
                        }
                    }
                    synset.WordIndexes.Add(wordIndex);
                }
            }

            context.Entry(synset).State = EntityState.Modified;
            return(context.SaveChanges());
        }
Ejemplo n.º 6
0
        public ActionResult AddTerm(AddTermViewModel viewModel)
        {
            var userId        = User.Identity.GetUserId();
            var currentDoctor = _context.Doctors
                                .SingleOrDefault(x => x.AccountId == userId);

            var term = new Term
            {
                DateTimeOfTerm = viewModel.DateTimeOfTerm,
                Doctor         = currentDoctor
            };

            _context.Terms.Add(term);
            _context.SaveChanges();

            return(RedirectToAction("ShowTerm", "Doctor"));
        }
Ejemplo n.º 7
0
        public virtual async Task <ActionResult> Create(AddTermViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var t = _TermService.GetByTermName(viewModel.Name);
                    if (t != null)
                    {
                        ModelState.AddModelError("Name", "This Term Name Is Already Exist In Database");
                        return(View(viewModel));
                    }
                    var obj = new Term
                    {
                        Name      = viewModel.Name,
                        StartDate = viewModel.StartDate,
                        EndDate   = viewModel.EndDate
                    };
                    _TermService.Insert(obj);
                    await _unitOfWork.SaveChangesAsync();

                    CacheManager.InvalidateChildActionsCache();
                    return(RedirectToAction("Index", "Term"));
                }
                catch (System.Data.Entity.Validation.DbEntityValidationException e)
                {
                    string s = "";
                    foreach (var eve in e.EntityValidationErrors)
                    {
                        s += String.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                           eve.Entry.Entity.GetType().Name, eve.Entry.State);
                        foreach (var ve in eve.ValidationErrors)
                        {
                            s += String.Format("- Property: \"{0}\", Error: \"{1}\"",
                                               ve.PropertyName, ve.ErrorMessage);
                        }
                    }
                    ViewBag.err = s;
                }
            }
            return(View(viewModel));
        }
Ejemplo n.º 8
0
        // View edit synset
        public AddTermViewModel ViewEditSynset(int synsetId, string headWord)
        {
            AddTermViewModel editSynset = new AddTermViewModel();

            Synset synset;

            if (synsetId == -1)
            {
                synset = context.WordIndexes.Find(headWord).Synsets.FirstOrDefault();
            }
            else
            {
                synset = context.Synsets.Find(synsetId);
            }


            editSynset.Catagory = synset.Category;
            editSynset.Def      = synset.Def;
            editSynset.Exa      = synset.Exa;
            editSynset.HeadWord = headWord;

            return(editSynset);
        }
        public ActionResult Add(AddTermViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (var db = new DBContext())
                {
                    if (db.Terms.FirstOrDefault(x => x.TermName.ToLower() == model.TermName.ToLower()) == null)
                    {
                        FundamentalArea area = db.FundamentalAreas
                                               .FirstOrDefault(x => x.NameFundamentalArea.ToLower() == model.FundamentalArea.ToLower());

                        if (area == null)
                        {
                            area = new FundamentalArea()
                            {
                                NameFundamentalArea = model.FundamentalArea
                            };
                            db.FundamentalAreas.Add(area);
                            db.SaveChanges();
                        }

                        var term = new Term()
                        {
                            TermName          = model.TermName,
                            Addition          = model.Addition,
                            IdFundamentalArea = area.IdFundamentalArea
                        };

                        Mapper.Initialize(cfg =>
                        {
                            cfg.CreateMap <Definition, DefinitionViewModel>()
                            .ForMember("TermName", opt => opt.MapFrom(c => c.Term.TermName))
                            .ForMember("Freq", opt => opt.MapFrom(c => c.Projects.Count));
                            cfg.CreateMap <DefinitionViewModel, Definition>();
                        });
                        db.Terms.Add(term);
                        db.SaveChanges();
                        var definition = new Definition()
                        {
                            IdTerm      = term.IdTerm,
                            Description = model.Definition,
                            URL         = model.URL,
                            URLTitle    = model.URLTitle,
                            UserId      = WebSecurity.CurrentUserId
                        };
                        db.Definitions.Add(definition);
                        db.SaveChanges();
                        return(View("Index", term.IdTerm));
                    }
                    else
                    {
                        ModelState.AddModelError("TermName", "Данный термин уже добавлен");
                    }
                }
            }

            using (var db = new DBContext())
            {
                ViewData["Areas"] = db.FundamentalAreas.Select(x => x.NameFundamentalArea).ToList();
            }

            if (Request.IsAjaxRequest())
            {
                return(PartialView("AddPartical", new AddTermViewModel()));
            }

            return(View("IndexAdd", new AddTermViewModel()));
        }
Ejemplo n.º 10
0
 public AddTermView()
 {
     InitializeComponent();
     BindingContext = new AddTermViewModel(Navigation);
 }
Ejemplo n.º 11
0
        // Add new term or new synset
        public int AddNewTermOrSynset(AddTermViewModel term)
        {
            // Check isExist term
            WordIndex checkTerm = context.WordIndexes.Find(term.HeadWord);

            if (checkTerm == null)
            {
                // Entry
                checkTerm          = new WordIndex();
                checkTerm.HeadWord = term.HeadWord;
                string[] word = term.HeadWord.Split(' ');

                if (word.Count() > 1)
                {
                    checkTerm.WordType = "c";
                }
                else
                {
                    checkTerm.WordType = "s";
                }
            }
            else
            {
                // Check duplicate content
                //var checkDup = checkTerm.Synsets.Contains(context.Synsets.Where(x => x.Def.Contains(term.Def)).FirstOrDefault());
                bool checkDup2 = false;
                foreach (var item in checkTerm.Synsets)
                {
                    if (item.Def.Equals(term.Def))
                    {
                        checkDup2 = true;
                        break;
                    }
                }
                if (checkDup2)
                {
                    return(0);
                }
            }

            // Synset
            Synset synset = new Synset();

            synset.Category = term.Catagory;
            synset.Def      = term.Def;
            synset.Exa      = term.Exa;

            // If synset has synonym(s)
            if (!String.IsNullOrWhiteSpace(term.Synonyms))
            {
                string[] synonyms = term.Synonyms.Split(',');

                foreach (string headWord in synonyms)
                {
                    // Check headWord exist in database
                    WordIndex wordIndex = context.WordIndexes.Find(headWord);
                    if (wordIndex != null)
                    {
                        //synset.WordIndexes.Add(wordIndex);
                    }
                    else
                    {
                        //entry
                        wordIndex          = new WordIndex();
                        wordIndex.HeadWord = headWord;
                        string[] words = headWord.Split(' ');

                        if (words.Count() > 1)
                        {
                            wordIndex.WordType = "c";
                        }
                        else
                        {
                            wordIndex.WordType = "s";
                        }
                    }
                    synset.WordIndexes.Add(wordIndex);
                }
            }

            //
            synset.WordIndexes.Add(checkTerm);
            context.Synsets.Add(synset);
            int result = context.SaveChanges();

            return(result);
        }