コード例 #1
0
        public override VerificationReceipt Deconvert(IGetValues values, IDeconverterErrors errors)
        {
            var quantityString = values.GetStringValue("quantity");
            var quantity       = 0;

            if (quantityString != string.Empty)
            {
                int.TryParse(quantityString, out quantity);
            }

            var productId                   = values.GetStringValue("product_id");
            var transactionId               = values.GetStringValue("transaction_id");
            var purchaseDate                = ParseAppleDate(values.GetStringValue("purchase_date"));
            var originalTransactionId       = values.GetStringValue("original_transaction_id");
            var originalPurchaseDate        = ParseAppleDate(values.GetStringValue("original_purchase_date"));
            var appItemId                   = values.GetStringValue("app_item_id");
            var applicationRevision         = values.GetStringValue("version_external_identifier");
            var applicationBundleIdentifier = values.GetStringValue("bid");
            var applicationVersion          = values.GetStringValue("bvrs");


            return(new VerificationReceipt
            {
                Quantity = quantity,
                ProductId = productId,
                TransactionId = transactionId,
                PurchaseDate = purchaseDate,
                OriginalTransactionId = originalTransactionId,
                OriginalPurchaseDate = originalPurchaseDate,
                AppItemId = appItemId,
                ApplicationRevision = applicationRevision,
                ApplicationBundleIdentifier = applicationBundleIdentifier,
                ApplicationVersion = applicationVersion,
            });
        }
コード例 #2
0
        private static void DeconvertJobTypes(JobAdSearchCriteria criteria, IGetValues values)
        {
            //support old format (JobTypes=29) and new format (FullTime=true&PartTime=true)

            var jobTypes = values.GetFlagsValue <JobTypes>();

            if (jobTypes != null)
            {
                criteria.JobTypes = jobTypes.Value;
            }
            else
            {
                var jobTypesCodes = values.GetIntValue(JobAdSearchCriteriaKeys.JobTypes);

                try
                {
                    jobTypes          = (JobTypes)jobTypesCodes;
                    criteria.JobTypes = jobTypes.Value;
                }
                catch (Exception)
                {
                    //never fail for parse
                }
            }
        }
コード例 #3
0
ファイル: MockModelValues.cs プロジェクト: formist/LinkMe
 public override MockModelValues Deconvert(IGetValues values, IDeconverterErrors errors)
 {
     return(new MockModelValues
     {
         NullStringValue = values.GetStringValue("NullStringValue"),
         NotNullStringValue = values.GetStringValue("NotNullStringValue"),
         NullStringArrayValue = values.GetStringArrayValue("NullStringArrayValue"),
         NotNullStringArrayValue = values.GetStringArrayValue("NotNullStringArrayValue"),
         NullBoolValue = values.GetBooleanValue("NullBoolValue"),
         NotNullBoolValue = values.GetBooleanValue("NotNullBoolValue"),
         BoolValue = values.GetBooleanValue("BoolValue") ?? false,
         NullIntValue = values.GetIntValue("NullIntValue"),
         NotNullIntValue = values.GetIntValue("NotNullIntValue"),
         IntValue = values.GetIntValue("IntValue") ?? 0,
         NullDecimalValue = values.GetDecimalValue("NullDecimalValue"),
         NotNullDecimalValue = values.GetDecimalValue("NotNullDecimalValue"),
         DecimalValue = values.GetDecimalValue("DecimalValue") ?? 0,
         NullGuidValue = values.GetGuidValue("NullGuidValue"),
         NotNullGuidValue = values.GetGuidValue("NotNullGuidValue"),
         GuidValue = values.GetGuidValue("GuidValue") ?? Guid.Empty,
         NullGuidArrayValue = values.GetGuidArrayValue("NullGuidArrayValue"),
         NotNullGuidArrayValue = values.GetGuidArrayValue("NotNullGuidArrayValue"),
         NullDateTimeValue = values.GetDateTimeValue("NullDateTimeValue"),
         NotNullDateTimeValue = values.GetDateTimeValue("NotNullDateTimeValue"),
         NullPartialDateValue = values.GetPartialDateValue("NullPartialDateValue"),
         NotNullPartialDateValue = values.GetPartialDateValue("NotNullPartialDateValue"),
         EnumValue = values.GetValue <EnumValue>("EnumValue") ?? EnumValue.No,
         NullEnumValue = values.GetValue <EnumValue>("NullEnumValue"),
         NotNullEnumValue = values.GetValue <EnumValue>("NotNullEnumValue"),
         EnumFlagsValue = values.GetFlagsValue <EnumFlagsValue1>() ?? EnumFlagsValue1.None,
         NullEnumFlagsValue = values.GetFlagsValue <EnumFlagsValue2>(),
         NotNullEnumFlagsValue = values.GetFlagsValue <EnumFlagsValue3>(),
     });
 }
