public ActionResult AddDefinitionForm(int id)
 {
     using (var db = new DBContext())
     {
         var term  = db.Terms.Find(id);
         var model = new DefinitionViewModel()
         {
             IdTerm = term.IdTerm, TermName = term.TermName
         };
         return(PartialView("AddDefinition", model));
     }
 }
        public ActionResult Add()
        {
            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()));
        }
        public ActionResult Search(string queryString)
        {
            queryString = HttpUtility.UrlDecode(queryString).ToLower();
            var searchQuery = queryString.Split(@" /+".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

            Mapper.Initialize(cfg =>
            {
                cfg.CreateMap <Definition, DefinitionViewModel>();
                cfg.CreateMap <Term, PreviewTermViewModel>()
                .ForMember("Definition", opt => opt.MapFrom(c => c.Definitions
                                                            .OrderByDescending(d => d.Projects.Count())
                                                            .ThenBy(x => x.Time).FirstOrDefault()));
            });

            List <Term> searchResult   = new List <Term>();
            string      firstCharacter = "";
            bool        findByAlphabet = searchQuery.Length == 1 && searchQuery[0].Length == 1;

            if (findByAlphabet)
            {
                firstCharacter = searchQuery[0].ToLower();
            }
            using (var db = new DBContext())
            {
                if (findByAlphabet)
                {
                    searchResult = db.Terms.Where(x => x.TermName.ToLower().StartsWith(firstCharacter)).ToList();
                }
                else
                {
                    List <Definition> searchByDefinitions = new List <Definition>(db.Definitions);
                    foreach (var query in searchQuery)
                    {
                        searchByDefinitions = searchByDefinitions.Where(x =>
                        {
                            return(x.Term.TermName.ToLower().Contains(query) || x.Description.ToLower().Contains(query));
                        }).ToList();
                    }

                    searchResult = searchByDefinitions.Select(x => x.Term).Distinct().ToList();
                }

                var resultColection = Mapper.Map <IEnumerable <Term>, IEnumerable <PreviewTermViewModel> >(searchResult);

                ViewData["anotherTitle"] = "Найдено " + resultColection.Count() + " терминов";


                return(PartialView("PreviewTermsPartical", resultColection));
            }
        }
        public ActionResult EditDefinition(int id)
        {
            using (var db = new DBContext())
            {
                Mapper.Initialize(cfg =>
                {
                    cfg.CreateMap <Definition, DefinitionViewModel>()
                    .ForMember("TermName", opt => opt.MapFrom(c => c.Term.TermName));
                });

                Definition item       = db.Definitions.Find(id);
                var        resultItem = Mapper.Map <Definition, DefinitionViewModel>(item);
                return(PartialView("EditDefinition", resultItem));
            }
        }
        public ActionResult PreviewLifecycPartical()
        {
            Mapper.Initialize(cfg =>
            {
                cfg.CreateMap <Project, ProjectViewModel>();
                cfg.CreateMap <LifeCycle, LifeСycleViewModel>()
                .ForMember("NameLifeСycle", opt => opt.MapFrom(c => c.NameLifeСycle))
                .ForMember("DescriptonLifeСycle", opt => opt.MapFrom(c => c.DescriptonLifeСycle));
            });
            ViewData["anotherTitle"] = "Жизненные циклы";
            var lifecycColection = new DBContext().LifeCycles.OrderBy(t => t.NameLifeСycle);
            var resultColection  = Mapper.Map <IEnumerable <LifeCycle>, IEnumerable <LifeСycleViewModel> >(lifecycColection);

            return(PartialView("PreviewLifecycPartical", resultColection));
        }
        public ActionResult PreviewInfsysPartical()
        {
            Mapper.Initialize(cfg =>
            {
                cfg.CreateMap <Project, ProjectViewModel>();
                cfg.CreateMap <InformationSystem, InfSysViewModel>()
                .ForMember("Name", opt => opt.MapFrom(c => c.NameInformationSystem))
                .ForMember("Discription", opt => opt.MapFrom(c => c.NameInformationSystem));
            });
            ViewData["anotherTitle"] = "Информационные системы";
            var infsysColection = new DBContext().InformationSystems.OrderBy(t => t.NameInformationSystem);
            var resultColection = Mapper.Map <IEnumerable <InformationSystem>, IEnumerable <InfSysViewModel> >(infsysColection);

            return(PartialView("PreviewInfsysPartical", resultColection));
        }
 public ActionResult EditAddition(int id)
 {
     using (var db = new DBContext())
     {
         ViewData["Areas"] = db.FundamentalAreas.Select(x => x.NameFundamentalArea).ToList();
         var term = db.Terms.Find(id);
         var data = new TermAdditionViewModel()
         {
             Addition          = term.Addition,
             TermName          = term.TermName,
             IdTerm            = term.IdTerm,
             FundamentalArea   = term.FundamentalArea.NameFundamentalArea,
             IdFundamentalArea = term.FundamentalArea.IdFundamentalArea
         };
         return(PartialView("EditAdditionPartical", data));
     }
 }
        public ActionResult UpdateAddition(TermAdditionViewModel model)
        {
            using (var db = new DBContext())
            {
                Mapper.Initialize(cfg =>
                {
                    cfg.CreateMap <DefinitionViewModel, Definition>();
                });

                var term = db.Terms.Find(model.IdTerm);
                term.Addition = model.Addition;
                var area = db.FundamentalAreas.FirstOrDefault(x => x.NameFundamentalArea == model.FundamentalArea);
                term.IdFundamentalArea = area.IdFundamentalArea;
                db.Entry(term).State   = EntityState.Modified;
                db.SaveChanges();
            }
            return(PartialView("AdditionPartical", model));
        }
Пример #9
0
        public ActionResult PreviewFundareaPartical()
        {
            Mapper.Initialize(cfg =>
            {
                cfg.CreateMap <Definition, DefinitionViewModel>();
                cfg.CreateMap <Term, PreviewTermViewModel>()
                .ForMember("Definition", opt => opt.MapFrom(c => c.Definitions
                                                            .OrderByDescending(d => d.Projects.Count())
                                                            .ThenBy(x => x.Time).FirstOrDefault()));
                cfg.CreateMap <FundamentalArea, FundAreaViewModel>()
                .ForMember("Name", opt => opt.MapFrom(c => c.NameFundamentalArea))
                .ForMember("Discription", opt => opt.MapFrom(c => c.NameFundamentalArea));
            });
            ViewData["anotherTitle"] = "Фундаментальные области";
            var fundareaColection = new DBContext().FundamentalAreas.OrderBy(t => t.NameFundamentalArea);
            var resultColection   = Mapper.Map <IEnumerable <FundamentalArea>, IEnumerable <FundAreaViewModel> >(fundareaColection);

            return(PartialView("PreviewFundareaPartical", resultColection));
        }
        public ActionResult AddDefinition(DefinitionViewModel model)
        {
            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>();
            });

            using (var db = new DBContext())
            {
                var data = Mapper.Map <DefinitionViewModel, Definition>(model);
                db.Definitions.Add(data);
                db.SaveChanges();
                var term        = db.Terms.Find(data.IdTerm);
                var definitions = Mapper.Map <IEnumerable <Definition>, IEnumerable <DefinitionViewModel> >(term.Definitions).OrderByDescending(x => x.Freq).Skip(1);
                return(PartialView("OtherDefinitionsPartical", definitions));
            }
        }
        public ActionResult Index(int?id)
        {
            Mapper.Initialize(cfg =>
            {
                cfg.CreateMap <Project, PreviewProjectViewModel>()
                .ForMember("ProjectName", opt => opt.MapFrom(c => c.ProjectName))
                .ForMember("Annotation", opt => opt.MapFrom(c => c.Annotation));
                cfg.CreateMap <LifeCycle, LifeСycleViewModel>()
                .ForMember("NameLifeСycle", opt => opt.MapFrom(c => c.NameLifeСycle))
                .ForMember("DescriptonLifeСycle", opt => opt.MapFrom(c => c.DescriptonLifeСycle));
                cfg.CreateMap <LifeCycle, PreviewLifeСycle>()
                .ForMember("NameLifeСycle", opt => opt.MapFrom(c => c.NameLifeСycle));
                cfg.CreateMap <InformationSystem, PreviewInfSysViewModel>()
                .ForMember("Name", opt => opt.MapFrom(c => c.NameInformationSystem));
            });

            if (id == null)
            {
                var lifecycColection = new DBContext().LifeCycles.OrderBy(t => t.NameLifeСycle);
                var resultColection  = Mapper.Map <IEnumerable <LifeCycle>, IEnumerable <LifeСycleViewModel> >(lifecycColection);

                if (Request.IsAjaxRequest())
                {
                    return(PartialView("PreviewLifecycPartical", resultColection));
                }

                return(View("IndexPreviewLifecyc", resultColection));
            }
            else
            {
                var lifecycColection = db.LifeCycles.Find(id);
                var resultColection  = Mapper.Map <LifeCycle, LifeСycleViewModel>(lifecycColection);
                if (Request.IsAjaxRequest())
                {
                    return(PartialView("LifecycPartical", resultColection));
                }
                return(View("IndexLifecyc", resultColection));
            }
        }
        public ActionResult UpdateDefinition(DefinitionViewModel model)
        {
            if (model != null)
            {
                using (var db = new DBContext())
                {
                    Mapper.Initialize(cfg =>
                    {
                        cfg.CreateMap <DefinitionViewModel, Definition>();
                    });

                    var data = Mapper.Map <DefinitionViewModel, Definition>(model);

                    if (data.IdDefinition > 0)
                    {
                        db.Entry(data).State = EntityState.Modified;
                    }
                    db.SaveChanges();
                    return(PartialView("DefinitionPartical", model));
                }
            }
            return(null);
        }
        public ActionResult Index(int?id)
        {
            Mapper.Initialize(cfg =>
            {
                cfg.CreateMap <Project, PreviewProjectViewModel>()
                .ForMember("ProjectName", opt => opt.MapFrom(c => c.ProjectName))
                .ForMember("Annotation", opt => opt.MapFrom(c => c.Annotation));
                cfg.CreateMap <InformationSystem, InfSysViewModel>()
                .ForMember("Name", opt => opt.MapFrom(c => c.NameInformationSystem))
                .ForMember("Discription", opt => opt.MapFrom(c => c.DescriptonInformationSystem));
                cfg.CreateMap <InformationSystem, PreviewInfSysViewModel>()
                .ForMember("Name", opt => opt.MapFrom(c => c.NameInformationSystem));
            });

            if (id == null)
            {
                var infsysColection = new DBContext().InformationSystems.OrderBy(t => t.NameInformationSystem);
                var resultColection = Mapper.Map <IEnumerable <InformationSystem>, IEnumerable <InfSysViewModel> >(infsysColection);

                if (Request.IsAjaxRequest())
                {
                    return(PartialView("PreviewInfsysPartical", resultColection));
                }

                return(View("IndexPreviewInfsys", resultColection));
            }
            else
            {
                var infsysColection = db.InformationSystems.Find(id);
                var resultColection = Mapper.Map <InformationSystem, InfSysViewModel>(infsysColection);
                if (Request.IsAjaxRequest())
                {
                    return(PartialView("InfsysPartical", resultColection));
                }
                return(View("IndexInfsys", resultColection));
            }
        }
