Example #1
0
        public static WebsiteSettings GetById(int Id)
        {
            WebsiteSettings ws = new WebsiteSettings();

            DataProvider.ExecuteCmd(GetConnection, "dbo.WebsiteSettings_SelectById"
                                    , inputParamMapper : delegate(SqlParameterCollection paramCollection)
            {
                paramCollection.AddWithValue("@Id", Id);
            }
                                    , map : delegate(IDataReader reader, short set)
            {
                int startingIndex = 0;

                ws.Id            = reader.GetSafeInt32(startingIndex++);
                ws.SettingsId    = reader.GetSafeInt32(startingIndex++);
                ws.WebsiteId     = reader.GetSafeInt32(startingIndex++);
                ws.SettingsValue = reader.GetSafeString(startingIndex++);
                ws.UserId        = reader.GetSafeString(startingIndex++);
                ws.MediaId       = reader.GetSafeInt32(startingIndex++);
                ws.DateAdded     = reader.GetSafeDateTime(startingIndex++);
                ws.DateModified  = reader.GetSafeDateTime(startingIndex++);
            }
                                    );
            return(ws);
        }
Example #2
0
        public async Task <WebsiteSettings[]> ListSettingsForSubscriptionAsync(string subscriptionId)
        {
            var webSiteSettings = new List <WebsiteSettings>();

            var sites = await GetPagedData(
                () => Client.WebApps.ListAsync(),
                (nextPageLink) => Client.WebApps.ListNextAsync(nextPageLink));

            foreach (var site in sites)
            {
                var settings = new WebsiteSettings
                {
                    Name = site.Name,
                    ResourceGroupName = site.Name
                };

                var applicationSettings = await ListApplicationSettingsAsync(site.ResourceGroup, site.Name);

                settings.ApplicationSettings = applicationSettings.Properties.ToDictionary(x => x.Key, x => x.Value);

                var connectionStrings = await ListConnectionStringsAsync(site.ResourceGroup, site.Name);

                settings.ConnectionStrings = connectionStrings.Properties.ToDictionary(x => x.Key, x => new ConnStringInfo(x.Key, x.Value.Value, x.Value.Type));

                webSiteSettings.Add(settings);
            }

            return(webSiteSettings.ToArray());
        }
Example #3
0
        public static List <WebsiteSettings> Get()
        {
            List <WebsiteSettings> list = null;

            DataProvider.ExecuteCmd(GetConnection, "dbo.WebsiteSettings_SelectAll"
                                    , inputParamMapper : null
                                    , map : delegate(IDataReader reader, short set)
            {
                WebsiteSettings ws = new WebsiteSettings();
                int startingIndex  = 0;

                ws.Id            = reader.GetSafeInt32(startingIndex++);
                ws.SettingsId    = reader.GetSafeInt32(startingIndex++);
                ws.WebsiteId     = reader.GetSafeInt32(startingIndex++);
                ws.SettingsValue = reader.GetSafeString(startingIndex++);
                ws.UserId        = reader.GetSafeString(startingIndex++);
                ws.MediaId       = reader.GetSafeInt32(startingIndex++);
                ws.DateAdded     = reader.GetSafeDateTime(startingIndex++);
                ws.DateModified  = reader.GetSafeDateTime(startingIndex++);

                if (list == null)
                {
                    list = new List <WebsiteSettings>();
                }
                list.Add(ws);
            }
                                    );
            return(list);
        }
 public UserSessionStartObserver(WebsiteSettings settings, ISchemaCache schemaCache, IWebApplicationUrl applicationUrl, IClarifySessionUsageReporter sessionUsageReporter, ILogger logger)
 {
     _settings = settings;
     _schemaCache = schemaCache;
     _applicationUrl = applicationUrl;
     _sessionUsageReporter = sessionUsageReporter;
     _logger = logger;
 }
        //Return the Media Url
        public string GetImageValueBySettingSlug(string settingSlug)                // pass in the setting slug
        {
            WebsiteSettings websiteSettings = GetSettingBySettingSlug(settingSlug); //calls the website object from below

            if (websiteSettings == null || websiteSettings.Media == null)           // performs null check
            {
                return("");
            }
            return(websiteSettings.Media.fullUrl); //returns the full media url
        }
        public string GetStringValueBySettingSlug(string settingSlug)
        {
            WebsiteSettings websiteSettings = GetSettingBySettingSlug(settingSlug); //calls the object from below

            if (websiteSettings == null || websiteSettings.SettingsValue == null)   // performs null check
            {
                return("");
            }
            return(websiteSettings.SettingsValue); //returns the value associated with the setting
        }