コード例 #4
0
 public override DisqusThreadResponse Deconvert(IGetValues values, IDeconverterErrors errors)
 {
     return(new DisqusThreadResponse
     {
         Category = values.GetIntValue("category").Value,
         Reactions = values.GetIntValue("reactions").Value,
         CanModerate = values.GetBooleanValue("canModerate").Value,
         Author = values.GetIntValue("author").Value,
         Forum = values.GetStringValue("forum"),
         Title = values.GetStringValue("title"),
         Dislikes = values.GetIntValue("dislikes").Value,
         Identifiers = values.GetGuidArrayValue("identifiers"),
         UserScore = values.GetIntValue("userScore").Value,
         CreatedAt = values.GetDateTimeValue("createdAt").Value,
         Slug = values.GetStringValue("slug"),
         IsClosed = values.GetBooleanValue("isClosed").Value,
         Posts = values.GetIntValue("posts").Value,
         UserSubscription = values.GetBooleanValue("userSubscription").Value,
         Link = values.GetStringValue("link"),
         Likes = values.GetIntValue("likes").Value,
         CanPost = values.GetBooleanValue("canPost").Value,
         Id = values.GetIntValue("id").Value,
         IsDeleted = values.GetBooleanValue("isDeleted").Value,
     });
 }
コード例 #5
0
        public override MemberSearchCriteria Deconvert(IGetValues values, IDeconverterErrors errors)
        {
            var criteria = new MemberSearchCriteria();

            DeconvertKeywords(criteria, values, errors);
            DeconvertJobTitles(criteria, values);
            DeconvertCompanies(criteria, values);
            DeconvertLocation(criteria, values);

            DeconvertIncludeSynonyms(criteria, values);
            DeconvertSortOrder(criteria, values, errors);

            criteria.CandidateStatusFlags = values.GetFlagsValue <CandidateStatusFlags>();
            criteria.EducationKeywords    = values.GetStringValue(MemberSearchCriteriaKeys.EducationKeywords);
            criteria.EthnicStatus         = values.GetFlagsValue <EthnicStatus>();
            criteria.VisaStatusFlags      = values.GetFlagsValue <VisaStatusFlags>();

            var jobTypes = values.GetFlagsValue <JobTypes>();

            if (jobTypes != null)
            {
                criteria.JobTypes = jobTypes.Value;
            }

            criteria.IndustryIds = values.GetGuidArrayValue(MemberSearchCriteriaKeys.IndustryIds);

            DeconvertSalary(criteria, values);
            DeconvertRecency(criteria, values);
            DeconvertActivity(criteria, values);
            DeconvertCommunity(criteria, values);
            DeconvertName(criteria, values);

            return(criteria);
        }
コード例 #6
0
ファイル: PaginationConverter.cs プロジェクト: formist/LinkMe
        public override Pagination Deconvert(IGetValues values, IDeconverterErrors errors)
        {
            var page  = values.GetIntValue(PaginationKeys.Page);
            var items = values.GetIntValue(PaginationKeys.Items);

            if (page != null)
            {
                if (page.Value <= 0)
                {
                    page = null;
                }
            }

            if (items != null)
            {
                if (_defaultItems != null && items.Value == _defaultItems.Value)
                {
                    items = null;
                }
            }

            if (page == null && items == null)
            {
                return(null);
            }
            return(new Pagination {
                Page = page, Items = items
            });
        }
