Esempio n. 1
0
        public async Task <bool> SaveStripeConnect(Guid eventId, string auth_Code, bool isStripeConnect)
        {
            try
            {
                var session = await _sessionProvider.Get();

                StripeConnectAccountCommandResult EventData = await _commandSender.Send <StripeConnectAccountCommand, StripeConnectAccountCommandResult>(new StripeConnectAccountCommand
                {
                    AuthorizationCode        = auth_Code,
                    ExtraCommisionPercentage = 25,
                    ExtraCommisionFlat       = 0,
                    channels        = Channels.Feel,
                    EventId         = eventId,
                    IsStripeConnect = isStripeConnect,
                    ModifiedBy      = session.User != null ? session.User.AltId : Guid.Parse("7390283B-4A32-4860-BA3D-B57F1E5F2DAC")
                });

                if (EventData.Success)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                return(false);
            }
        }
Esempio n. 2
0
        public async Task <ApproveModaratePlaceResponseViewModel> ApprovePlace(Guid placeAltID,
                                                                               bool isDeactivate,
                                                                               long eventId,
                                                                               FIL.Contracts.Enums.EventStatus eventStatus)
        {
            try
            {
                string _host   = _httpContextAccessor.HttpContext.Request.Host.Host;
                var    session = await _sessionProvider.Get();

                ApproveModeratePlaceCommandResult placeCalendarResult = await _commandSender.Send <ApproveModeratePlaceCommand, ApproveModeratePlaceCommandResult>(new ApproveModeratePlaceCommand
                {
                    PlaceAltId        = placeAltID,
                    IsDeactivateFeels = isDeactivate,
                    EventStatus       = eventStatus,
                    EventId           = eventId,
                    UpdateAlgolia     = (_host.Contains("dev") || _host.Contains("localhost")) ? false : true
                });

                if (placeCalendarResult.MasterEventTypeId == Contracts.Enums.MasterEventType.Online && !isDeactivate && eventStatus == 0)
                {
                    var   url   = _siteUrlsProvider.GetSiteUrl(_siteIdProvider.GetSiteId());
                    Email email = new Email();
                    email.To           = placeCalendarResult.Email;
                    email.From         = "FeelitLIVE  <*****@*****.**>";
                    email.TemplateName = "creatoreventapprove";
                    email.Variables    = new Dictionary <string, object>
                    {
                        ["eventimage"] = "<img width='100%' alt='Event banner' src='https://s3-us-west-2.amazonaws.com/feelaplace-cdn/images/places/about/" + placeAltID.ToString().ToUpper() + "-about.jpg' />",
                        ["eventlink"]  = !placeCalendarResult.IsTokanize ? $"{url}/place/{placeCalendarResult.ParentCategorySlug}/{placeCalendarResult.Slug}/{placeCalendarResult.SubCategorySlug}"
            : $"{url}/event/{placeCalendarResult.Slug}/{placeCalendarResult.PlaceAltId.ToString().ToLower()}"
                    };
                    await _accountEmailSender.Send(email);
                }

                if (placeCalendarResult.MasterEventTypeId == Contracts.Enums.MasterEventType.Online &&
                    eventStatus == EventStatus.WaitingForApproval &&
                    placeCalendarResult.Success &&
                    !FIL.Contracts.Utils.Constant.TestEmail.TestEmails.Contains(session.User.Email) &&
                    !_host.Contains("localhost") &&
                    !_host.Contains("dev")
                    )
                {
                    StripeConnectAccountCommandResult EventData = await _commandSender.Send <StripeConnectAccountCommand, StripeConnectAccountCommandResult>(new StripeConnectAccountCommand
                    {
                        AuthorizationCode        = "",
                        ExtraCommisionPercentage = 25,
                        ExtraCommisionFlat       = 0,
                        channels        = Channels.Feel,
                        EventId         = placeCalendarResult.PlaceAltId,
                        IsStripeConnect = false,
                        ModifiedBy      = session.User != null ? session.User.AltId : Guid.Parse("7390283B-4A32-4860-BA3D-B57F1E5F2DAC")
                    });

                    List <EmailTemplate> emailTemplates = new List <EmailTemplate>();
                    emailTemplates.Add(new EmailTemplate
                    {
                        TemplateName = "fapcreateevent",
                        To           = EventData.Email
                    });
                    emailTemplates.Add(new EmailTemplate
                    {
                        TemplateName = "FILSubmitEventForApprovalAlertToCorp",
                        To           = "*****@*****.**"
                    });
                    foreach (var emailTemplate in emailTemplates)
                    {
                        StringBuilder ticketCategories = new StringBuilder();
                        foreach (var eventTicketDetail in EventData.EventTicketDetail)
                        {
                            var eventTicketAttribute = EventData.EventTicketAttribute.Where(s => s.EventTicketDetailId == eventTicketDetail.Id).FirstOrDefault();
                            var ticketCategory       = EventData.TicketCategories.Where(s => s.Id == eventTicketDetail.TicketCategoryId).FirstOrDefault();
                            ticketCategories.Append("<tr>");
                            ticketCategories.Append($"<td style='font-family: Verdana, Geneva, Tahoma, sans-serif; font-size: 14px; line-height: 26px; color: #333;' width='200'>{ticketCategory.Name}: </td> <td style='font-family: Verdana, Geneva, Tahoma, sans-serif; font-size: 14px; line-height: 26px; color: #333;'>{EventData.CurrencyType.Code} {eventTicketAttribute.Price}</td> ");
                            ticketCategories.Append("</tr>");
                        }
                        Email email = new Email();
                        email.To           = emailTemplate.To;
                        email.From         = "FeelitLIVE  <*****@*****.**>";
                        email.TemplateName = emailTemplate.TemplateName;
                        email.Variables    = new Dictionary <string, object>
                        {
                            ["eventimage"]       = "<img width='100%' alt='Event banner' src='https://s3-us-west-2.amazonaws.com/feelaplace-cdn/images/places/about/" + EventData.Event.AltId.ToString().ToUpper() + "-about.jpg' />",
                            ["eventname"]        = EventData.Event.Name,
                            ["eventdatetime"]    = $"{EventData.EventDetail.StartDateTime.ToString("MMM dd, yyyy").ToUpper()} {EventData.DayTimeMappings.StartTime}",
                            ["ticketcategories"] = ticketCategories.ToString(),
                        };
                        await _accountEmailSender.Send(email);
                    }
                }
                return(new ApproveModaratePlaceResponseViewModel {
                    Success = true
                });
            }
            catch (Exception e)
            {
                return(new ApproveModaratePlaceResponseViewModel {
                    Success = false
                });
            }
        }