Example #7
0
        private void Cleanup(WebsiteSettings websiteSettings)
        {
            var path = websiteSettings.PhysicalDirectory.ToString();

            if (Directory.Exists(path))
            {
                Directory.Delete(path, true);
            }

            CakeHelper.DeleteWebsite(websiteSettings.Name);
        }
Example #8
0
        public void OnGet()
        {
            // Bind the content of default configuration file "appsettings.json" to an instance of DatabaseSettings
            WebsiteSettings website = _configuration.GetSection("website").Get <WebsiteSettings>();

            Hostname = website.Hostname;
            SiteUrl  = website.SiteUrl;
            Protocol = website.Protocol;
            Ssl      = website.Ssl;
            Port     = website.Port;
        }
 public RequestPathAuthenticationPolicy(WebsiteSettings settings, ILogger logger)
 {
     _settings = settings;
     _logger = logger;
     var ignoredFilesSetting = _settings.AnonymousAccessFileExtensions;
     if (ignoredFilesSetting.IsEmpty())
     {
         _logger.LogDebug("Whitelisting authentication for default file extensions: {0}", DefaultExtensionWhiteList);
         ignoredFilesSetting = DefaultExtensionWhiteList;
     }
     else
     {
         _logger.LogDebug("Whitelisting authentication for file extensions from settings : {0}", ignoredFilesSetting);
     }
     _whiteListExtensions = new HashSet<string>(GetWhiteListedExtensions(ignoredFilesSetting), StringComparer.OrdinalIgnoreCase);
 }
Example #10
0
        public static WebsiteSettings GetWebsiteSettings(string name = "Superman")
        {
            WebsiteSettings settings = new WebsiteSettings
            {
                Name = name,
                PhysicalDirectory = "./Test/" + name,
                ApplicationPool   = CakeHelper.GetAppPoolSettings(),
                ServerAutoStart   = true,
                Overwrite         = false
            };

            settings.Binding = IISBindings.Http
                               .SetHostName(name + ".web")
                               .SetIpAddress("*")
                               .SetPort(80);

            return(settings);
        }
Example #11
0
        public static List <WebsiteSettings> GetByWebId(int Id)
        {
            List <WebsiteSettings> WsList = null;

            DataProvider.ExecuteCmd(GetConnection, "WebsiteSettings_GetByWebsiteId"
                                    , inputParamMapper : delegate(SqlParameterCollection paramCollection)
            {
                paramCollection.AddWithValue("@WebsiteId", Id);
            }
                                    , map : delegate(IDataReader reader, short set)
            {
                int startingIndex  = 0;
                WebsiteSettings ws = new WebsiteSettings();

                ws.Id            = reader.GetSafeInt32(startingIndex++);
                ws.SettingsId    = reader.GetSafeInt32(startingIndex++);
                ws.WebsiteId     = reader.GetSafeInt32(startingIndex++);
                ws.SettingsValue = reader.GetSafeString(startingIndex++);
                ws.UserId        = reader.GetSafeString(startingIndex++);
                ws.MediaId       = reader.GetSafeInt32(startingIndex++);
                ws.DateAdded     = reader.GetSafeDateTime(startingIndex++);
                ws.DateModified  = reader.GetSafeDateTime(startingIndex++);

                Website w = new Website();

                w.Id           = reader.GetSafeInt32(startingIndex++);
                w.Name         = reader.GetSafeString(startingIndex++);
                w.Slug         = reader.GetSafeString(startingIndex++);
                w.Description  = reader.GetSafeString(startingIndex++);
                w.Url          = reader.GetSafeString(startingIndex++);
                w.MediaId      = reader.GetSafeInt32(startingIndex++);
                w.DateCreated  = reader.GetSafeDateTime(startingIndex++);
                w.DateModified = reader.GetSafeDateTime(startingIndex++);

                ws.Website = w;

                Settings s = new Settings();

                s.Id             = reader.GetSafeInt32(startingIndex++);
                s.Category       = reader.GetSafeEnum <SettingsCategory>(startingIndex++);
                s.Name           = reader.GetSafeString(startingIndex++);
                s.DateCreated    = reader.GetSafeDateTime(startingIndex++);
                s.DateModified   = reader.GetSafeDateTime(startingIndex++);
                s.SettingType    = reader.GetSafeEnum <SettingsType>(startingIndex++);
                s.Description    = reader.GetSafeString(startingIndex++);
                s.SettingSlug    = reader.GetSafeString(startingIndex++);
                s.SettingSection = reader.GetSafeEnum <SettingsSection>(startingIndex++);

                ws.Setting = s;

                Media m           = new Media();
                m.Id              = reader.GetSafeInt32(startingIndex++);
                m.Url             = reader.GetSafeString(startingIndex++);
                m.MediaType       = reader.GetSafeInt32(startingIndex++);
                m.UserId          = reader.GetSafeString(startingIndex++);
                m.Title           = reader.GetSafeString(startingIndex++);
                m.Description     = reader.GetSafeString(startingIndex++);
                m.ExternalMediaId = reader.GetSafeInt32(startingIndex++);
                m.FileType        = reader.GetSafeString(startingIndex++);
                m.DateCreated     = reader.GetSafeDateTime(startingIndex++);
                m.DateModified    = reader.GetSafeDateTime(startingIndex++);

                if (m.Id != 0)
                {
                    ws.Media = m;
                }

                if (WsList == null)
                {
                    //     new list
                    WsList = new List <WebsiteSettings>();
                }
                // add ws to list
                WsList.Add(ws);
            }
                                    );
            return(WsList);
        }