Пример #14
0
        public ActionResult Index(int?id)
        {
            Mapper.Initialize(cfg =>
            {
                cfg.CreateMap <Definition, DefinitionViewModel>();
                cfg.CreateMap <Term, PreviewTermViewModel>()
                .ForMember("Definition", opt => opt.MapFrom(c => c.Definitions
                                                            .OrderByDescending(d => d.Projects.Count())
                                                            .ThenBy(x => x.Time).FirstOrDefault()));
                cfg.CreateMap <FundamentalArea, FundAreaViewModel>()
                .ForMember("Name", opt => opt.MapFrom(c => c.NameFundamentalArea))
                .ForMember("Discription", opt => opt.MapFrom(c => c.NameFundamentalArea));
            });

            if (id == null)
            {
                var fundareaColection = new DBContext().FundamentalAreas.OrderBy(t => t.NameFundamentalArea);
                var resultColection   = Mapper.Map <IEnumerable <FundamentalArea>, IEnumerable <FundAreaViewModel> >(fundareaColection);

                if (Request.IsAjaxRequest())
                {
                    return(PartialView("PreviewFundareaPartical", resultColection));
                }

                return(View("IndexPreviewFundarea", resultColection));
            }
            else
            {
                var fundareaColection = db.FundamentalAreas.Find(id);
                var resultColection   = Mapper.Map <FundamentalArea, FundAreaViewModel>(fundareaColection);
                if (Request.IsAjaxRequest())
                {
                    return(PartialView("FundareaPartical", resultColection));
                }
                return(View("IndexFundarea", resultColection));
            }
        }
        public ActionResult Index(int?id)
        {
            using (var db = new DBContext())
            {
                if (id == null)
                {
                    var termsColection = db.Terms;
                    Mapper.Initialize(cfg =>
                    {
                        cfg.CreateMap <InformationSystem, PreviewInfSysViewModel>()
                        .ForMember("Id", opt => opt.MapFrom(c => c.IdInformationSystem))
                        .ForMember("Name", opt => opt.MapFrom(c => c.NameInformationSystem));
                        cfg.CreateMap <Definition, DefinitionViewModel>();
                        cfg.CreateMap <Term, PreviewTermViewModel>()
                        .ForMember("Definition", opt => opt.MapFrom(c => c.Definitions
                                                                    .OrderByDescending(d => d.Projects.Count())
                                                                    .ThenBy(x => x.Time).FirstOrDefault()));
                    });

                    var resultTermsColection = Mapper.Map <IEnumerable <Term>, IEnumerable <PreviewTermViewModel> >(termsColection);

                    if (Request.IsAjaxRequest())
                    {
                        return(PartialView("PreviewTermsPartical", resultTermsColection));
                    }

                    return(View("IndexPreviewTerms", resultTermsColection));
                }
                else
                {
                    var term = db.Terms.Find(id);
                    Mapper.Initialize(cfg =>
                    {
                        cfg.CreateMap <InformationSystem, PreviewInfSysViewModel>()
                        .ForMember("Id", opt => opt.MapFrom(c => c.IdInformationSystem))
                        .ForMember("Name", opt => opt.MapFrom(c => c.NameInformationSystem));
                        cfg.CreateMap <Definition, DefinitionViewModel>()
                        .ForMember("TermName", opt => opt.MapFrom(c => c.Term.TermName))
                        .ForMember("Freq", opt => opt.MapFrom(c => c.Projects.Count));
                        cfg.CreateMap <Project, PreviewProjectViewModel>();
                        cfg.CreateMap <Term, TermViewModel>()
                        .ForMember("FundamentalArea", opt => opt.MapFrom(c => c.FundamentalArea.NameFundamentalArea))
                        .ForMember("IdFundamentalArea", opt => opt.MapFrom(c => c.FundamentalArea.IdFundamentalArea));
                    });

                    //Проекты в глоссариях которых встречается термин
                    var projects = term.Definitions
                                   .SelectMany(x => x.Projects)
                                   .GroupBy(x => x.IdProject)
                                   .OrderByDescending(g => g.Count())
                                   .Select(g => g.First());

                    var resultTerm = Mapper.Map <Term, TermViewModel>(term);
                    resultTerm.Projects = Mapper.Map <IEnumerable <Project>, IEnumerable <PreviewProjectViewModel> >(projects);
                    if (Request.IsAjaxRequest())
                    {
                        return(PartialView("TermPartical", resultTerm));
                    }
                    return(View("IndexTerm", resultTerm));
                }
            }
        }
        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()));
        }