public EventDetailViewModel(EventDetailDto e)
 {
     Id              = e.Id;
     EventTypeName   = e.EventTypeTitle;
     EventSeriesId   = e?.EventSeriesId ?? 0;
     EventSeriesName = e?.EventSeriesName ?? "";
     CreatorName     = e.OwnerDisplayName;
     CreatorEmail    = e.OwnerEmail;
     Title           = e.Title;
     Description     = e.Description;
     //FundCenter = e.FundCenter;
     StartDate                   = e.StartDate;
     EndDate                     = e.EndDate;
     RegistrationOpenDate        = e.RegStartDate;
     RegistrationClosedDate      = e.RegEndDate;
     MinRegistrationCount        = e.MinRegs;
     MaxRegistrationCount        = e.MaxRegs;
     AllowStandby                = e.MaxStandByRegs < 0;
     MaxStandbyRegistrationCount = e.MaxStandByRegs;
     AddressLine1                = e.Street;
     AddressLine2                = e.Suite;
     City  = e.City;
     State = e.State;
     Zip   = e.Zip;
     TotalRegistrations    = e.CurrentAcceptedRegistrationsCount + e.CurrentPendingRegistrationsCount + e.CurrentRejectedRegistrationsCount + e.CurrentStandbyRegistrationsCount;
     AcceptedRegistrations = e.CurrentAcceptedRegistrationsCount;
     PendingRegistrations  = e.CurrentPendingRegistrationsCount;
     StandbyRegistrations  = e.CurrentStandbyRegistrationsCount;
     RejectedRegistrations = e.CurrentRejectedRegistrationsCount;
 }
        public async Task <IActionResult> UpdateEventAsync([FromQuery] EventDetailDto data)
        {
            var message = new SaveEventMessage
            {
                Detail = data,
                Action = ActionType.Update
            };
            var result = await _mediator.Send(message);

            return(Ok(result));
        }
示例#3
0
        public DetailWindow(EventDetailDto dto)
        {
            InitializeComponent();

            string detail = "Event\nId: " + dto.Id + "\nName: " + dto.Name + "\nDate: " + dto.Date + "\nStart Time: " + dto.StartTime +
                            "\nEnd Time: " + dto.EndTime + "\nGenre: " + dto.Genre + "\nArtist Names: " + dto.ArtistNames + "\n\nLocation\nName: " + dto.LocationName +
                            "\nBuilding: " + dto.LocationBuilding + "\nRoom: " + dto.LocationRoom + "\nStreet: " + dto.LocationStreet + "\nZip: " + dto.LocationZip +
                            "\nCity: " + dto.LocationCity + "\nCountry: " + dto.LocationCity + "\n\nEvent Series\nName: " + dto.EventSeriesName +
                            "\nDescription: " + dto.EventSeriesDescription + "\n\nHost\nFirst Name:" + dto.EventHostFirstName + "\nLast Name: " + dto.EventHostLastName +
                            "\nEmail: " + dto.EventHostEmail + "\nPhone: " + dto.EventHostPhone;

            eventDetail.Text = detail;
        }
示例#4
0
        public ActionResult <EventDetailDto> Put(string id, [FromBody] EventDetailDto eventDto)
        {
            var scheduledEvent = _eventsRepo.Get(id);

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

            _mapper.Map(eventDto, scheduledEvent);
            _eventsRepo.Update(scheduledEvent);
            return(_mapper.Map <EventDetailDto>(scheduledEvent));
        }
示例#5
0
        public void UpdateEventHeader(int id, EventDetailDto ev)
        {
            Event eventHeader = new Event()
            {
                Id               = id,
                Name             = ev.Name,
                DateEnd          = ev.DateEnd,
                DateInitial      = ev.DateInitial,
                Description      = ev.Description,
                EventOrganizerId = ev.EventOrganizerId,
                People           = null,
                Place            = ev.Place,
                Guests           = null
            };

            this.unitOfWork.EventRepository.Update(eventHeader);
        }
        private async void DataGridRow_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            DataGridRow row = sender as DataGridRow;
            EventDto eventDto = row.Item as EventDto;

            string eventId = eventDto.Id.ToString();
            RestRequest request = new RestRequest();

            string server = null;
            ComboBoxItem item = serverSelect.SelectedItem as ComboBoxItem;
            server = item.Content.ToString() == "FH" ? _fh : _local;

            EventDetailDto detailDto = await request.GetEvent(server + eventId);

            DetailWindow window = new DetailWindow(detailDto);

            window.ShowDialog();
        }
        public async Task <IActionResult> Update(int id, EventDetailDto eventBookingUpdateDto)
        {
            try
            {
                var eventBooking = await _unitOfWork.EventDetails.GetByIdAsync(id);

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

                _mapper.Map(eventBookingUpdateDto, eventBooking);
                _unitOfWork.EventDetails.Update(eventBooking);
                await _unitOfWork.SaveAsync();

                return(NoContent());
            }
            catch (Exception ex)
            {
                throw new Exception($"Updating user {id} failed on save");
            }
        }