コード例 #7
0
 private static void DeconvertActivity(JobAdSearchCriteria criteria, IGetValues values)
 {
     criteria.IsFlagged  = values.GetBooleanValue(JobAdSearchCriteriaKeys.IsFlagged);
     criteria.HasNotes   = values.GetBooleanValue(JobAdSearchCriteriaKeys.HasNotes);
     criteria.HasViewed  = values.GetBooleanValue(JobAdSearchCriteriaKeys.HasViewed);
     criteria.HasApplied = values.GetBooleanValue(JobAdSearchCriteriaKeys.HasApplied);
 }
コード例 #8
0
 public override JobDetailsMemberModel Deconvert(IGetValues values, IDeconverterErrors errors)
 {
     return(new JobDetailsMemberModel
     {
         JobTitle = values.GetStringValue("JobTitle"),
         JobCompany = values.GetStringValue("JobCompany"),
         IndustryIds = values.GetGuidArrayValue("IndustryIds"),
         RecentProfession = values.GetValue <Profession>("RecentProfession"),
         RecentSeniority = values.GetValue <Seniority>("RecentSeniority"),
         HighestEducationLevel = values.GetValue <EducationLevel>("HighestEducationLevel"),
         DesiredJobTitle = values.GetStringValue("DesiredJobTitle"),
         DesiredJobTypes = values.GetFlagsValue <JobTypes>() ?? Defaults.DesiredJobTypes,
         EthnicStatus = values.GetFlagsValue <EthnicStatus>() ?? Defaults.EthnicStatus,
         Gender = values.GetValue <Gender>("Gender") ?? Defaults.Gender,
         DateOfBirth = new PartialDateConverter(true).Deconvert("DateOfBirth", values),
         Citizenship = values.GetStringValue("Citizenship"),
         VisaStatus = values.GetValue <VisaStatus>("VisaStatus"),
         RelocationPreference = values.GetValue <RelocationPreference>("RelocationPreference") ?? Defaults.RelocationPreference,
         RelocationCountryIds = values.GetIntArrayValue("RelocationCountryIds"),
         RelocationCountryLocationIds = values.GetIntArrayValue("RelocationCountryLocationIds"),
         SecondaryEmailAddress = values.GetStringValue("SecondaryEmailAddress"),
         SecondaryPhoneNumber = values.GetStringValue("SecondaryPhoneNumber"),
         SecondaryPhoneNumberType = values.GetValue <PhoneNumberType>("SecondaryPhoneNumberType") ?? Defaults.SecondaryPhoneNumberType,
     });
 }
コード例 #9
0
        private void DeconvertLocation(JobAdSearchCriteria criteria, IGetValues values)
        {
            var location = values.GetStringValue(JobAdSearchCriteriaKeys.Location);

            Country country   = null;
            var     countryId = values.GetIntValue(JobAdSearchCriteriaKeys.CountryId);

            if (countryId != null)
            {
                country = _locationQuery.GetCountry(countryId.Value);
            }
            else
            {
                // Try the old value.

                countryId = values.GetIntValue(JobAdSearchCriteriaKeys.Country);
                if (countryId != null)
                {
                    country = _locationQuery.GetCountry(countryId.Value);
                }
            }

            if (country != null)
            {
                criteria.Location = _locationQuery.ResolveLocation(country, location);
            }
            else if (!string.IsNullOrEmpty(location))
            {
                criteria.Location = _locationQuery.ResolveLocation(_locationQuery.GetCountries()[0], location);
            }

            criteria.Distance = values.GetIntValue(JobAdSearchCriteriaKeys.Distance);
        }
コード例 #10
0
        private static void DeconvertKeywords(JobAdSearchCriteria criteria, IGetValues values, IDeconverterErrors errors)
        {
            try
            {
                // Look for specifics first.

                var anyKeywordsValue = values.GetStringArrayValue(JobAdSearchCriteriaKeys.AnyKeywords);
                var anyKeywords      = anyKeywordsValue == null ? null : string.Join(" ", anyKeywordsValue);

                var allKeywords     = values.GetStringValue(JobAdSearchCriteriaKeys.AllKeywords);
                var exactPhrase     = values.GetStringValue(JobAdSearchCriteriaKeys.ExactPhrase);
                var withoutKeywords = values.GetStringValue(JobAdSearchCriteriaKeys.WithoutKeywords);

                if (!string.IsNullOrEmpty(allKeywords) || !string.IsNullOrEmpty(exactPhrase) || !string.IsNullOrEmpty(anyKeywords) || !string.IsNullOrEmpty(withoutKeywords))
                {
                    criteria.SetKeywords(allKeywords, exactPhrase, anyKeywords, withoutKeywords);
                }
                else
                {
                    // Look for the general second.

                    var keywords = values.GetStringValue(JobAdSearchCriteriaKeys.Keywords);
                    criteria.SetKeywords(keywords);
                }
            }
            catch (UserException ex)
            {
                errors.AddError(ex);
            }
        }
