コード例 #1
0
        public ActionResult<ItemResponse<VirtualEvent>> Get(int id)
        {
            int iCode = 200;
            BaseResponse response = null;
            try
            {
                VirtualEvent virtualEvent = _service.Get(id);
                if (virtualEvent == null)
                {
                    iCode = 404;
                    response = new ErrorResponse("Application Resource not Found");
                }
                else
                {
                    response = new ItemResponse<VirtualEvent> { Item = virtualEvent };
                }
            }
            catch (Exception ex)
            {
                iCode = 500;
                response = new ErrorResponse($"Generic Error: {ex.Message}");
                base.Logger.LogError(ex.ToString());
            }

            return StatusCode(iCode, response);
        }
コード例 #2
0
        public Paged <VirtualEvent> GetAll(int pageIndex, int pageSize)
        {
            Paged <VirtualEvent> pagedList = null;
            List <VirtualEvent>  list      = null;
            int totalCount = 0;

            _data.ExecuteCmd(
                "[dbo].[VirtualEvents_SelectAllDetails]",
                (param) =>
            {
                param.AddWithValue("@pageIndex", pageIndex);
                param.AddWithValue("@pageSize", pageSize);
            },
                (reader, recordSetIndex) =>
            {
                VirtualEvent vEvent = VirtualEventMapper(reader);
                if (totalCount == 0)
                {
                    totalCount = reader.GetSafeInt32(16);
                }

                if (list == null)
                {
                    list = new List <VirtualEvent>();
                }
                list.Add(vEvent);
            });
            if (list != null)
            {
                pagedList = new Paged <VirtualEvent>(list, pageIndex, pageSize, totalCount);
            }
            return(pagedList);
        }
コード例 #3
0
 internal Delegate[] GetVirtualEventInvocationList()
 {
     if (VirtualEvent != null)
     {
         return(VirtualEvent.GetInvocationList());
     }
     else
     {
         return(null);
     }
 }
コード例 #4
0
        public VirtualEvent Get(int id)
        {
            string       procname = "[dbo].[VirtualEvents_SelectById]";
            VirtualEvent vEvent   = null;

            _data.ExecuteCmd(procname, delegate(SqlParameterCollection parameterCollection)
            {
                parameterCollection.AddWithValue("@Id", id);
            }, delegate(IDataReader reader, short set)
            {
                vEvent = VirtualEventMapper(reader);
            }
                             );
            return(vEvent);
        }
コード例 #5
0
        //
        // Tab 2: Create virtual event
        //
        private void btnCreateNewVirtualEventoOk_Click(object sender, EventArgs e)
        {
            DateTime dateTime = dateTimePicker2.Value;
            double   avgSpeed;
            string   eventTitle;
            double   routeLength;

            if (dateTime.CompareTo(DateTime.Now) <= 0)
            {
                MessageBox.Show("You can only create events that take place in the future.");
                return;
            }

            if (string.IsNullOrWhiteSpace(txtAvgSpeedTab2.Text) ||
                !double.TryParse(txtAvgSpeedTab2.Text, out avgSpeed))
            {
                MessageBox.Show("Please enter a value for the event average speed consisting of digits and one comma.");
                return;
            }

            if (string.IsNullOrWhiteSpace(txtEventTitleTab2.Text))
            {
                MessageBox.Show("Please enter a title for the event.");
                return;
            }
            if (db.Events.ContainsKey(txtEventTitleTab2.Text))
            {
                MessageBox.Show("An event with this title already exists. Please provide a different title.");
                return;
            }
            else
            {
                eventTitle = txtEventTitleTab2.Text;
            }

            if (string.IsNullOrWhiteSpace(txtLengthTab2.Text) ||
                !double.TryParse(txtLengthTab2.Text, out routeLength))
            {
                MessageBox.Show("Please enter a value for the event route length consisting of digits and one comma.");
                return;
            }

            Event newEvent = new VirtualEvent(dateTime, avgSpeed, eventTitle, routeLength);

            db.Events.Add(newEvent.EventTitle, newEvent);

            Close();
        }
