Exemple #1
0
        public string GetHostId(LiveOnlineTransactionDetailResponseModel liveOnlineTransactionDetailResponseModel, string bearerToken)
        {
            try
            {
                //var hostUsers = _eventHostMappingRepository.GetAllByEventId(liveOnlineTransactionDetailResponseModel.EventId).FirstOrDefault();
                //ZoomCreateUserModel zoomCreateUserModel = new ZoomCreateUserModel();
                //zoomCreateUserModel.action = "custCreate";
                //UserInfo userInfo = new UserInfo();
                //userInfo.email = hostUsers.Email;
                //userInfo.first_name = hostUsers.FirstName;
                //userInfo.last_name = hostUsers.LastName;
                //userInfo.type = 1;
                //zoomCreateUserModel.user_info = userInfo;

                //var createUser = Mapper<ZoomCreateUserResponseModel>.MapFromJson(_zoomAPI.PostAPIDetails("/users", zoomCreateUserModel, bearerToken).Result);
                //if (createUser != null && !string.IsNullOrEmpty(createUser.id))
                //{
                //    return createUser.id;
                //}
                //else
                //{
                //    return "eh8X6_qoQlCfo4V1MhXbmA";
                //}
                return("eh8X6_qoQlCfo4V1MhXbmA");
            }
            catch (Exception e)
            {
                return("eh8X6_qoQlCfo4V1MhXbmA");
            }
        }
Exemple #2
0
        private bool Create(LiveOnlineTransactionDetailResponseModel liveOnlineTransactionDetailModel)
        {
            ZoomCreateMeetingModel zoomCreateMeetingModel = new ZoomCreateMeetingModel();

            Contracts.Models.Zoom.Settings settings = new Contracts.Models.Zoom.Settings();
            var bearerToken = GenerateToken();
            var hostUserId  = GetHostId(liveOnlineTransactionDetailModel, bearerToken);

            zoomCreateMeetingModel.topic      = liveOnlineTransactionDetailModel.Name;
            zoomCreateMeetingModel.start_time = liveOnlineTransactionDetailModel.StartDateTime.ToString();

            if (liveOnlineTransactionDetailModel.Channel == Channels.Feel)
            {
                zoomCreateMeetingModel.duration = GetDuration(liveOnlineTransactionDetailModel.StartTime, liveOnlineTransactionDetailModel.EndTime); // In minutes
            }
            else if (liveOnlineTransactionDetailModel.Channel == Channels.Website)
            {
                TimeSpan span = (liveOnlineTransactionDetailModel.EndDateTime - liveOnlineTransactionDetailModel.StartDateTime);

                zoomCreateMeetingModel.duration = Convert.ToInt32(span.Hours);
            }
            zoomCreateMeetingModel.timezone         = "UTC";
            zoomCreateMeetingModel.agenda           = liveOnlineTransactionDetailModel.Description;
            settings.mute_upon_entry                = true;
            settings.registrants_confirmation_email = false;
            settings.registrants_email_notification = false;
            settings.approval_type          = 2;
            zoomCreateMeetingModel.settings = settings;

            string meetingEndpoint       = "/users/" + hostUserId + "/meetings";
            var    createMeetingResponse = Mapper <ZoomCreateMeetingResponseModel> .MapFromJson(_zoomAPI.PostAPIDetails(meetingEndpoint, zoomCreateMeetingModel, bearerToken).Result);

            if (createMeetingResponse != null)
            {
                _zoomMeetingRepository.Save(new Contracts.DataModels.ZoomMeeting
                {
                    MeetingNumber   = createMeetingResponse.id,
                    EventId         = liveOnlineTransactionDetailModel.EventId,
                    HostUserId      = hostUserId,
                    MeetingUuid     = createMeetingResponse.uuid,
                    DurationMinutes = createMeetingResponse.duration,
                    IsEnabled       = true,
                    ModifiedBy      = liveOnlineTransactionDetailModel.CreatorAltId
                });
            }
            else
            {
                return(false);
            }
            return(true);
        }
Exemple #3
0
 public bool SaveTransactedUser(long userId, LiveOnlineTransactionDetailResponseModel liveOnlineTransactionDetailModel, long transactionId)
 {
     _zoomUserRepository.Save(new Contracts.DataModels.ZoomUser
     {
         AltId         = System.Guid.NewGuid(),
         RoleId        = 22, //check for prod attendee role Id
         IsActive      = false,
         IsEnabled     = true,
         UserId        = userId,
         TransactionId = transactionId,
         EventId       = liveOnlineTransactionDetailModel.EventId,
         ModifiedBy    = liveOnlineTransactionDetailModel.CreatorAltId
     });
     return(true);
 }