コード例 #11
0
        public override JobAdSearchSortCriteria Deconvert(IGetValues values, IDeconverterErrors errors)
        {
            JobAdSortOrder?sortOrder;

            // This used to be the name so look for it first.

            var value = values.GetStringValue(JobAdSearchCriteriaKeys.SortOrder);

            if (value == "CreatedTimeDescending")
            {
                sortOrder = JobAdSortOrder.CreatedTime;
            }
            else
            {
                sortOrder = values.GetValue <JobAdSortOrder>(JobAdSearchCriteriaKeys.SortOrder);
                if (sortOrder == null)
                {
                    return(null);
                }
            }

            var direction  = values.GetStringValue(JobAdSearchCriteriaKeys.SortOrderDirection);
            var isReversed = false;

            switch (direction)
            {
            case JobAdSearchCriteriaKeys.SortOrderIsAscending:
                isReversed = true;
                break;
            }

            return(new JobAdSearchSortCriteria {
                SortOrder = sortOrder.Value, ReverseSortOrder = isReversed
            });
        }
コード例 #12
0
        public override JobAdSearchCriteria Deconvert(IGetValues values, IDeconverterErrors errors)
        {
            var criteria = new JobAdSearchCriteria();

            DeconvertKeywords(criteria, values, errors);
            DeconvertLocation(criteria, values);

            DeconvertIncludeSynonyms(criteria, values);
            DeconvertSortOrder(criteria, values, errors);

            criteria.AdTitle        = values.GetStringValue(JobAdSearchCriteriaKeys.AdTitle);
            criteria.AdvertiserName = values.GetStringValue(JobAdSearchCriteriaKeys.AdvertiserName);

            criteria.IndustryIds = values.GetGuidArrayValue(JobAdSearchCriteriaKeys.IndustryIds);
            if (criteria.IndustryIds.IsNullOrEmpty())
            {
                criteria.IndustryIds = values.GetGuidArrayValue(JobAdSearchCriteriaKeys.Industries);
            }

            DeconvertJobTypes(criteria, values);
            DeconvertSalary(criteria, values);
            DeconvertRecency(criteria, values);
            DeconvertActivity(criteria, values);
            DeconvertCommunity(criteria, values);

            return(criteria);
        }
コード例 #13
0
 private static void DeconvertActivity(MemberSearchCriteria criteria, IGetValues values)
 {
     criteria.InFolder   = values.GetBooleanValue(MemberSearchCriteriaKeys.InFolder);
     criteria.IsFlagged  = values.GetBooleanValue(MemberSearchCriteriaKeys.IsFlagged);
     criteria.HasNotes   = values.GetBooleanValue(MemberSearchCriteriaKeys.HasNotes);
     criteria.HasViewed  = values.GetBooleanValue(MemberSearchCriteriaKeys.HasViewed);
     criteria.IsUnlocked = values.GetBooleanValue(MemberSearchCriteriaKeys.IsUnlocked);
 }
コード例 #14
0
 public override DisqusThreadJsonModel Deconvert(IGetValues values, IDeconverterErrors errors)
 {
     return(new DisqusThreadJsonModel
     {
         Code = values.GetIntValue("code").Value,
         Response = values.GetChildValue <DisqusThreadResponse>("response"),
     });
 }
コード例 #15
0
 public override SearchModel Deconvert(IGetValues values, IDeconverterErrors errors)
 {
     return(new SearchModel
     {
         Keywords = values.GetStringValue("ctl00$Body$ucJobSearch$txtKeywords") ?? values.GetStringValue("LinkMeKeywords"),
         Location = values.GetStringValue("ctl00$Body$ucJobSearch$txtLocation") ?? values.GetStringValue("LinkMeLocation"),
     });
 }