コード例 #6
0
        private static VirtualEvent VirtualEventMapper(IDataReader reader)
        {
            VirtualEvent vEvent        = new VirtualEvent();
            int          startingIndex = 0;

            vEvent.Id              = reader.GetSafeInt32(startingIndex++);
            vEvent.EventTypeId     = reader.GetSafeInt32(startingIndex++);
            vEvent.EventTypeName   = reader.GetSafeString(startingIndex++);
            vEvent.Name            = reader.GetSafeString(startingIndex++);
            vEvent.Summary         = reader.GetSafeString(startingIndex++);
            vEvent.Description     = reader.GetSafeString(startingIndex++);
            vEvent.VirtualTypeId   = reader.GetSafeInt32(startingIndex++);
            vEvent.VirtualTypeName = reader.GetSafeString(startingIndex++);
            vEvent.ImageUrl        = reader.GetSafeString(startingIndex++);
            vEvent.ExternalSiteUrl = reader.GetSafeString(startingIndex++);
            vEvent.IsFree          = reader.GetSafeBool(startingIndex++);
            vEvent.DateCreated     = reader.GetSafeDateTime(startingIndex++);
            vEvent.DateModified    = reader.GetSafeDateTime(startingIndex++);
            vEvent.DateStart       = reader.GetSafeDateTime(startingIndex++);
            vEvent.DateEnd         = reader.GetSafeDateTime(startingIndex++);
            vEvent.EventStatusId   = reader.GetSafeInt32(startingIndex);

            return(vEvent);
        }
コード例 #7
0
ファイル: Database.cs プロジェクト: catWithATemper/JoggingPal
        protected Database()
        {
            User user1 = new User("Tom", "password");
            User user2 = new User("Alex", "password");
            User user3 = new User("Lisa", "password");
            User user4 = new User("Mario", "password");
            User user5 = new User("Lucia", "password");

            Users.Add(user1.UserName, user1);
            Users.Add(user2.UserName, user2);
            Users.Add(user3.UserName, user3);
            Users.Add(user4.UserName, user4);
            Users.Add(user5.UserName, user5);

            Location route1 = new Location("Ostpark, Munich", 48.112242, 11.630701, 5);
            Location route2 = new Location("Parco di Villa Borghese, Rome", 41.914614, 12.481987, 6);
            Location route3 = new Location("Parco degli Acquedotti, Rome", 41.853406, 12.557115, 10);
            Location route4 = new Location("Englischer Garten, Munich", 48.164334, 11.605598, 8);
            Location route5 = new Location("Parco Sempione, Milan", 45.474371, 9.171659, 4);

            RunningLocations.Add(route1.RouteName, route1);
            RunningLocations.Add(route2.RouteName, route2);
            RunningLocations.Add(route3.RouteName, route3);
            RunningLocations.Add(route4.RouteName, route4);
            RunningLocations.Add(route5.RouteName, route5);

            Event jogging1 = new InPersonEvent(new DateTime(2020, 08, 01, 08, 30, 00),
                                               11.0, "Jogging in the park", route3);
            Event jogging2 = new InPersonEvent(new DateTime(2020, 08, 09, 19, 00, 00),
                                               11.5, "After work jogging", route5);
            Event jogging3 = new VirtualEvent(new DateTime(2020, 8, 21, 09, 00, 00),
                                              10.0, "Jogging as a virtual group", 7.0);
            Event jogging4 = new InPersonEvent(new DateTime(2020, 06, 01, 10, 00, 00),
                                               12.0, "Morning jogging on 1st June", route1);
            Event jogging5 = new VirtualEvent(new DateTime(2020, 7, 28, 19, 00, 00),
                                              11.5, "Jogging in different locations", 5.0);
            Event jogging6 = new InPersonEvent(new DateTime(2020, 5, 15, 11, 00, 00),
                                               10.0, "Speed challenge", route5);
            Event jogging7 = new VirtualEvent(new DateTime(2020, 7, 31, 18, 30, 00),
                                              13.0, "Evening jogging", 5.0);


            Events.Add(jogging1.EventTitle, jogging1);
            Events.Add(jogging2.EventTitle, jogging2);
            Events.Add(jogging3.EventTitle, jogging3);
            Events.Add(jogging4.EventTitle, jogging4);
            Events.Add(jogging5.EventTitle, jogging5);
            Events.Add(jogging6.EventTitle, jogging6);
            Events.Add(jogging7.EventTitle, jogging7);

            Participant part1  = new Participant(user1, jogging1);
            Participant part2  = new Participant(user1, jogging3);
            Participant part3  = new Participant(user1, jogging4);
            Participant part4  = new Participant(user2, jogging4);
            Participant part5  = new Participant(user3, jogging4);
            Participant part6  = new Participant(user4, jogging4);
            Participant part7  = new Participant(user1, jogging5);
            Participant part8  = new Participant(user1, jogging6);
            Participant part9  = new Participant(user2, jogging6);
            Participant part10 = new Participant(user4, jogging6);

            part7.SetRunningLocation(route4);
            part8.SetRunningLocation(route2);

            part3.CheckInAtEvent();
            part4.CheckInAtEvent();
            part5.CheckInAtEvent();
            part6.CheckInAtEvent();
            part8.CheckInAtEvent();
            part9.CheckInAtEvent();
            part10.CheckInAtEvent();

            EventResults results1 = part3.UploadEventResults(TimeSpan.Parse("00:32:15", CultureInfo.InvariantCulture), 10.5, 166);
            EventResults results2 = part4.UploadEventResults(TimeSpan.Parse("00:31:09", CultureInfo.InvariantCulture), null, 170);
            EventResults results3 = part5.UploadEventResults(TimeSpan.Parse("00:34:38", CultureInfo.InvariantCulture), 9.8, null);
            EventResults results4 = part6.UploadEventResults(TimeSpan.Parse("00:35:00", CultureInfo.InvariantCulture), null, null);

            UserGroup group1 = new UserGroup(user1, "Munich Joggers");
            UserGroup group2 = new UserGroup(user2, "Milan Joggers");
            UserGroup group3 = new UserGroup(user3, "City joggers");

            UserGroups.Add(group1.GroupName, group1);
            UserGroups.Add(group2.GroupName, group2);
            UserGroups.Add(group3.GroupName, group3);

            group1.AddMember(user3);
            group1.AddMember(user4);
            group2.AddMember(user4);
            group2.AddMember(user5);
            group3.AddMember(user1);
        }
