public async Task CreateCallsValidatorWithCorrectItineraryEditModelAndEventSummaryModel()
        {
            var model = new ItineraryEditModel
            {
                EventId = 1,
                Name    = "Test",
                Date    = new DateTime(2016, 06, 01)
            };

            var mediator = new Mock <IMediator>();

            var eventSummaryModel = new EventSummaryModel
            {
                Id = 1, Name = "Event", OrganizationId = 1, StartDateTime = new DateTimeOffset(new DateTime(2016, 01, 01)), EndDateTime = new DateTimeOffset(new DateTime(2016, 12, 31))
            };

            mediator.Setup(x => x.SendAsync(It.IsAny <EventSummaryQuery>())).ReturnsAsync(eventSummaryModel);
            mediator.Setup(x => x.SendAsync(It.IsAny <EditItineraryCommand>())).ReturnsAsync(1);

            var mockValidator = new Mock <IItineraryEditModelValidator>();

            mockValidator.Setup(mock => mock.Validate(model, eventSummaryModel)).Returns(new List <KeyValuePair <string, string> >()).Verifiable();

            var sut = new ItineraryController(mediator.Object, mockValidator.Object);

            sut.SetClaims(new List <Claim>
            {
                new Claim(AllReady.Security.ClaimTypes.UserType, UserType.SiteAdmin.ToString()),
                new Claim(AllReady.Security.ClaimTypes.Organization, "1")
            });

            await sut.Create(model);

            mockValidator.Verify(x => x.Validate(model, eventSummaryModel), Times.Once);
        }
Пример #2
0
        public static async Task <IEnumerable <EventSummaryModel> > GetEventSummary(DashboardSearchModel searchModel)
        {
            List <EventSummaryModel> modelResult = new List <EventSummaryModel>();
            EventSummaryModel        report      = null;

            if (searchModel != null)
            {
                object[] param  = new object[] { searchModel.OrganizationUrl, searchModel.StartDate, searchModel.EndDate };
                var      result = await ColligoO365RMOManager <DashboardChartData> .ExecuteSqlQueryAsync(Procedure.UspReportChartData, param);

                //converT data to framework model
                if (result != null && result.Any())
                {
                    Type source      = typeof(DashboardChartData);
                    Type destination = typeof(EventSummaryModel);
                    foreach (var item in result)
                    {
                        report = new EventSummaryModel();
                        CopyHelper.Copy(source, item, destination, report);
                        modelResult.Add(report);
                    }
                }
            }
            return(modelResult);
        }
        public List<KeyValuePair<string, string>> Validate(ItineraryEditModel model, EventSummaryModel eventSummary)
        {
            var result = new List<KeyValuePair<string, string>>();

            if (model.Date < eventSummary.StartDateTime.Date)
            {
                result.Add(new KeyValuePair<string, string>(nameof(model.Date), "Date cannot be earlier than the event start date " + eventSummary.StartDateTime.Date.ToString("d")));
            }

            if (model.Date > eventSummary.EndDateTime.Date)
            {
                result.Add(new KeyValuePair<string, string>(nameof(model.Date), "Date cannot be later than the event end date " + eventSummary.EndDateTime.Date.ToString("d")));
            }

            return result;
        }
Пример #4
0
        public void EventSummaryData(string path)
        {
            var settings = IoC.GetInstance <JsonSerializerSettings>();

            settings.Formatting = Formatting.Indented;

            var json = File.ReadAllText(path);

            var ev = json.FromJson <PersistentEvent>(settings);

            Assert.NotNull(ev);

            var data    = _formattingPluginManager.GetEventSummaryData(ev);
            var summary = new EventSummaryModel {
                TemplateKey = data.TemplateKey,
                Id          = ev.Id,
                Date        = ev.Date,
                Data        = data.Data
            };

            ApprovalsUtility.VerifyFile(Path.ChangeExtension(path, "summary.json"), JsonConvert.SerializeObject(summary, settings));
        }
Пример #5
0
        public void EventSummaryData(string path)
        {
            var settings = GetService <JsonSerializerSettings>();

            settings.Formatting = Formatting.Indented;

            string json = File.ReadAllText(path);

            var ev = json.FromJson <PersistentEvent>(settings);

            Assert.NotNull(ev);

            var data    = GetService <FormattingPluginManager>().GetEventSummaryData(ev);
            var summary = new EventSummaryModel {
                TemplateKey = data.TemplateKey,
                Id          = ev.Id,
                Date        = ev.Date,
                Data        = data.Data
            };

            string expectedContent = File.ReadAllText(Path.ChangeExtension(path, "summary.json"));

            Assert.Equal(expectedContent, JsonConvert.SerializeObject(summary, settings));
        }
Пример #6
0
        public List <KeyValuePair <string, string> > Validate(ItineraryEditModel model, EventSummaryModel eventSummary)
        {
            var result = new List <KeyValuePair <string, string> >();

            if (model.Date < eventSummary.StartDateTime.Date)
            {
                result.Add(new KeyValuePair <string, string>(nameof(model.Date), "Date cannot be earlier than the event start date " + eventSummary.StartDateTime.Date.ToString("d")));
            }

            if (model.Date > eventSummary.EndDateTime.Date)
            {
                result.Add(new KeyValuePair <string, string>(nameof(model.Date), "Date cannot be later than the event end date " + eventSummary.EndDateTime.Date.ToString("d")));
            }

            return(result);
        }