コード例 #16
0
 public override CareerObjectivesMemberModel Deconvert(IGetValues values, IDeconverterErrors errors)
 {
     return(new CareerObjectivesMemberModel
     {
         Objective = values.GetStringValue(CareerObjectivesKeys.Objective),
         Summary = values.GetStringValue(CareerObjectivesKeys.Summary),
         Skills = values.GetStringValue(CareerObjectivesKeys.Skills),
     });
 }
コード例 #17
0
        private static void DeconvertIncludeSynonyms(JobAdSearchCriteria criteria, IGetValues values)
        {
            var includeSynonyms = values.GetBooleanValue(JobAdSearchCriteriaKeys.IncludeSynonyms);

            if (includeSynonyms != null)
            {
                criteria.IncludeSynonyms = includeSynonyms.Value;
            }
        }
コード例 #18
0
 public override MemberSearchRequestModel Deconvert(IGetValues values, IDeconverterErrors errors)
 {
     return(new MemberSearchRequestModel
     {
         Name = values.GetStringValue("Name"),
         IsAlert = values.GetBooleanValue("IsAlert").Value,
         Criteria = values.GetChildValue <MemberSearchCriteria>("Criteria"),
         DeviceToken = values.GetStringValue("DeviceToken"),
     });
 }
コード例 #19
0
        private static void DeconvertCompanies(MemberSearchCriteria criteria, IGetValues values)
        {
            criteria.CompanyKeywords = values.GetStringValue(MemberSearchCriteriaKeys.CompanyKeywords);
            var companiesToSearch = values.GetValue <JobsToSearch>(MemberSearchCriteriaKeys.CompaniesToSearch);

            if (companiesToSearch != null)
            {
                criteria.CompaniesToSearch = companiesToSearch.Value;
            }
        }
コード例 #20
0
        private static void DeconvertName(MemberSearchCriteria criteria, IGetValues values)
        {
            criteria.Name = values.GetStringValue(MemberSearchCriteriaKeys.Name);
            var includeSimiliarNames = values.GetBooleanValue(MemberSearchCriteriaKeys.IncludeSimilarNames);

            if (includeSimiliarNames != null)
            {
                criteria.IncludeSimilarNames = includeSimiliarNames.Value;
            }
        }
コード例 #21
0
 public override VisibilityModel Deconvert(IGetValues values, IDeconverterErrors errors)
 {
     return(new VisibilityModel
     {
         ShowResume = values.GetBooleanValue(VisibilityKeys.ShowResume) ?? false,
         ShowRecentEmployers = values.GetBooleanValue(VisibilityKeys.ShowRecentEmployers) ?? false,
         ShowName = values.GetBooleanValue(VisibilityKeys.ShowName) ?? false,
         ShowPhoneNumbers = values.GetBooleanValue(VisibilityKeys.ShowPhoneNumbers) ?? false,
         ShowProfilePhoto = values.GetBooleanValue(VisibilityKeys.ShowProfilePhoto) ?? false,
     });
 }
コード例 #22
0
 public override JobModel Deconvert(IGetValues values, IDeconverterErrors errors)
 {
     return(new JobModel
     {
         Title = values.GetStringValue("Title"),
         IsCurrent = values.GetBooleanValue("IsCurrent") ?? false,
         StartDate = values.GetPartialDateValue("StartDate"),
         EndDate = values.GetPartialDateValue("EndDate"),
         Company = values.GetStringValue("Company"),
     });
 }
コード例 #23
0
        private static void DeconvertJobTitles(MemberSearchCriteria criteria, IGetValues values)
        {
            criteria.JobTitle        = values.GetStringValue(MemberSearchCriteriaKeys.JobTitle);
            criteria.DesiredJobTitle = values.GetStringValue(MemberSearchCriteriaKeys.DesiredJobTitle);

            var jobTitlesToSearch = values.GetValue <JobsToSearch>(MemberSearchCriteriaKeys.JobTitlesToSearch);

            if (jobTitlesToSearch != null)
            {
                criteria.JobTitlesToSearch = jobTitlesToSearch.Value;
            }
        }
