コード例 #1
0
        // constructor gets the model in order to create the view models for each view
        internal MainWindow(IFlightControl model)
        {
            InitializeComponent();

            // create player view model and set its data context
            PlayerViewModel pvm = new PlayerViewModel(model);;

            playerView.PlayerVM    = pvm;
            playerView.DataContext = pvm;

            // create data view model and set its data context
            DataViewModel dvm = new DataViewModel(model);

            dataView.DataVM      = dvm;
            dataView.DataContext = dvm;

            // create research view model and set its data context
            ResearchViewModel rvm = new ResearchViewModel(model);

            researchView.ResearchVM  = rvm;
            researchView.DataContext = rvm;

            // create settings view model and set its data context
            SettingsViewModel svm = new SettingsViewModel(model);

            settingsView.SettingsVM  = svm;
            settingsView.DataContext = svm;
        }
コード例 #2
0
        public IActionResult Conduct()
        {
            var materials = materialsService.GetMaterials();
            var model     = new ResearchViewModel()
            {
                AdditionalMaterials = materials.Where(
                    m => m.Element.HasAttribute <UsageAttribute>() &&
                    m.Element.GetAttribute <UsageAttribute>().IsUsedAsAdditive)
                                      .Select(m => new SelectListItem()
                {
                    Disabled = m.QuantityInKg > 0 ? false : true,
                    Text     = $"{m.Element.GetDisplayName()} ({m.Form.ToString()})"
                               + (m.QuantityInKg > 0 ? string.Empty : " [DEPLETED]"),
                    Value = $"{m.Element.ToString()}_{(int)m.Form}"
                }).OrderBy(i => i.Text),
                BaseMaterials = materials.Where(
                    m => m.Element.HasAttribute <UsageAttribute>() &&
                    m.Element.GetAttribute <UsageAttribute>().IsUsedAsBase)
                                .Select(m => new SelectListItem()
                {
                    Disabled = m.QuantityInKg > 0 ? false : true,
                    Text     = $"{m.Element.GetDisplayName()} ({m.Form.ToString()})"
                               + (m.QuantityInKg > 0 ? string.Empty : " [DEPLETED]"),
                    Value = $"{m.Element.ToString()}_{(int)m.Form}"
                }).OrderBy(i => i.Text)
            };

            return(View(model));
        }
コード例 #3
0
        public static string GetData(
            ResearchViewModel model, IService service, string requestedUserId, string exportedUserId)
        {
            service.LogExort(requestedUserId, exportedUserId, model.From, model.To);
            var locations = service.GetLocations(exportedUserId, model.From, model.To).ToList();

            List <Location> result;

            switch (model.ExportType)
            {
            case ExportType.CoherentData:
                result = MakeCohorentResult(locations);
                break;

            case ExportType.MergedData:
                var cohorentData = MakeCohorentResult(locations);
                result = MakeMergedResult(cohorentData, model.Fill);
                break;

            case ExportType.Database:
                result = locations;
                break;

            default:
                service.WriteBugReport(requestedUserId,
                                       string.Concat("Search request failed. Undefined export type was used. ", DateTime.Now));
                return(null);
            }

            return(MakeReport(result).ToString());
        }
コード例 #4
0
        //[Authorize]
        public ActionResult Edit(int id = 0)
        {
            if (id > 0)
            {
                var research = _context.Researchs
                               .Include(r => r.ResearchMeasureConditions.Select(m => m.MeasureCondition))
                               .Include(r => r.ResearchStudies.Select(s => s.Study))
                               .FirstOrDefault(r => r.Id == id);

                if (research != null)
                {
                    var availableMeasures = _context.MeasureConditions.ToList();
                    //var selectedMeasureList = research.ResearchMeasureConditions.Select(c => c.MeasureConditionId).ToList();
                    //var selectedMeasures = _context.MeasureConditions.Where(m => selectedMeasureList.Contains(m.Id)).ToList();
                    var selectedMeasures = research.ResearchMeasureConditions.Select(m => m.MeasureCondition);

                    //var selectedStudyList = research.ResearchStudies.Select(s => s.StudyId).ToList();
                    //var selectedStudies = _context.Studies.Where(s => selectedStudyList.Contains(s.Id)).ToList();
                    var selectedStudies = research.ResearchStudies.Select(s => s.Study);

                    var treatments = _context.Treatments.ToList();
                    var subjects   = _context.ListTypes.ToList();
                    //var outcomes = _context.Outcomes.ToList();
                    var availableStudies = _context.Studies.ToList();

                    var viewModel = new ResearchViewModel(research, availableMeasures, selectedMeasures,
                                                          treatments, subjects, availableStudies, selectedStudies);

                    return(View("ResearchForm", viewModel));
                }
            }

            return(RedirectToAction("Researches", "ResearchSummary"));
        }
