protected override Offer GetTunedOffer(Offer offer, RawOffer rawOffer) { var gender = rawOffer.Gender switch { "female" => Gender.Woman, "male" => Gender.Man, "unisex" => Gender.Unisex, _ => Gender.Undefined }; if (gender != Gender.Undefined) { offer.Gender = gender; } else if (offer.Gender == Gender.Undefined) { offer.Gender = Gender.Unisex; } if (offer.Age == Age.Undefined) { offer.Age = Age.Adult; } return(offer); } }
public Offer Process( Offer offer, RawOffer rawOffer) { offer.Currency = Currency.USD; return(offer); }
protected override Offer GetTunedOffer( Offer offer, RawOffer rawOffer) { offer.Age = Age.Child; return(offer); }
public Offer Process(Offer offer, RawOffer rawOffer) { var rawId = $"{offer.ShopId}:{rawOffer.OfferId}"; offer.Id = HashHelper.GetMd5Hash(rawId); return(offer); }
protected override void FillParams( IExtendedOffer extendedOffer, RawOffer rawOffer) { extendedOffer.Age = Age.Adult; extendedOffer.Gender = Gender.Woman; base.FillParams(extendedOffer, rawOffer); }
public Offer Process( Offer offer, RawOffer rawOffer) { offer.Age = Age.Adult; offer.Gender = Gender.Woman; return(offer); }
protected override void FillParams( IExtendedOffer extendedOffer, RawOffer rawOffer) { extendedOffer.Age = Age.Adult; extendedOffer.Gender = Gender.Woman; rawOffer.Params = RawParamHelper.GetRawParamFromNameAnabel(rawOffer.Name); base.FillParams(extendedOffer, rawOffer); }
public Offer Process( Offer offer, RawOffer rawOffer) { if (offer.Model.IsNullOrWhiteSpace()) { offer.Model = offer.CategoryPath; } return(offer); }
// protected override string GetClearlyVendor( // string vendor ) => // "adidas"; protected override void FillParams( IExtendedOffer extendedOffer, RawOffer rawOffer) { rawOffer.Params = FixSizeParams(rawOffer.Params); base.FillParams(extendedOffer, rawOffer); if (extendedOffer.Gender == Gender.Undefined) { extendedOffer.Gender = Gender.Unisex; } }
protected override Offer GetTunedOffer( Offer offer, RawOffer rawOffer) { var ageParam = rawOffer.Params.FirstOrDefault(p => p.Name == AgeParamName); var genderParam = rawOffer.Params.FirstOrDefault(p => GenderParamName.Contains(p.Name)); if (ageParam != null) { offer.Age = ageParam.Value switch { "взрослый" => Age.Adult, "none" => Age.All, "дети" => Age.Child, "младший" => Age.Child, "ребенок" => Age.Child, _ => Age.All }; } if (genderParam != null) { var gender = genderParam.Value switch { "женщина" => Gender.Woman, "мужчина" => Gender.Man, "none" => Gender.Unisex, _ => throw new ArgumentOutOfRangeException() }; if (offer.Age == Age.Adult) { offer.Gender = gender; } if (offer.Age == Age.Child) { if (gender == Gender.Man) { offer.Gender = Gender.Boy; } if (gender == Gender.Woman) { offer.Gender = Gender.Girl; } } } return(offer); } } }
protected override Offer GetTunedOffer(Offer offer, RawOffer rawOffer) { offer.Age = Age.Adult; var genderParam = GetParamValueByName(rawOffer.Params, GenderParamName)?.ToLower().Trim(); offer.Gender = genderParam switch { "м" => Gender.Man, "ж" => Gender.Woman, _ => Gender.Unisex }; return(offer); } }
protected override Offer GetTunedOffer(Offer offer, RawOffer rawOffer) { offer.Age = Age.Adult; offer.Gender = Gender.Woman; var countryParam = offer.Params.FirstOrDefault(p => p.Name == CountryParam); if (countryParam != null && countryParam.Values.Any(v => v.IsNotNullOrWhiteSpace())) { offer.CountryId = DbHelper.GetCountryId(countryParam.Values.FirstOrDefault(v => v.IsNotNullOrWhiteSpace())); } if (offer.Model.IsNullOrWhiteSpace()) { offer.Model = offer.CategoryPath; } return(offer); }
protected override Offer GetTunedOffer( Offer offer, RawOffer rawOffer) { //делаем из //https://anabel24.ru/image/cache/catalog/public/b5/4d/a3/5447e1acd270687b4ab66a9393098226d4-200x200.jpg //вот такое //https://anabel24.ru/image/catalog/public/b5/4d/a3/5447e1acd270687b4ab66a9393098226d4.jpg if (offer.Photos != null && offer.Photos.Any()) { offer.Photos = offer.Photos .Select(p => p.Replace("/cache", string.Empty)) .Select(p => p.Replace("-200x200", string.Empty)).ToList(); } return(offer); }
protected override void FillParams( IExtendedOffer extendedOffer, RawOffer rawOffer) { base.FillParams(extendedOffer, rawOffer); var materialParams = rawOffer.Params.Where(p => p.Name.Contains(Constants.Params.MaterialName)); foreach (var param in materialParams) { var materials = param.Value.Split( ParamSplitter, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries); foreach (var material in materials) { extendedOffer.AddParamIfNeed(new RawParam { NameFromXml = Constants.Params.MaterialName, ValueFromXml = material }); } } }
protected override Offer GetTunedOffer(Offer offer, RawOffer rawOffer) { if (rawOffer.CategoryPath.Contains(Boys)) { offer.Age = Age.Child; offer.Gender = Gender.Boy; } else if (rawOffer.CategoryPath.Contains(Girls)) { offer.Age = Age.Child; offer.Gender = Gender.Girl; } var param = rawOffer.Params.FirstOrDefault(p => p.Name == SizeParam); if (param != null) { if (param.UnitFromXml == Mounth || param.UnitFromXml == Month) { offer.Age = Age.Child; offer.Gender = Gender.Child; } else if (param.UnitFromXml == Years) { var year = GetYear(param.Value); if (year <= 3) { offer.Age = Age.Child; offer.Gender = Gender.Child; } else if (year <= 15) { offer.Age = Age.Child; } } } return(offer); }
public Offer Process(Offer offer, RawOffer rawOffer) { offer.SoldOut = rawOffer.Available == false; return(offer); }
public Offer Process(Offer offer, RawOffer rawOffer) { throw new NotImplementedException(); }
protected override Offer GetTunedOffer(Offer offer, RawOffer rawOffer) { var rawParams = new[] {