Example #12
0
        public bool CompleteTransaction(Job job, ActivityLogAddRequest add)
        {
            bool success = false;

            List <ActivityLog> list = _ActivityLogService.GetByJobId(add.JobId);

            foreach (var activity in list)
            {
                int currentStatus = activity.TargetValue;

                if (currentStatus == (int)JobStatus.BringgOnTheWay)
                {
                    _timeCreated = activity.IdCreated;
                }
                if (currentStatus == (int)JobStatus.BringgDone)
                {
                    _timeCompleted = activity.IdCreated;
                }
            }
            TimeSpan timeDifference = _timeCompleted.Subtract(_timeCreated);
            double   toMinutes      = timeDifference.TotalMinutes;

            CreditCardService cardService      = new CreditCardService();
            PaymentRequest    payment          = new PaymentRequest();
            BrainTreeService  brainTreeService = new BrainTreeService();

            List <string> Slugs = new List <string>();

            Slugs.Add("base-price");
            Slugs.Add("price-per-minute");
            Slugs.Add("minimum-job-duration");
            Slugs.Add("website-pricing-model");

            Dictionary <string, WebsiteSettings> dict = WebsiteSettingsServices.getWebsiteSettingsDictionaryBySlug(job.WebsiteId, Slugs);

            WebsiteSettings pricingModel = (dict["website-pricing-model"]);
            WebsiteSettings basePrice    = (dict["base-price"]);
            WebsiteSettings pricePerMin  = (dict["price-per-minute"]);
            WebsiteSettings jobDuration  = (dict["minimum-job-duration"]);

            // - Switch statement to calculate service cost depending on the website's pricing model

            int pricingModelValue = Convert.ToInt32(pricingModel.SettingsValue);

            switch (pricingModelValue)
            {
            case 1:
                _basePrice  = Convert.ToDouble(basePrice.SettingsValue);
                _totalPrice = _basePrice;
                break;

            case 2:
                _webPrice       = Convert.ToDouble(pricePerMin.SettingsValue);
                _minJobDuration = Convert.ToDouble(jobDuration.SettingsValue);

                if (toMinutes <= _minJobDuration)
                {
                    _totalPrice = _webPrice * _minJobDuration;
                }
                else
                {
                    _totalPrice = _webPrice * toMinutes;
                }

                break;

            case 3:
                _webPrice   = Convert.ToDouble(pricePerMin.SettingsValue);
                _basePrice  = Convert.ToDouble(basePrice.SettingsValue);
                _totalPrice = _webPrice + _basePrice;
                break;
            }


            JobsService.UpdateJobPrice(add.JobId, _totalPrice);

            if (job.UserId != null)
            {
                payment.UserId = job.UserId;
            }
            else
            {
                payment.UserId = job.Phone;
            }


            payment.ExternalCardIdNonce = job.PaymentNonce;
            payment.ItemCost            = (decimal)_totalPrice;


            brainTreeService.AdminPaymentService(payment, job.Id);

            //This is where my contribution begins:


            //once the payment goes through, insert the referral code for user A. Existance of a TokenHash will determine if we need to award an userA.
            //NOTE: User A is the initial friend who referred User B.

            String TokenHash = _UserProfileService.GetTokenHashByUserId(job.UserId);
            //string TokenHash = "CED28811-C2DF-4629-8D2B-AE3C478A5A82"; --FOR TESTING PURPOSES
            Guid TokenGuid;

            Guid.TryParse(TokenHash, out TokenGuid);


            if (TokenHash != null)
            {
                bool TokenUsed = TokenService.isTokenUsedReferral(TokenHash);

                Token GetUserA = TokenService.userGetByGuid(TokenGuid);

                string    UserAId        = GetUserA.UserId;
                int       CouponReferral = GetUserA.TokenType;
                TokenType referral       = (TokenType)CouponReferral; //parsing the int into an enum

                if (UserAId != null && referral == TokenType.Invite && TokenUsed == false)
                {
                    //give User A a credit of 25 dollars
                    CouponsDomain userCoupon = TokenService.GetReferralTokenByGuid(TokenHash);

                    UserCreditsRequest insertUserACredits = new UserCreditsRequest();
                    insertUserACredits.Amount          = userCoupon.CouponValue;
                    insertUserACredits.TransactionType = "Add";
                    insertUserACredits.UserId          = UserAId;

                    int forTargetValue = _CreditsService.InsertUserCredits(insertUserACredits);


                    //then update the activity log for USER A to tell them that their friend completed their first order and that they were rewarded credits
                    ActivityLogAddRequest addCreditFriend = new ActivityLogAddRequest();

                    addCreditFriend.ActivityType = ActivityTypeId.CreditsFriend;
                    addCreditFriend.JobId        = job.Id;
                    addCreditFriend.TargetValue  = forTargetValue;
                    addCreditFriend.RawResponse  = Newtonsoft.Json.JsonConvert.SerializeObject(insertUserACredits);
                    _ActivityLogService.Insert(UserAId, addCreditFriend);

                    //update user B's activity log to show that they used the credits for their first payment
                    ActivityLogAddRequest addCredit = new ActivityLogAddRequest();

                    addCredit.ActivityType = ActivityTypeId.Credits;
                    addCredit.JobId        = job.Id;
                    addCredit.TargetValue  = forTargetValue;
                    addCredit.RawResponse  = Newtonsoft.Json.JsonConvert.SerializeObject(insertUserACredits);
                    _ActivityLogService.Insert(UserAId, addCredit);
                }
            }

            bool successpay = AdminPaymentService(payment, job.Id);

            if (successpay)
            {
                JobsService.UpdateJobStatus(JobStatus.Complete, job.ExternalJobId);

                ActivityLogAddRequest log = new ActivityLogAddRequest();
                log.JobId        = job.Id;
                log.TargetValue  = (int)JobStatus.Complete;
                log.ActivityType = ActivityTypeId.BringgTaskStatusUpdated;

                _ActivityLogService.Insert((job.UserId == null) ? job.Phone : job.UserId, log);
            }
            else
            {
                success = false;
            }

            return(success);
        }