コード例 #5
0
 private void InitViewModel(ResearchViewModel viewModel)
 {
     viewModel.AvailableMeasures = _context.MeasureConditions.ToList();
     viewModel.AvailableStudies  = _context.Studies.ToList();
     //viewModel.Outcomes = _context.Outcomes.ToList();
     viewModel.Treatments = _context.Treatments.ToList();
     viewModel.ListTypes  = _context.ListTypes.ToList();
 }
コード例 #6
0
        // GET: Research
        public ActionResult Index()
        {
            var ts = new TechnologyService();
            var vm = new ResearchViewModel();

            vm.Technologies            = ts.GetTechnologies().ToList();
            vm.ResearchedTechnologyIds = ts.GetResearchedTechnologyIds(this.UserContext.Id);
            vm.CurrentlyResearching    = ts.GetCheckPendingResearch(this.UserContext.Id);
            ts.SaveChanges();
            return(View(vm));
        }
コード例 #7
0
        //[Authorize]
        public ActionResult Create()
        {
            var model = new ResearchViewModel(
                new Research(),
                _context.MeasureConditions.ToList(), new List <MeasureCondition>(),
                _context.Treatments.ToList(), _context.ListTypes.ToList(),
                _context.Studies.ToList(), new List <Study>()
                );

            model.PubDateTime = DateTime.Today.ToShortDateString();

            return(View("ResearchForm", model));
        }
コード例 #8
0
        public async Task <IActionResult> GetResearch()
        {
            var allResearch = await _researchRepository.GetAllResearch();

            var sortedFaculty     = allResearch.OrderBy(f => f.username);
            var researchViewModel = new ResearchViewModel()
            {
                Research = allResearch.ToList(),
                Title    = "Research by faculty"
            };

            return(View(researchViewModel));
        }
コード例 #9
0
        public ActionResult GetMyData(ResearchViewModel model)
        {
            if (!ModelState.IsValid || model == null)
            {
                return(RedirectToAction("Index"));
            }

            string userId = User.Identity.GetUserId();

            string report   = ReportHelper.GetData(model, _service, userId, userId);
            string fileName = string.Concat("Report-", model.UserName, "-", DateTime.Now, ".txt");

            return(File(Encoding.UTF8.GetBytes(report), "text/plain", fileName));
        }
コード例 #10
0
        public async Task <IActionResult> CreateNewResearch()
        {
            var topics = await topicService.AllTopics();

            var researchViewModel = new ResearchViewModel
            {
                Topics = topics.Select(selectItem => new SelectListItem
                {
                    Value = selectItem.Id.ToString(),
                    Text  = selectItem.TopicName
                }).ToList()
            };

            return(View(researchViewModel));
        }
コード例 #11
0
        public ActionResult Create(ResearchViewModel viewModel)
        {
            var userId        = User.Identity.GetUserId();
            var addedMeasures = _context.MeasureConditions.Where(m => viewModel.PostedMeasures.Contains(m.Id));
            var addedStudies  = _context.Studies.Where(s => viewModel.PostedStudies.Contains(s.Id));

            var research = new Research();

            research.Update(userId, viewModel, addedMeasures, new List <int>(), addedStudies, new List <int>());
            _context.Researchs.Add(research);
            _context.SaveChanges();

            TempData["message"] = "A New Research is created!";

            InitViewModel(viewModel);

            ModelState.Clear();
            return(View("ResearchForm", viewModel));
        }