Exemple #4
0
        private bool InsertUsers(LiveOnlineTransactionDetailResponseModel liveOnlineTransactionDetailModel)
        {
            var eventHostUsers = _eventHostMappingRepository.GetAllByEventId(liveOnlineTransactionDetailModel.EventId);

            foreach (var currentHost in eventHostUsers)
            {
                _zoomUserRepository.Save(new Contracts.DataModels.ZoomUser
                {
                    AltId           = System.Guid.NewGuid(),
                    RoleId          = 21, //check for prod host role Id
                    IsActive        = false,
                    IsEnabled       = true,
                    EventHostUserId = currentHost.Id,
                    EventId         = liveOnlineTransactionDetailModel.EventId,
                    ModifiedBy      = liveOnlineTransactionDetailModel.CreatorAltId
                });
            }
            return(true);
        }
        public FeelOrderConfirmationQueryResult Handle(FeelOrderConfirmationQuery query)
        {
            var transaction = _transactionRepository.GetByAltId(query.TransactionAltId);

            if (transaction == null)
            {
                return(new FeelOrderConfirmationQueryResult
                {
                });
            }
            var orderConfirmation = _orderConfirmationProvider.Get(transaction.Id,
                                                                   query.confirmationFrmMyOrders,
                                                                   query.Channel);

            // Check if transaction is Tiqets One
            var tiqetsTransactions = _tiqetsTransactionRepository.GetByTransactionId(transaction.Id);

            //for live online events
            var IsLiveOnline                        = false;
            var zoomUserModel                       = new ZoomUser();
            var liveOnlineDetailModelData           = new LiveOnlineTransactionDetailResponseModel();
            List <ZoomHostUserModel> hostUsersModel = new List <ZoomHostUserModel>();
            var liveOnlineDetailModel               = _transactionRepository.GetFeelOnlineDetails(transaction.Id);

            if (liveOnlineDetailModel.Any() &&
                liveOnlineDetailModel.Count() == 1 &&
                (liveOnlineDetailModel.Select(s => s.TicketCategoryId).Contains(19452) || liveOnlineDetailModel.Select(s => s.TicketCategoryId).Contains(12259)))
            {
                liveOnlineDetailModelData = liveOnlineDetailModel.FirstOrDefault();
            }
            else
            {
                liveOnlineDetailModelData = liveOnlineDetailModel.Where(s => s.TransactionType == Contracts.Enums.TransactionType.LiveOnline).FirstOrDefault();
            }
            if (liveOnlineDetailModelData != null && liveOnlineDetailModelData.EventcategoryId != 0)
            {
                if (orderConfirmation.orderConfirmationSubContainer.Any(s => s.Event.MasterEventTypeId == Contracts.Enums.MasterEventType.Online))
                {
                    IsLiveOnline  = true;
                    zoomUserModel = _zoomUserRepository.GetByTransactionId(transaction.Id);
                    if (zoomUserModel != null)
                    {
                        var transactionCount = _transactionRepository.GetTransactionCountByEvent(liveOnlineDetailModelData.EventId);
                        if (transactionCount == 1)
                        {
                            var eventHostUsersModel = _eventHostMappingRepository.GetAllByEventId(liveOnlineDetailModelData.EventId);
                            var zoomHostUserModel   = _zoomUserRepository.GetByHostUserIds(eventHostUsersModel.Select(s => s.Id));
                            foreach (var currentZoomUser in zoomHostUserModel)
                            {
                                var currentHostUsersModel = new ZoomHostUserModel();
                                var currentEventHost      = eventHostUsersModel.Where(s => s.Id == currentZoomUser.EventHostUserId).FirstOrDefault();
                                currentHostUsersModel.altId = currentZoomUser.AltId;
                                currentHostUsersModel.email = currentEventHost.Email;
                                hostUsersModel.Add(currentHostUsersModel);
                            }
                        }
                    }
                }
            }

            return(new FeelOrderConfirmationQueryResult
            {
                Transaction = orderConfirmation.Transaction,
                TransactionPaymentDetail = orderConfirmation.TransactionPaymentDetail,
                UserCardDetail = orderConfirmation.UserCardDetail,
                CurrencyType = orderConfirmation.CurrencyType,
                PaymentOption = orderConfirmation.PaymentOption,
                cardTypes = orderConfirmation.cardTypes,
                orderConfirmationSubContainer = orderConfirmation.orderConfirmationSubContainer,
                IsTiqets = tiqetsTransactions != null ? true : false,
                IsHoho = orderConfirmation.IsHoho,
                ZoomUser = zoomUserModel,
                liveOnlineDetailModel = liveOnlineDetailModelData,
                hostUsersModel = hostUsersModel,
                IsLiveOnline = IsLiveOnline
            });
        }