Example #13
0
 public WorkContext(ILanguageService languageService, WebsiteSettings websiteSettings)
 {
     _languageService = languageService;
     _websiteSettings = websiteSettings;
 }
Example #14
0
        // Get by website slug - website, media, address
        public static PaginatedItemsResponse <WebsiteSettings> GetSettingsByQuery(PaginatedRequest model)
        {
            List <WebsiteSettings> list = null;
            PaginatedItemsResponse <WebsiteSettings> response = null;


            DataProvider.ExecuteCmd(GetConnection, "dbo.WebsiteSettings_GetByWebsiteSlug_Query"
                                    , inputParamMapper : delegate(SqlParameterCollection paramCollection)
            {
                paramCollection.AddWithValue("@Slug", model.Slug);
                paramCollection.AddWithValue("@CurrentPage", model.CurrentPage);
                paramCollection.AddWithValue("@ItemsPerPage", model.ItemsPerPage);
                paramCollection.AddWithValue("@Query", model.Query);
                paramCollection.AddWithValue("@QueryCategory", model.QueryCategory);
                paramCollection.AddWithValue("@QuerySettingSection", model.QuerySettingSection);
                paramCollection.AddWithValue("@QuerySettingType", model.QuerySettingType);
            }, map : delegate(IDataReader reader, short set)
            {
                if (set == 0)
                {
                    int startingIndex = 0;

                    WebsiteSettings ws = new WebsiteSettings();

                    ws.Id            = reader.GetSafeInt32(startingIndex++);
                    ws.SettingsId    = reader.GetSafeInt32(startingIndex++);
                    ws.WebsiteId     = reader.GetSafeInt32(startingIndex++);
                    ws.SettingsValue = reader.GetSafeString(startingIndex++);
                    ws.UserId        = reader.GetSafeString(startingIndex++);
                    ws.MediaId       = reader.GetSafeInt32(startingIndex++);
                    ws.DateAdded     = reader.GetSafeDateTime(startingIndex++);
                    ws.DateModified  = reader.GetSafeDateTime(startingIndex++);


                    Website c = new Website();

                    c.Id           = reader.GetSafeInt32(startingIndex++);
                    c.Name         = reader.GetSafeString(startingIndex++);
                    c.Slug         = reader.GetSafeString(startingIndex++);
                    c.Description  = reader.GetSafeString(startingIndex++);
                    c.Url          = reader.GetSafeString(startingIndex++);
                    c.MediaId      = reader.GetSafeInt32(startingIndex++);
                    c.DateCreated  = reader.GetSafeDateTime(startingIndex++);
                    c.DateModified = reader.GetSafeDateTime(startingIndex++);
                    c.Phone        = reader.GetSafeString(startingIndex++);


                    if (c.Id != 0)
                    {
                        ws.Website = c;
                    }

                    Settings s = new Settings();

                    s.Id             = reader.GetSafeInt32(startingIndex++);
                    s.Category       = reader.GetSafeEnum <SettingsCategory>(startingIndex++);
                    s.Name           = reader.GetSafeString(startingIndex++);
                    s.DateCreated    = reader.GetSafeDateTime(startingIndex++);
                    s.DateModified   = reader.GetSafeDateTime(startingIndex++);
                    s.SettingType    = reader.GetSafeEnum <SettingsType>(startingIndex++);
                    s.Description    = reader.GetSafeString(startingIndex++);
                    s.SettingSlug    = reader.GetSafeString(startingIndex++);
                    s.SettingSection = reader.GetSafeEnum <SettingsSection>(startingIndex++);

                    if (s.Id != 0)
                    {
                        ws.Setting = s;
                    }

                    Media m = new Media();

                    m.Id              = reader.GetSafeInt32(startingIndex++);
                    m.Url             = reader.GetSafeString(startingIndex++);
                    m.MediaType       = reader.GetSafeInt32(startingIndex++);
                    m.UserId          = reader.GetSafeString(startingIndex++);
                    m.Title           = reader.GetSafeString(startingIndex++);
                    m.Description     = reader.GetSafeString(startingIndex++);
                    m.ExternalMediaId = reader.GetSafeInt32(startingIndex++);
                    m.FileType        = reader.GetSafeString(startingIndex++);
                    m.DateCreated     = reader.GetSafeDateTime(startingIndex++);
                    m.DateModified    = reader.GetSafeDateTime(startingIndex++);


                    if (m.Id != 0)
                    {
                        ws.Media = m;
                    }


                    if (list == null)
                    {
                        list = new List <WebsiteSettings>();
                    }

                    list.Add(ws);
                }
                else if (set == 1)
                {
                    response            = new PaginatedItemsResponse <WebsiteSettings>();
                    response.TotalItems = reader.GetSafeInt32(0);
                }
            }

                                    );

            response.Items        = list;
            response.CurrentPage  = model.CurrentPage;
            response.ItemsPerPage = model.ItemsPerPage;
            response.Query        = model.Query;

            return(response);
        }