コード例 #12
0
        public async Task <IActionResult> CreateNewResearch(ResearchViewModel researchView)
        {
            if (ModelState.IsValid)
            {
                var researchDto    = mapper.Map <ResearchDTO>(researchView);
                var stringedUserId = HttpContext.Session.GetString("userId");
                if (!string.IsNullOrEmpty(stringedUserId))
                {
                    researchDto.AppUser = await accountManager.FindByIdAsync(stringedUserId);
                }
                else
                {
                    researchDto.AppUser = await accountManager.GetUserAsync(User);
                }

                var research = await researchService.СreateNewResearch(researchDto);

                if (researchView.Tags != null)
                {
                    var collection = researchView.Tags.Split(',')
                                     .ToList()
                                     .Select(name => new Tag {
                        TagName = name
                    });

                    foreach (var item in collection)
                    {
                        var tag = await tagService.FindTag(item.TagName);

                        if (tag is null)
                        {
                            tag = await tagService.AddTag(item);
                        }
                        await tagService.AttachTag(tag, research);
                    }
                }
                return(RedirectToAction(nameof(ResearchDetails), new { id = research.Id.ToString() }));
            }

            return(View());
        }
コード例 #13
0
        public IActionResult Index(string mot)
        {
            List <Artiste> a = new List <Artiste>();
            List <Titre>   t = new List <Titre>();

            if (mot != null && mot != "")
            {
                a = (List <Artiste>)_artisteRepository.Search(mot);
                t = (List <Titre>)_titreRepository.Search(mot);
            }

            ResearchViewModel recherche = new ResearchViewModel()
            {
                Titres    = t,
                Artistes  = a,
                Recherche = mot
            };

            this.ViewData.Model = recherche;
            return(View());
        }
コード例 #14
0
        public ActionResult Update(ResearchViewModel viewModel)
        {
            var research = _context.Researchs
                           .Include(r => r.ResearchMeasureConditions)
                           .Include(r => r.ResearchStudies)
                           .FirstOrDefault(r => r.Id == viewModel.Id);

            if (research != null)
            {
                var postedMeasures   = viewModel.PostedMeasures;
                var currentMeasures  = research.ResearchMeasureConditions.Select(m => m.MeasureConditionId).ToArray();
                var addedMeasuresIds = postedMeasures.Except(currentMeasures);
                var addedMeasures    = _context.MeasureConditions.Where(m => addedMeasuresIds.Contains(m.Id));
                var deletedMeasures  = currentMeasures.Except(postedMeasures);

                var postedStudies   = viewModel.PostedStudies;
                var currentStudies  = research.ResearchStudies.Select(m => m.StudyId).ToArray();
                var addedStudiesIds = postedStudies.Except(currentStudies);
                var addedStudies    = _context.Studies.Where(s => addedStudiesIds.Contains(s.Id));
                var deletedStudies  = currentStudies.Except(postedStudies);

                var userId = User.Identity.GetUserId();
                research.Update(userId, viewModel, addedMeasures, deletedMeasures, addedStudies, deletedStudies);

                _context.SaveChanges();
            }

            TempData["message"] = "Research is saved!";
            //works, but feel wired
            //return RedirectToAction("Create");
            //return RedirectToAction("Create", "Research", "Add");

            InitViewModel(viewModel);

            ModelState.Clear();
            return(View("ResearchForm", viewModel));

            //return RedirectToAction("Researches", "ResearchSummary");
            //return PartialView("Alert");
        }
コード例 #15
0
        public ActionResult Index(ResearchViewModel model)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.Users = _service.GetUserNames().OrderBy(s => s);
                return(View());
            }
            ModelState.Clear();
            if (model.From > model.To)
            {
                ModelState.AddModelError("From", @"The first date must be less than second");
                ModelState.AddModelError("To", @"The first date must be less than second");
                ViewBag.Users = _service.GetUserNames().OrderBy(s => s);
                return(View());
            }

            string exportedUserId = _service.GetUserId(model.UserName);
            string report         = ReportHelper.GetData(model, _service, User.Identity.GetUserId(), exportedUserId);
            string fileName       = string.Concat("Report-location-", model.UserName, "-", DateTime.Now, ".txt");

            return(File(Encoding.UTF8.GetBytes(report), "text/plain", fileName));
        }
コード例 #16
0
 public IActionResult ManageResearch(ResearchViewModel resarchView)
 {
     return(View());
 }
コード例 #17
0
        public ActionResult ResearchSomething(ResearchViewModel rvm)
        {
            TempData["Response"] = Manager.StartResearch(rvm.Id);

            return(RedirectToAction("Research"));
        }
コード例 #18
0
 public AddEditResearch(ResearchViewModel viewModel)
 {
     InitializeComponent();
     ViewModel = viewModel;
 }