Ejemplo n.º 1
0
        /// <summary>
        /// Fixes the state of the model and model.
        /// </summary>
        /// <param name="missionDraft">The mission draft.</param>
        private void FixModelAndModelState(MissionDraftUi missionDraft)
        {
            if (missionDraft == null)
            {
                return;
            }

            ModelState.Remove("Id");
            missionDraft.AddDate = DateTime.UtcNow;
        }
Ejemplo n.º 2
0
        public async Task <ActionResult> Create(MissionDraftUi missionDraft)
        {
            FixModelAndModelState(missionDraft);
            if (missionDraft != null && ModelState.IsValid)
            {
                await _missionDraftService.AddNewMissionDraft(missionDraft.ConvertToDomain());

                return(RedirectToAction("Index"));
            }

            return(View(missionDraft));
        }
Ejemplo n.º 3
0
        public async Task <ActionResult> Edit(MissionDraftUi missionDraft)
        {
            if (missionDraft != null && ModelState.IsValid)
            {
                await _missionDraftService.UpdateMissionDraft(missionDraft.ConvertToDomain());

                return(RedirectToAction("Index"));
            }

            var personQualities = await _personQualityService.GetPersonQualities();

            ViewBag.PersonQualities = personQualities;
            return(View(missionDraft));
        }
Ejemplo n.º 4
0
        public async Task Create()
        {
            // Действие
            var result          = (await _controller.Index(null)) as ViewResult;
            var drafts          = result.Model as IEnumerable <MissionDraft>;
            int count           = drafts.Count();
            var newMissionDraft = new MissionDraftUi
            {
                Name        = "New draft",
                Description = "Description",
                PhotoUrl    = "http://vk.com",
                Difficulty  = 1
            };

            result = (await _controller.Create(newMissionDraft)) as ViewResult;
            // Утверждение
            Assert.IsNotNull(drafts);
            Assert.IsNotEmpty(drafts);
            Assert.AreEqual(drafts.Last().Name, "New draft");
            Assert.AreEqual(count + 1, drafts.Count());
        }
Ejemplo n.º 5
0
        public async Task Edit()
        {
            // Действие
            var result   = (await _controller.Index(null)) as ViewResult;
            var drafts   = result.Model as IEnumerable <MissionDraft>;
            var oldDraft = drafts.Last();
            var draft    = new MissionDraftUi
            {
                Id          = oldDraft.Id,
                Name        = "Updated draft",
                Description = oldDraft.Description,
                Difficulty  = oldDraft.Difficulty
            };
            var editResult = (await _controller.Edit(draft)) as RedirectToRouteResult;

            result = (await _controller.Details(oldDraft.Id)) as ViewResult;
            var draftAfterEdit = result.Model as MissionDraft;

            // Утверждение
            Assert.IsNotNull(editResult);
            Assert.IsNotNull(drafts);
            Assert.IsNotEmpty(drafts);
            Assert.AreEqual("Updated draft", draftAfterEdit.Name);
        }