Example #15
0
        public static List <WebsiteSettings> GetWebsiteSettingsBySlug(int WebsiteId, List <string> Slugs)
        {
            List <WebsiteSettings> list = new List <WebsiteSettings>();


            {
                DataProvider.ExecuteCmd(GetConnection, "dbo.WebsiteSettings_GetSettingsBySlug"
                                        , inputParamMapper : delegate(SqlParameterCollection paramCollection)
                {
                    paramCollection.AddWithValue("@WebsiteId", WebsiteId);

                    SqlParameter s = new SqlParameter("@Slug", SqlDbType.Structured);
                    if (Slugs != null && Slugs.Any())
                    {
                        s.Value = new NVarcharTable(Slugs);
                    }
                    paramCollection.Add(s);
                }, map : delegate(IDataReader reader, short set)
                {
                    WebsiteSettings ws = new WebsiteSettings();

                    int startingIndex = 0;
                    ws.Id             = reader.GetSafeInt32(startingIndex++);
                    ws.SettingsId     = reader.GetSafeInt32(startingIndex++);
                    ws.WebsiteId      = reader.GetSafeInt32(startingIndex++);
                    ws.SettingsValue  = reader.GetSafeString(startingIndex++);
                    ws.UserId         = reader.GetSafeString(startingIndex++);
                    ws.MediaId        = reader.GetSafeInt32(startingIndex++);
                    ws.DateAdded      = reader.GetSafeDateTime(startingIndex++);
                    ws.DateModified   = reader.GetSafeDateTime(startingIndex++);

                    Website w = new Website();

                    w.Id           = reader.GetSafeInt32(startingIndex++);
                    w.Name         = reader.GetSafeString(startingIndex++);
                    w.Slug         = reader.GetSafeString(startingIndex++);
                    w.Description  = reader.GetSafeString(startingIndex++);
                    w.Url          = reader.GetSafeString(startingIndex++);
                    w.MediaId      = reader.GetSafeInt32(startingIndex++);
                    w.DateCreated  = reader.GetSafeDateTime(startingIndex++);
                    w.DateModified = reader.GetSafeDateTime(startingIndex++);

                    ws.Website = w;

                    Settings s = new Settings();

                    s.Id             = reader.GetSafeInt32(startingIndex++);
                    s.Category       = reader.GetSafeEnum <SettingsCategory>(startingIndex++);
                    s.Name           = reader.GetSafeString(startingIndex++);
                    s.DateCreated    = reader.GetSafeDateTime(startingIndex++);
                    s.DateModified   = reader.GetSafeDateTime(startingIndex++);
                    s.SettingType    = reader.GetSafeEnum <SettingsType>(startingIndex++);
                    s.Description    = reader.GetSafeString(startingIndex++);
                    s.SettingSlug    = reader.GetSafeString(startingIndex++);
                    s.SettingSection = reader.GetSafeEnum <SettingsSection>(startingIndex++);

                    ws.Setting = s;

                    Media m           = new Media();
                    m.Id              = reader.GetSafeInt32(startingIndex++);
                    m.Url             = reader.GetSafeString(startingIndex++);
                    m.MediaType       = reader.GetSafeInt32(startingIndex++);
                    m.UserId          = reader.GetSafeString(startingIndex++);
                    m.Title           = reader.GetSafeString(startingIndex++);
                    m.Description     = reader.GetSafeString(startingIndex++);
                    m.ExternalMediaId = reader.GetSafeInt32(startingIndex++);
                    m.FileType        = reader.GetSafeString(startingIndex++);
                    m.DateCreated     = reader.GetSafeDateTime(startingIndex++);
                    m.DateModified    = reader.GetSafeDateTime(startingIndex++);

                    if (m.Id != 0)
                    {
                        ws.Media = m;
                    }

                    if (list == null)
                    {
                        list = new List <WebsiteSettings>();
                    }

                    list.Add(ws);
                }
                                        );

                return(list);
            }
        }