コード例 #8
0
 public virtual object InvokeVirtualEvent()
 {
     return(VirtualEvent.Invoke());
 }
コード例 #9
0
 public override object InvokeVirtualEvent()
 {
     return(VirtualEvent.Invoke());
 }
コード例 #10
0
ファイル: MockedEventsFixture.cs プロジェクト: ysteiger/moq4
 public void OnVirtualEvent() => VirtualEvent?.Invoke(this, new EventArgs());
コード例 #11
0
        public async Task <IActionResult> Post([FromBody] EventViewModel eventViewModel)
        {
            string userPrincipleName = null;
            string objectId          = null;
            string displayName       = null;

            var idToken = Request.Headers["Authorization"].ToString()?.Split(" ")[1];

            if (!string.IsNullOrEmpty(idToken))
            {
                var handler = new JwtSecurityTokenHandler();
                if (handler.ReadToken(idToken) is JwtSecurityToken tokenS)
                {
                    userPrincipleName = tokenS.Claims.Where(a => a.Type.Equals("upn")).Select(b => b).FirstOrDefault()
                                        ?.Value;
                    objectId    = tokenS.Claims.Where(a => a.Type.Equals("oid")).Select(b => b).FirstOrDefault()?.Value;
                    displayName = tokenS.Claims.Where(a => a.Type.Equals("name")).Select(b => b).FirstOrDefault()?.Value;
                }
            }

            try
            {
                var graphServiceClient = await _graph.GetGraphServiceClient();

                var participants = await _graph.PrepareParticipants(graphServiceClient, eventViewModel.Participants);

                var calendarEvent = await _graph.CreateOnlineEvent(graphServiceClient, eventViewModel, participants);

                var betaGraphServiceClient = await _graph.GetBetaGraphServiceClient();

                await _graph.InstallAppAndAddTabToCalendarEvent(betaGraphServiceClient, calendarEvent.OnlineMeeting.JoinUrl);

                participants.Add(new Participant()
                {
                    Name    = displayName,
                    AadId   = objectId,
                    EmailId = userPrincipleName
                });

                var virtualEvent = new VirtualEvent()
                {
                    Id                 = Guid.NewGuid().ToString(),
                    CreatedDate        = DateTime.UtcNow.ToString(),
                    Subject            = eventViewModel.Subject,
                    StartTime          = eventViewModel.StartDate.ToString(),
                    EndTime            = eventViewModel.EndDate.ToString(),
                    IsActive           = true,
                    JoinWebUrl         = calendarEvent.OnlineMeeting.JoinUrl,
                    ListOfParticipants = participants
                };

                await DocumentDBRepository.CreateItemAsync(virtualEvent);

                return(Ok());
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message + ' ' + e.StackTrace);
                return(BadRequest("Something went wrong!"));
            }
        }