示例#8
0
        private void HandleUserChanges(int eventId, EventDetailDto eventData)
        {
            if (eventData.Users == null)
            {
                return;
            }

            var removedUsers = eventData.Users.Where(x => x.EnumCrud == EnumCrud.DELETED).ToList();

            if (removedUsers.Count > 0)
            {
                foreach (var item in removedUsers)
                {
                    this.unitOfWork.UserEventRepository.RemoveGuestByUser(eventId, item.UserId);
                    eventData.Guests.RemoveAll(x => x.RelatedUserId == item.UserId);

                    this.unitOfWork.UserEventRepository.Delete(new UserEvent()
                    {
                        EventId = eventId, PersonId = item.UserId
                    });
                    eventData.Users.Remove(item);
                }
            }

            //var newUsers = eventData.Users.Where(x => x.EnumCrud == EnumCrud.CREATED).ToList();
            //if(newUsers.Count > 0)
            //{
            //    foreach (var item in newUsers)
            //    {
            //        if (!this.unitOfWork.UserEventRepository.Exists(x=> x.EventId == eventData.Id && x.PersonId == item.UserId))
            //        {
            //            this.unitOfWork.UserEventRepository.Create(new UserEvent { EventId = eventData.Id, PersonId = item.UserId });
            //        }
            //    }
            //}
        }
示例#9
0
        public async Task <ActionResult> UpdateEvent([FromRoute] int id, [FromBody] EventDetailDto ev)
        {
            var updatedEvent = await this.eventService.UpdateEvent(id, ev);

            return(Ok(updatedEvent));
        }
示例#10
0
        public async Task <EventDetailDto> UpdateEvent(int id, EventDetailDto ev)
        {
            var data = await this.unitOfWork.UserRepository.FindByCondition(x => x.Id == ev.CurrentUserId);

            var user = data.FirstOrDefault();
            var userAlreadySubscripted = this.unitOfWork.UserEventRepository.Exists(x => x.EventId == id && x.PersonId == ev.CurrentUserId);

            if (!userAlreadySubscripted)
            {
                this.unitOfWork.UserEventRepository.Create(new UserEvent {
                    EventId = id, PersonId = ev.CurrentUserId
                });
                await this.unitOfWork.Commit();
            }

            if (user != null)
            {
                var alreadyExists = this.unitOfWork.EventRepository.Exists(x => x.Id == id);

                if (alreadyExists)
                {
                    if ((EnumProfile)user.ProfileId == EnumProfile.ORGANIZER || ev.EventOrganizerId == ev.CurrentUserId)
                    {
                        this.UpdateEventHeader(id, ev);
                        this.HandleUserChanges(id, ev);
                    }

                    if (ev.Guests != null)
                    {
                        var newGuests = ev.Guests.Where(x => x.EnumCrud == EnumCrud.CREATED)
                                        .Select(x => new Guest()
                        {
                            IsGuest = true, Name = x.Name, RelatedUserId = x.RelatedUserId, Relantionship = x.Relationship, Events = new List <UserEvent>()
                            {
                                new UserEvent {
                                    EventId = id
                                }
                            }
                        }).ToList();

                        if (newGuests.Count > 0)
                        {
                            await this.unitOfWork.GuestRepository.AddRange(newGuests);

                            await this.unitOfWork.Commit();
                        }

                        var updatedGuests = ev.Guests.Where(x => x.EnumCrud == EnumCrud.UPDATED).Select(guest => new Guest()
                        {
                            Id = guest.Id, IsGuest = true, Name = guest.Name, RelatedUserId = guest.RelatedUserId, Relantionship = guest.Relationship, Events = null
                        }).ToList();

                        if (updatedGuests.Count > 0)
                        {
                            this.unitOfWork.GuestRepository.UpdateRange(updatedGuests);
                            await this.unitOfWork.Commit();
                        }

                        var deletedGuests = ev.Guests.Where(x => x.EnumCrud == EnumCrud.DELETED).Select(guest => new Guest()
                        {
                            Id = guest.Id, IsGuest = true, Name = guest.Name, RelatedUserId = guest.RelatedUserId, Relantionship = guest.Relationship, Events = null
                        }).ToList();

                        if (deletedGuests.Count > 0)
                        {
                            this.unitOfWork.GuestRepository.DeleteRange(deletedGuests);
                            await this.unitOfWork.Commit();
                        }
                    }

                    await this.unitOfWork.Commit();

                    return(await this.GetEventById(id, ev.CurrentUserId));
                }
            }

            return(null);
        }