public HttpResponseMessage CreateSubmission(SubmissionCreateRequest submission)
        {
            ItemResponse <int> response = new ItemResponse <int>();

            response.Item = SubmissionService.CreateSubmission(submission);
            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
        public async Task <IActionResult> Download(string sectionName)
        {
            var section = Classroom.Sections
                          .SingleOrDefault(s => s.Name == sectionName);

            if (section == null)
            {
                return(NotFound());
            }

            var archiveContents = await SubmissionService.DownloadSubmissionsAsync
                                  (
                ClassroomName,
                ProjectName,
                CheckpointName,
                sectionName
                                  );

            var timestamp = TimeZoneProvider.ToUserLocalTime(DateTime.UtcNow)
                            .ToString("yyyyMMdd-HHmmss");

            var filename = $"{Classroom.Name}-{Project.Name}-{Checkpoint.Name}-{timestamp}.zip";

            return(File(archiveContents, "application/zip", filename));
        }
Example #3
0
        public void UpdateAsyncTest_Should_Not_Throw_Exception()
        {
            const string id = "123";
            //arrange
            var mockedRepo = new Mock <IGenericRepository <SubmissionVM> >();
            var mockedServiceBusService = new Mock <IServiceBusService>();
            var mockedJobClient         = new Mock <IBackgroundJobClient>();
            var mockedConfigRepo        = new Mock <IGenericRepository <ConfigVM> >();
            var mockedConfig            = new Mock <IAppConfiguration <ConfigVM> >();
            var mockedAppSettings       = new Mock <IConfiguration>();
            //var mockedIdGenerator = new Mock<IUidGeneratorService>();
            var sut = new SubmissionService(mockedRepo.Object, mockedServiceBusService.Object, mockedJobClient.Object);     //, mockedConfigRepo.Object, mockedConfig.Object, mockedAppSettings.Object);

            var submissionVm = new SubmissionVM {
                Id = id
            };
            var doc = new SubmissionVM();

            mockedRepo.Setup(x => x.UpdateAsync(It.IsAny <string>(), It.IsAny <SubmissionVM>())).ReturnsAsync(doc);
            // Act
            Action action = () => sut.UpdateAsync(id, submissionVm);

            // Assert
            action.Should().NotThrow <Exception>();
        }
        public void SaveTeste_When_Update(int userId, int challengeId)
        {
            var fakeContext = new FakeContext("UpdateSubmission");
            fakeContext.FillWith<Submission>();
            fakeContext.FillWith<User>();
            fakeContext.FillWith<Models.Challenge>();

            using (var context = new CodenationContext(fakeContext.FakeOptions))
            {
                var expected = fakeContext.GetFakeData<Submission>()
                    .Find(x => x.UserId == userId
                            && x.ChallengeId == challengeId);
                expected.UserId = 1;
                expected.ChallengeId = 2;
                expected.Score = 100;
                expected.CreatedAt = DateTime.Today;

                var service = new SubmissionService(context);
                var actual = service.Save(expected);

                Assert.Equal(expected, actual);
                Assert.Equal(expected.Score, actual.Score);
                Assert.Equal(expected.CreatedAt, actual.CreatedAt);
            }
        }
Example #5
0
        public override object GetContent(object model)
        {
            securityService.CreateAccessContext();

            if (FormId > 0)
            {
                SubmissionService subSrv = new SubmissionService(new CatfishDbContext());

                Form form = subSrv.CreateSubmissionForm(
                    FormId,
                    EnforceLists,
                    ShuffleBlocks,
                    ShuffleQuestions,
                    QuestionStepOption,
                    QuestionPartsStepOption);

                if (EnableReferenceCodes)
                {
                    Random rand = new Random();
                    form.ReferenceCode = DateTime.Now.ToString("yyMMdd-HHmmss-") + rand.Next(1000, 10000);
                }

                FormViewModel = new FormViewModel()
                {
                    Form         = form,
                    ItemId       = 0,
                    MaxImageSize = MaxPixelLength
                };
            }

            return(base.GetContent(model));
        }
        public void FindByAccelerationIdTest_Return_Right(int challengeId, int accelerationId, params string[] idSubmissionsExpected)
        {
            var fakeContext = new FakeContext("FindByChallengeIdAndAccelerationId");
            fakeContext.FillWith<Acceleration>();
            fakeContext.FillWith<Candidate>();
            fakeContext.FillWith<User>();
            fakeContext.FillWith<Submission>();
            fakeContext.FillWith <Models.Challenge>();

            using (var context = new CodenationContext(fakeContext.FakeOptions))
            {
                List<Submission> expected = new List<Submission>();
                foreach (var idCandidate in idSubmissionsExpected)
                {
                    var idSubmissionInt = idCandidate.Split(',').Select(x => int.Parse(x)).ToList();
                    expected.Add(fakeContext
                        .GetFakeData<Submission>()
                        .Find(x => x.UserId == idSubmissionInt[0]
                                && x.ChallengeId == idSubmissionInt[1]));
                }

                var service = new SubmissionService(context);
                var actual = service.FindByChallengeIdAndAccelerationId(challengeId, accelerationId)
                                    .OrderBy(s => s.UserId)
                                    .ThenBy(s => s.ChallengeId);

                Assert.Equal(expected, actual, new SubmissionIdComparer());
            }
        }
Example #7
0
        public void SendSubmission_Should_Not_Throw_Exception_When_BackgroundJob_Fails()
        {
            const string id           = "123";
            var          submissionVm = new SubmissionVM {
                Id = id
            };
            var doc = new SubmissionVM();

            //arrange
            var mockedRepo = new Mock <IGenericRepository <SubmissionVM> >();
            var mockedServiceBusService = new Mock <IServiceBusService>();
            var mockedJobClient         = new Mock <IBackgroundJobClient>();
            var sut = new SubmissionService(mockedRepo.Object, mockedServiceBusService.Object, mockedJobClient.Object);

            mockedRepo.Setup(x => x.UpdateAsync(It.IsAny <string>(), It.IsAny <SubmissionVM>())).ReturnsAsync(doc);
            mockedServiceBusService.Setup(b => b.SendMessageAsync(It.IsAny <SubmissionVM>())).Throws(new Exception());

            //Ensure exception created by hangfire
            mockedJobClient.Setup(j => j.Create(It.IsAny <Job>(), It.IsAny <EnqueuedState>())).Throws(new Exception("testing exception"));

            // Act
            Action action = () => sut.SendSubmission(id, submissionVm);

            // Assert
            action.Should().NotThrow <Exception>();
            mockedJobClient.Verify(x => x.Create(
                                       It.Is <Job>(job => job.Method.Name == "SendMessageAsync" && job.Args[0] == submissionVm),
                                       It.IsAny <EnqueuedState>()
                                       ));
        }
Example #8
0
        public async Task GetSubmissionForSnapshotYear_Returns_null_when_year_does_not_exist()
        {
            // Mocks
            mockDataRepo.Setup(dr => dr.GetAll <Return>())
            .Returns(
                new[] {
                new Return {
                    ReturnId = 1, OrganisationId = 2, AccountingDate = new DateTime(1999, 1, 1)
                },
                new Return {
                    ReturnId = 2, OrganisationId = 1, AccountingDate = new DateTime(1999, 1, 2)
                },
                new Return {
                    ReturnId = 3, OrganisationId = 1, AccountingDate = new DateTime(2000, 1, 3)
                },
                new Return {
                    ReturnId = 4, OrganisationId = 1, AccountingDate = new DateTime(2000, 1, 4)
                },
                new Return {
                    ReturnId = 5, OrganisationId = 2, AccountingDate = new DateTime(2000, 1, 5)
                }
            }.AsQueryable()
                .BuildMock()
                .Object);

            var sharedBusinessLogic = UiTestHelper.DIContainer.Resolve <ISharedBusinessLogic>();

            var testSubmissionService = new SubmissionService(sharedBusinessLogic, Mock.Of <ISubmissionBusinessLogic>(), Mock.Of <IScopeBusinessLogic>(), Mock.Of <IDraftFileBusinessLogic>());
            var testPresenter         = new SubmissionPresenter(testSubmissionService, ConfigHelpers.SubmissionOptions, null);

            // Assert
            Return actualReturn = await testPresenter.GetReturnFromDatabaseAsync(1, 1998);

            Expect(actualReturn == null);
        }
Example #9
0
        public async void FindByAsync_Should_Return_Correct_Data()
        {
            const string id = "123";
            //arrange
            var mockedRepo        = new Mock <IGenericRepository <SubmissionVM> >();
            var mockedConfigRepo  = new Mock <IGenericRepository <ConfigVM> >();
            var mockedConfig      = new Mock <IAppConfiguration <ConfigVM> >();
            var mockedAppSettings = new Mock <IConfiguration>();
            //var mockedIdGenerator = new Mock<IUidGeneratorService>();
            var sut = new SubmissionService(mockedRepo.Object, mockedConfigRepo.Object, mockedConfig.Object, mockedAppSettings.Object);

            var submissionVm = new SubmissionVM {
                Id = id
            };
            var query = new List <SubmissionVM> {
                submissionVm
            }.AsQueryable();

            mockedRepo.Setup(x => x.FindByAsync(m => m.Id == id)).ReturnsAsync(query);
            //act
            var result = await sut.FindByAsync(m => m.Id == id);

            //assert
            var submissionVms = result as SubmissionVM[] ?? result.ToArray();

            submissionVms.ToList()[0].Id.Should().Be(id);
        }
Example #10
0
        public async Task DraftFile_GetDraftFile_Returns_A_Valid_DraftAsync()
        {
            // Arrange
            User         mockedUser         = UserHelper.GetNotAdminUserWithVerifiedEmailAddress();
            Organisation mockedOrganisation = OrganisationHelper.GetPublicOrganisation();

            mockedOrganisation.OrganisationId = new Random().Next(1000, 9999);
            UserOrganisation mockedUserOrganisation = UserOrganisationHelper.LinkUserWithOrganisation(mockedUser, mockedOrganisation);
            Return           mockedReturn           = ReturnHelper.GetSubmittedReturnForOrganisationAndYear(mockedUserOrganisation, ConfigHelpers.SharedOptions.FirstReportingYear);

            OrganisationHelper.LinkOrganisationAndReturn(mockedOrganisation, mockedReturn);

            var testDraftFileBL       = new DraftFileBusinessLogic(null, new SystemFileRepository(new StorageOptions()));
            var sharedBusinessLogic   = UiTestHelper.DIContainer.Resolve <ISharedBusinessLogic>();
            var testSubmissionService = new SubmissionService(sharedBusinessLogic, Mock.Of <ISubmissionBusinessLogic>(), Mock.Of <IScopeBusinessLogic>(), testDraftFileBL);
            var testPresenter         = new SubmissionPresenter(testSubmissionService, ConfigHelpers.SubmissionOptions, null);

            // Act
            Draft actualDraft = await testPresenter.GetDraftFileAsync(
                mockedOrganisation.OrganisationId,
                mockedOrganisation.SectorType.GetAccountingStartDate().Year,
                mockedUser.UserId);

            // Assert
            Assert.NotNull(actualDraft);
            Assert.True(actualDraft.IsUserAllowedAccess);
            Assert.AreEqual(mockedUser.UserId, actualDraft.LastWrittenByUserId);

            // Clean up
            await testDraftFileBL.DiscardDraftAsync(actualDraft);
        }
Example #11
0
        public void GetSubmissionChangeSummary_Detects_when_the_website_url_has_changed()
        {
            var testOldReturn = new Return {
                CompanyLinkToGPGInfo = "", Organisation = new Organisation {
                    SectorType = SectorTypes.Private
                }
            };

            var sharedBusinessLogic = UiTestHelper.DIContainer.Resolve <ISharedBusinessLogic>();

            // Mocks
            var testSubmissionService = new SubmissionService(sharedBusinessLogic, Mock.Of <ISubmissionBusinessLogic>(), Mock.Of <IScopeBusinessLogic>(), Mock.Of <IDraftFileBusinessLogic>());
            var testPresenter         = new SubmissionPresenter(testSubmissionService, ConfigHelpers.SubmissionOptions, null);

            // Copy the original
            var testNewReturn = (Return)testOldReturn.CopyProperties(new Return());

            // Make the change
            testNewReturn.CompanyLinkToGPGInfo = "http://unittesting";

            // Assert
            SubmissionChangeSummary testChangeSummary = testPresenter.GetSubmissionChangeSummary(testNewReturn, testOldReturn);
            string failMessage = $"Assert: Failed to detect {nameof(testNewReturn.CompanyLinkToGPGInfo)} had changed";

            Expect(testChangeSummary.HasChanged, failMessage);
            Expect(testChangeSummary.FiguresChanged == false, failMessage);
            Expect(testChangeSummary.OrganisationSizeChanged == false, failMessage);
            Expect(testChangeSummary.PersonResonsibleChanged == false, failMessage);
            Expect(testChangeSummary.WebsiteUrlChanged, failMessage);
        }
        public async Task <IActionResult> Submit(int userId, int commitId)
        {
            if (userId != User.Id && ClassroomRole < ClassroomRole.Admin)
            {
                return(Forbid());
            }

            var submission = await SubmissionService.SubmitCheckpointAsync
                             (
                ClassroomName,
                ProjectName,
                CheckpointName,
                userId,
                commitId
                             );

            var viewModel = new SubmittedViewModel
                            (
                submission.Commit,
                submission.Commit.GetCommitUrl(Url),
                submission.Checkpoint,
                TimeZoneProvider
                            );

            return(View("Submitted", viewModel));
        }
        public async Task <IActionResult> SendFeedback(string sectionName)
        {
            var section = Classroom.Sections
                          .SingleOrDefault(s => s.Name == sectionName);

            if (section == null)
            {
                return(NotFound());
            }

            await SubmissionService.SendFeedbackAsync
            (
                ClassroomName,
                ProjectName,
                CheckpointName,
                sectionName,
                submission => $"{_webAppHost.HostName}" +
                Url.Action
                (
                    "ViewFeedback",
                    new { submissionId = submission.Id }
                )
            );

            return(RedirectToAction("Grade"));
        }
Example #14
0
 public DetailModel(ILogger <DetailModel> logger, TaskService taskService, IAuthorizationService authService, SubmissionService submissionService)
 {
     _logger             = logger;
     _taskService        = taskService;
     _authService        = authService;
     _submisssionService = submissionService;
 }
 public VoteController()
 {
     this._voteService       = new VoteService();
     this._userService       = new UserService();
     this._submissionService = new SubmissionService();
     this._commentService    = new CommentService();
 }
        public void Should_Be_Right_Submissions_When_Find_By_Challenge_And_Acceleration(int challengeId, int accelerationId)
        {
            var fakeContext = new FakeContext("SubmissionByChallengeAndAcceleration");

            fakeContext.FillWithAll();

            using (var context = new CodenationContext(fakeContext.FakeOptions))
            {
                var expected = fakeContext.GetFakeData <Candidate>().
                               Where(candidate => candidate.AccelerationId == accelerationId).
                               Join(fakeContext.GetFakeData <User>(),
                                    candidate => candidate.UserId,
                                    user => user.Id,
                                    (candidate, user) => user).
                               Join(fakeContext.GetFakeData <Submission>(),
                                    user => user.Id,
                                    submission => submission.UserId,
                                    (user, submission) => submission).
                               Where(submission => submission.ChallengeId == challengeId).
                               Distinct().
                               ToList();

                var service = new SubmissionService(context);
                var actual  = service.FindByChallengeIdAndAccelerationId(accelerationId, challengeId);

                Assert.Equal(expected, actual, new SubmissionIdComparer());
            }
        }
Example #17
0
        public void IsCurrentSnapshotYear_Returns_true_When_SnapshotYear_is_the_Current_Year()
        {
            var currentSnapshotYear = 2001;
            var testSnapshotYear    = 2001;

            // Mocks
            var mockService = new Mock <SubmissionService>(
                mockDataRepo.Object,
                mockScopeBL.Object,
                _mockDraftFileBL.Object);

            mockService.CallBase = true;

            // Override GetReportingStartDate and return expectedYear
            mockService.Setup(ss => ss.GetSnapshotDate(It.IsAny <SectorTypes>(), It.IsAny <int>()))
            .Returns(new DateTime(currentSnapshotYear, 4, 5));

            // Sanity checks
            Expect(currentSnapshotYear == testSnapshotYear, "SanityCheck: curReportingYear should equal the testReportingStartYear");

            // Assert
            SubmissionService testService = mockService.Object;

            Expect(testService.IsCurrentSnapshotYear(SectorTypes.Private, testSnapshotYear));
        }
Example #18
0
        public async void GetByIdAsync_Should_Return_Correct_Data()
        {
            const string id = "123";
            //arrange
            var mockedRepo = new Mock <IGenericRepository <SubmissionVM> >();
            var mockedServiceBusService = new Mock <IServiceBusService>();
            var mockedJobClient         = new Mock <IBackgroundJobClient>();
            var mockedConfigRepo        = new Mock <IGenericRepository <ConfigVM> >();
            var mockedConfig            = new Mock <IAppConfiguration <ConfigVM> >();
            var mockedAppSettings       = new Mock <IConfiguration>();
            //var mockedIdGenerator = new Mock<IUidGeneratorService>();
            var sut = new SubmissionService(mockedRepo.Object, mockedServiceBusService.Object, mockedJobClient.Object);     //, mockedConfigRepo.Object, mockedConfig.Object, mockedAppSettings.Object);

            var submissionVm = new SubmissionVM {
                Id = id
            };
            var doc = new DocumentResponse <SubmissionVM>(submissionVm);

            mockedRepo.Setup(x => x.GetByIdAsync(It.IsAny <string>())).ReturnsAsync(doc);
            //act
            var result = await sut.GetByIdAsync(id);

            //assert
            result.Id.Should().Be(id);
        }
Example #19
0
        public override void InitManager(object model)
        {
            securityService.CreateAccessContext();

            // get db context
            new Services.SecurityService(db).CreateAccessContext();

            CollectionService collectionSrv = new CollectionService(db);
            EntityTypeService entityTypeSrv = new EntityTypeService(db);
            SubmissionService formService   = new SubmissionService(db);

            securityService.CreateAccessContext();

            Form form = db.FormTemplates.Where(f => f.Id == FormId).FirstOrDefault();
            List <SelectListItem> listFormFields = new List <SelectListItem>();

            if (form != null)
            {
                GetFormField(form.Fields, "", ref listFormFields);

                mFormFields = new SelectList(listFormFields, "Value", "Text");
            }

            if (EntityTypeId > 0)
            {
                mAttributeFields = new SelectList(entityTypeService.GetEntityTypeById(EntityTypeId).AttributeMappings, "Name", "Name");
            }

            base.InitManager(model);
        }
        public async void FindByAsync_Should_Not_Be_Null()
        {
            const string id = "123";
            //arrange
            var mockedRepo       = new Mock <IGenericRepository <SubmissionVM> >();
            var mockedConfigRepo = new Mock <IGenericRepository <ConfigVM> >();
            var mockedConfig     = new Mock <IAppConfiguration <ConfigVM> >();
            var sut = new SubmissionService(mockedRepo.Object, mockedConfigRepo.Object, mockedConfig.Object);

            var submissionVm = new SubmissionVM {
                Id = id
            };
            var query = new List <SubmissionVM> {
                submissionVm
            }.AsQueryable();

            mockedRepo.Setup(x => x.FindByAsync(m => m.Id == id)).ReturnsAsync(query);
            //act
            var result = await sut.FindByAsync(m => m.Id == id);

            //assert
            var submissionVms = result as SubmissionVM[] ?? result.ToArray();

            submissionVms.ToList().Should().NotBeNull();
        }
Example #21
0
        public void GetSubmissionForSnapshotYear_Returns_null_when_year_does_not_exist()
        {
            // Mocks
            mockDataRepo.Setup(dr => dr.GetAll <Return>())
            .Returns(
                new[] {
                new Return {
                    ReturnId = 1, OrganisationId = 2, AccountingDate = new DateTime(1999, 1, 1)
                },
                new Return {
                    ReturnId = 2, OrganisationId = 1, AccountingDate = new DateTime(1999, 1, 2)
                },
                new Return {
                    ReturnId = 3, OrganisationId = 1, AccountingDate = new DateTime(2000, 1, 3)
                },
                new Return {
                    ReturnId = 4, OrganisationId = 1, AccountingDate = new DateTime(2000, 1, 4)
                },
                new Return {
                    ReturnId = 5, OrganisationId = 2, AccountingDate = new DateTime(2000, 1, 5)
                }
            }.AsQueryable()
                .BuildMock()
                .Object);

            var testService = new SubmissionService(
                mockDataRepo.Object,
                mockScopeBL.Object,
                _mockDraftFileBL.Object);

            // Assert
            Return actualReturn = testService.GetReturnFromDatabase(1, 1998);

            Expect(actualReturn == null);
        }
Example #22
0
        public void GetSubmissionChangeSummary_Detects_when_the_website_url_has_changed()
        {
            var testOldReturn = new Return {
                CompanyLinkToGPGInfo = "", Organisation = new Organisation {
                    SectorType = SectorTypes.Private
                }
            };

            // Mocks
            var testService = new SubmissionService(
                mockDataRepo.Object,
                mockScopeBL.Object,
                _mockDraftFileBL.Object);

            // Copy the original
            var testNewReturn = (Return)testOldReturn.CopyProperties(new Return());

            // Make the change
            testNewReturn.CompanyLinkToGPGInfo = "http://unittesting";

            // Assert
            SubmissionChangeSummary testChangeSummary = testService.GetSubmissionChangeSummary(testNewReturn, testOldReturn);
            string failMessage = $"Assert: Failed to detect {nameof(testNewReturn.CompanyLinkToGPGInfo)} had changed";

            Expect(testChangeSummary.HasChanged, failMessage);
            Expect(testChangeSummary.FiguresChanged == false, failMessage);
            Expect(testChangeSummary.OrganisationSizeChanged == false, failMessage);
            Expect(testChangeSummary.PersonResonsibleChanged == false, failMessage);
            Expect(testChangeSummary.WebsiteUrlChanged, failMessage);
        }
Example #23
0
        public ActionResult Edit(FormViewModel vm)
        {
            var model = GetModel();

            if (ModelState.IsValid)
            {
                FormContainer formContainer = model.Region <FormContainer>("FormContainer");
                CFItem        submission    = SubmissionService.SaveSubmission(
                    vm.Form,
                    vm.FormSubmissionRef,
                    vm.ItemId,
                    formContainer.EntityTypeId,
                    formContainer.FormId,
                    formContainer.CollectionId);

                CFAuditEntry.eAction action = submission.Id == 0 ? CFAuditEntry.eAction.Create : CFAuditEntry.eAction.Update;
                string actor = User.Identity.IsAuthenticated ? User.Identity.Name : "Annonymous";
                Db.SaveChanges(User.Identity);

                string confirmLink = "confirmation";
                return(Redirect(confirmLink));
            }

            ViewBag.PageModel = model;
            return(View(model.GetView(), vm));
        }
        public HttpResponseMessage SelectById(int id)
        {
            ItemResponse <Submission> response = new ItemResponse <Submission>();

            response.Item = SubmissionService.GetById(id);

            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
        public SubmissionServiceTest()
        {
            _contextoFake = new FakeContext("SubmissionTest");
            _contextoFake.FillWithAll();

            _contexto          = new CodenationContext(_contextoFake.FakeOptions);
            _submissionService = new SubmissionService(_contexto);
        }
Example #26
0
        public JsonResult Submit(FormViewModel vm, FormContainer formContainer)
        {
            if (ModelState.IsValid)
            {
                SubmissionService subSrv = new SubmissionService(Db);
                //add AttributeMappings -- Apr 10 2018
                IDictionary <string, string> attributeMappings = new Dictionary <string, string>();
                foreach (var map in formContainer.FieldMappings)
                {
                    attributeMappings.Add(map.AttributeName, map.FieldName);
                }
                CFItem submission = subSrv.SaveSubmission(
                    vm.Form,
                    vm.FormSubmissionRef,
                    vm.ItemId,
                    formContainer.EntityTypeId,
                    formContainer.FormId,
                    formContainer.CollectionId, attributeMappings);

                //Sept 16 2019 -- if formContainer.AttachItemToUser = true, throw exception if current user is not authenticate
                if (formContainer.AttachItemToUser)
                {
                    if (!User.Identity.IsAuthenticated)
                    {
                        //throw new HttpException("You have to authenticate to save this page.");
                        vm.Errors = new Dictionary <string, string[]>();
                        vm.Errors.Add("NotAuthorized", (new string[] { "You are not authorized." }));
                        return(Json(vm));
                    }
                }


                // Set's the audit log value when saving.
                // TODO: this should be more automated.
                CFAuditEntry.eAction action = submission.Id == 0 ? CFAuditEntry.eAction.Create : CFAuditEntry.eAction.Update;
                string actor = User.Identity.IsAuthenticated ? User.Identity.Name : "Annonymous";



                Db.SaveChanges(User.Identity);
            }
            else
            {
                vm.Errors = new Dictionary <string, string[]>();

                IEnumerable <KeyValuePair <string, System.Web.Mvc.ModelState> > errors = ModelState.Where(m => m.Value.Errors.Count > 0);
                List <string> errorList = new List <string>();
                foreach (var error in errors)
                {
                    vm.Errors.Add(error.Key, error.Value.Errors.Select(e => e.ErrorMessage).ToArray());
                    // errorList.AddRange(error.Value.Errors.Select(e => e.ErrorMessage));
                }

                // vm.Errors.Add("Message", errorList.ToArray());
            }

            return(Json(vm));
        }
 public DutyMessageController(
     DutyMessageRepository repository,
     MappingService mappingService,
     SubmissionService submissionService)
 {
     _repository        = repository;
     _mappingService    = mappingService;
     _submissionService = submissionService;
 }
        public HttpResponseMessage SelectBySubmissionID(int id)
        {
            List <Submission>          submissions = SubmissionService.GetByListingId(id);
            ItemsResponse <Submission> response    = new ItemsResponse <Submission>();

            response.Items = submissions;

            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
        public HttpResponseMessage GetApplicantById(int id)
        {
            ItemResponse <Applicant> response = new ItemResponse <Applicant>
            {
                Item = SubmissionService.GetApplicantById(id)
            };

            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
Example #30
0
 public DetailModel(
     SubmissionService submissionService,
     TestCaseService testCaseService,
     TestService testService)
 {
     _submissionService = submissionService;
     _testCaseService   = testCaseService;
     _testService       = testService;
 }