コード例 #24
0
        public override SalaryModel Deconvert(IGetValues values, IDeconverterErrors errors)
        {
            var lowerBound = values.GetDecimalValue("LowerBound");
            var upperBound = values.GetDecimalValue("UpperBound");

            if (lowerBound == null && upperBound == null)
            {
                return(null);
            }
            return(new SalaryModel {
                LowerBound = lowerBound, UpperBound = upperBound
            });
        }
コード例 #25
0
        public override ResourceSearchCriteria Deconvert(IGetValues values, IDeconverterErrors errors)
        {
            var criteria = new ResourceSearchCriteria();

            DeconvertSortOrder(criteria, values, errors);

            criteria.Keywords      = values.GetStringValue(ResourceSearchCriteriaKeys.Keywords);
            criteria.CategoryId    = values.GetGuidValue(ResourceSearchCriteriaKeys.CategoryId);
            criteria.SubcategoryId = values.GetGuidValue(ResourceSearchCriteriaKeys.SubcategoryId);
            criteria.ResourceType  = values.GetValue <ResourceType>(ResourceSearchCriteriaKeys.ResourceType) ?? ResourceSearchCriteria.DefaultResourceType;

            return(criteria);
        }
コード例 #26
0
 public override OtherMemberModel Deconvert(IGetValues values, IDeconverterErrors errors)
 {
     return(new OtherMemberModel
     {
         Affiliations = values.GetStringValue(OtherKeys.Affiliations),
         Awards = values.GetStringValue(OtherKeys.Awards),
         Professional = values.GetStringValue(OtherKeys.Professional),
         Courses = values.GetStringValue(OtherKeys.Courses),
         Interests = values.GetStringValue(OtherKeys.Interests),
         Other = values.GetStringValue(OtherKeys.Other),
         Referees = values.GetStringValue(OtherKeys.Referees),
     });
 }
コード例 #27
0
        public override JsonVerificationResponse Deconvert(IGetValues values, IDeconverterErrors errors)
        {
            var status    = values.GetIntValue("status").Value;
            var exception = values.GetStringValue("exception");
            var receipt   = values.GetChildValue <VerificationReceipt>("receipt");

            return(new JsonVerificationResponse
            {
                Status = status,
                Exception = exception,
                Receipt = receipt,
            });
        }
コード例 #28
0
 public override OrganisationEmployerSearchCriteria Deconvert(IGetValues values, IDeconverterErrors errors)
 {
     return(new OrganisationEmployerSearchCriteria
     {
         Employers = values.GetBooleanValue("Employers") ?? true,
         Recruiters = values.GetBooleanValue("Recruiters") ?? true,
         VerifiedOrganisations = values.GetBooleanValue("VerifiedOrganisations") ?? true,
         UnverifiedOrganisations = values.GetBooleanValue("UnverifiedOrganisations") ?? true,
         IndustryIds = values.GetGuidArrayValue("IndustryIds"),
         MinimumLogins = values.GetIntValue("MinimumLogins"),
         MaximumLogins = values.GetIntValue("MaximumLogins")
     });
 }
コード例 #29
0
        public override CandidatesPresentationModel Deconvert(IGetValues values, IDeconverterErrors errors)
        {
            var presentation = base.Deconvert(values, errors);
            var detailLevel  = values.GetValue <DetailLevel>(PresentationKeys.DetailLevel);

            if (presentation == null && detailLevel == null)
            {
                return(null);
            }

            presentation             = presentation ?? new CandidatesPresentationModel();
            presentation.DetailLevel = detailLevel ?? DefaultDetailLevel;
            return(presentation);
        }
コード例 #30
0
        public override TPresentationModel Deconvert(IGetValues values, IDeconverterErrors errors)
        {
            var pagination = new PaginationConverter(null).Deconvert(values, errors);

            if (pagination == null)
            {
                return(null);
            }

            return(new TPresentationModel
            {
                Pagination = pagination,
            });
        }
コード例 #31
0
 public ValuesController(IGetValues dependency)
 {
     _dependency = dependency;
 }