Example #16
0
 public RegistrationController(IMediator mediator, WebsiteSettings settings)
 {
     _mediator = mediator;
     _settings = settings;
 }
Example #17
0
 public WebSiteModule(IConfiguration configuration)
 {
     _settings = configuration.GetSection("WebsiteSettings").Get <WebsiteSettings>() ?? new WebsiteSettings();
 }
Example #18
0
 public WebSiteModule(WebsiteSettings settings)
 {
     _settings = settings ?? new WebsiteSettings();
 }
Example #19
0
            //Website
            public static void CreateWebsite(WebsiteSettings settings)
            {
                WebsiteManager manager = CakeHelper.CreateWebsiteManager();

                manager.Create(settings);
            }
        //Complete
        public bool CompleteTransaction(Job job, ActivityLogAddRequest add)
        {
            bool success = false;

            List <ActivityLog> list = _ActivityLogService.GetByJobId(add.JobId);

            foreach (var activity in list)
            {
                int currentStatus = activity.TargetValue;

                if (currentStatus == (int)JobStatus.BringgOnTheWay)
                {
                    _timeCreated = activity.IdCreated;
                }
                if (currentStatus == (int)JobStatus.BringgDone)
                {
                    _timeCompleted = activity.IdCreated;
                }
            }
            TimeSpan timeDifference = _timeCompleted.Subtract(_timeCreated);
            double   toMinutes      = timeDifference.TotalMinutes;

            CreditCardService cardService      = new CreditCardService();
            PaymentRequest    payment          = new PaymentRequest();
            BrainTreeService  brainTreeService = new BrainTreeService();

            List <string> Slugs = new List <string>();

            Slugs.Add("base-price");
            Slugs.Add("price-per-minute");
            Slugs.Add("minimum-job-duration");
            Slugs.Add("website-pricing-model");

            Dictionary <string, WebsiteSettings> dict = WebsiteSettingsServices.getWebsiteSettingsDictionaryBySlug(job.WebsiteId, Slugs);

            WebsiteSettings pricingModel = (dict["website-pricing-model"]);
            WebsiteSettings basePrice    = (dict["base-price"]);
            WebsiteSettings pricePerMin  = (dict["price-per-minute"]);
            WebsiteSettings jobDuration  = (dict["minimum-job-duration"]);

            // - Switch statement to calculate service cost depending on the website's pricing model

            int pricingModelValue = Convert.ToInt32(pricingModel.SettingsValue);

            switch (pricingModelValue)
            {
            case 1:
                _basePrice  = Convert.ToDouble(basePrice.SettingsValue);
                _totalPrice = _basePrice;
                break;

            case 2:
                _webPrice       = Convert.ToDouble(pricePerMin.SettingsValue);
                _minJobDuration = Convert.ToDouble(jobDuration.SettingsValue);

                if (toMinutes <= _minJobDuration)
                {
                    _totalPrice = _webPrice * _minJobDuration;
                }
                else
                {
                    _totalPrice = _webPrice * toMinutes;
                }

                break;

            case 3:
                _webPrice   = Convert.ToDouble(pricePerMin.SettingsValue);
                _basePrice  = Convert.ToDouble(basePrice.SettingsValue);
                _totalPrice = _webPrice + _basePrice;
                break;
            }


            JobsService.UpdateJobPrice(add.JobId, _totalPrice);

            if (job.UserId != null)
            {
                payment.UserId = job.UserId;
            }
            else
            {
                payment.UserId = job.Phone;
            }

            payment.ExternalCardIdNonce = job.PaymentNonce;
            payment.ItemCost            = (decimal)_totalPrice;

            String TokenHash = _UserProfileService.GetTokenHashByUserId(job.UserId);
            Guid   TokenGuid;

            Guid.TryParse(TokenHash, out TokenGuid);


            //This section was added by a team member
            if (TokenHash != null)
            {
                bool TokenUsed = TokenService.isTokenUsedReferral(TokenHash);

                //then find the user who referred userB
                //second service: get the userId of userA by using the tokenhash of userB
                //take User B's email and find the user id of the person who referred them (userA) and
                //use the [dbo].[Token_SelectByUserIdAndTokenType] and take UserId from the stored proc

                //[dbo].[Token_GetByGuid]

                //NOTE: User A is the initial friend who referred User B.

                Token GetUserA = TokenService.userGetByGuid(TokenGuid);

                string    UserAId        = GetUserA.UserId;
                int       CouponReferral = GetUserA.TokenType;
                TokenType referral       = (TokenType)CouponReferral;                      //parsing the int into an enum

                if (UserAId != null && referral == TokenType.Invite && TokenUsed == false) //if this user was referred from a friend && that referral coupon type  is 3 && if that coupon is not used, do the thing
                {
                    //give User A a credit of 25 dollars
                    CouponsDomain userCoupon = TokenService.GetReferralTokenByGuid(TokenHash);

                    UserCreditsRequest insertUserACredits = new UserCreditsRequest();
                    insertUserACredits.Amount          = userCoupon.CouponValue;
                    insertUserACredits.TransactionType = "Add";
                    insertUserACredits.UserId          = UserAId;
                    //_CreditsService.InsertUserCredits(insertUserACredits); // get int value for it and plug it ino the targetValue in activitylogrequest
                    int forTargetValue = _CreditsService.InsertUserCredits(insertUserACredits);


                    //then update the activity log for USER A to tell them that their friend completed their first order and that they were rewarded credits
                    ActivityLogAddRequest addCreditFriend = new ActivityLogAddRequest();

                    addCreditFriend.ActivityType = ActivityTypeId.CreditsFriend;
                    addCreditFriend.JobId        = job.Id;
                    addCreditFriend.TargetValue  = forTargetValue;
                    addCreditFriend.RawResponse  = Newtonsoft.Json.JsonConvert.SerializeObject(insertUserACredits);
                    _ActivityLogService.Insert(UserAId, addCreditFriend);

                    //update user B's activity log to show that they used the credits for their first payment
                    ActivityLogAddRequest addCredit = new ActivityLogAddRequest();

                    addCredit.ActivityType = ActivityTypeId.Credits;
                    addCredit.JobId        = job.Id;
                    addCredit.TargetValue  = forTargetValue;
                    addCredit.RawResponse  = Newtonsoft.Json.JsonConvert.SerializeObject(insertUserACredits);
                    _ActivityLogService.Insert(UserAId, addCredit);
                }
            }

            bool successpay = AdminPaymentService(payment, job.Id);

            if (successpay)
            {
                JobsService.UpdateJobStatus(JobStatus.Complete, job.ExternalJobId);

                ActivityLogAddRequest log = new ActivityLogAddRequest();
                log.JobId        = job.Id;
                log.TargetValue  = (int)JobStatus.Complete;
                log.ActivityType = ActivityTypeId.BringgTaskStatusUpdated;

                _ActivityLogService.Insert((job.UserId == null) ? job.Phone : job.UserId, log);
            }
            else
            {
                success = false;
            }

            return(success);
        }
Example #21
0
        //Website
        public static void CreateWebsite(WebsiteSettings settings)
        {
            WebsiteManager manager = CakeHelper.CreateWebsiteManager();

            manager.Create(settings);
        }
Example #22
0
        // get website settings by website slug
        // main service used for multi-tenant platform
        public List <WebsiteSettings> GetSettingsBySlug(string Slug)
        {
            List <WebsiteSettings> list = null;                                           //create empty list of website settings

            DataProvider.ExecuteCmd(GetConnection, "dbo.WebsiteSettings_GetByWebsiteSlug" // connection to sql stored proc
                                    , inputParamMapper : delegate(SqlParameterCollection paramCollection)
            {
                paramCollection.AddWithValue("@Slug", Slug);   // input the slug into sql stored proc

                //the return from sql
            }, map : delegate(IDataReader reader, short set)
            {
                int startingIndex = 0;                                   // starting ordinal

                WebsiteSettings ws = new WebsiteSettings();              // instantiate new website settings object

                ws.Id            = reader.GetSafeInt32(startingIndex++); //assign website settings vales to website object
                ws.SettingsId    = reader.GetSafeInt32(startingIndex++);
                ws.WebsiteId     = reader.GetSafeInt32(startingIndex++);
                ws.SettingsValue = reader.GetSafeString(startingIndex++);
                ws.UserId        = reader.GetSafeString(startingIndex++);
                ws.MediaId       = reader.GetSafeInt32(startingIndex++);
                ws.DateAdded     = reader.GetSafeDateTime(startingIndex++);
                ws.DateModified  = reader.GetSafeDateTime(startingIndex++);

                Website c = new Website();                             // instantiate a new website object

                c.Id           = reader.GetSafeInt32(startingIndex++); // assign website values to website object
                c.Name         = reader.GetSafeString(startingIndex++);
                c.Slug         = reader.GetSafeString(startingIndex++);
                c.Description  = reader.GetSafeString(startingIndex++);
                c.Url          = reader.GetSafeString(startingIndex++);
                c.MediaId      = reader.GetSafeInt32(startingIndex++);
                c.DateCreated  = reader.GetSafeDateTime(startingIndex++);
                c.DateModified = reader.GetSafeDateTime(startingIndex++);
                c.Phone        = reader.GetSafeString(startingIndex++);


                if (c.Id != 0)      // null check to see if website has values
                {
                    ws.Website = c; // if website has values, assign to website settings object
                }

                Settings s = new Settings();                             // instantiate a new instance of settings object

                s.Id             = reader.GetSafeInt32(startingIndex++); // assign settings values to settings object
                s.Category       = reader.GetSafeEnum <SettingsCategory>(startingIndex++);
                s.Name           = reader.GetSafeString(startingIndex++);
                s.DateCreated    = reader.GetSafeDateTime(startingIndex++);
                s.DateModified   = reader.GetSafeDateTime(startingIndex++);
                s.SettingType    = reader.GetSafeEnum <SettingsType>(startingIndex++);
                s.Description    = reader.GetSafeString(startingIndex++);
                s.SettingSlug    = reader.GetSafeString(startingIndex++);
                s.SettingSection = reader.GetSafeEnum <SettingsSection>(startingIndex++);

                if (s.Id != 0)      // null check to see if settings return values
                {
                    ws.Setting = s; // assign returned values to website settings object
                }

                Media m = new Media();                                    // instantiate a new media object

                m.Id              = reader.GetSafeInt32(startingIndex++); //assign media values to media object
                m.Url             = reader.GetSafeString(startingIndex++);
                m.MediaType       = reader.GetSafeInt32(startingIndex++);
                m.UserId          = reader.GetSafeString(startingIndex++);
                m.Title           = reader.GetSafeString(startingIndex++);
                m.Description     = reader.GetSafeString(startingIndex++);
                m.ExternalMediaId = reader.GetSafeInt32(startingIndex++);
                m.FileType        = reader.GetSafeString(startingIndex++);
                m.DateCreated     = reader.GetSafeDateTime(startingIndex++);
                m.DateModified    = reader.GetSafeDateTime(startingIndex++);


                if (m.Id != 0)    // null check to see if media returned values
                {
                    ws.Media = m; // assign returned media values to website settings object
                }


                if (list == null)                        // null check to see if list has any alues
                {
                    list = new List <WebsiteSettings>(); // instantiate a new website settings object list
                }

                list.Add(ws);   // add website settings object to list
            }

                                    );

            return(list); // return list of website settings objects
        }