Fix categories not being properly detected
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
linuxct 2020-07-14 12:33:59 +02:00
parent 7ef04f118b
commit 917792c4a4
3 changed files with 109 additions and 120 deletions

View File

@ -1,106 +0,0 @@
namespace OD.WebApplication.Context
{
public static class ApplicationContextHelper
{
public static string[] BusinessApplicationCategories =
{
"Metrónomos, afinadores, atriles, accesorios y complementos en general",
"Contrabajo y arcos",
"Cuerdas de violín, viola, violonchelo y contrabajo",
"Pastillas, afinadores, puentes, cordales, soportes y accesorios de cuerda",
"Viola y arcos de viola",
"Violín y arcos de violín",
"Violonchelo y arcos",
"Amplificadores, cabezales y bafles de guitarra y bajo",
"Bajos eléctricos y acústicos",
"Bandurrias",
"Cuerdas de instrumentos de cuerda punteada",
"Estuches, fundas y soportes para instrumentos de cuerda punteada",
"Guitarras acústicas amplificadas",
"Guitarras acústicas no amplificadas",
"Guitarras eléctricas",
"Guitarras españolas amplificadas",
"Guitarras españolas no amplificadas",
"Laúdes",
"Procesadores de guitarra, pedales, pedaleras, pastillas, mocrófonos de guitara y afinadores",
"Púas, puentes, cejuelas, tornillos, cordales, clavijas y accesorios en general de guitarra e instrumentos de cuerda p",
"Timples, ukeleles y otros instrumentos de cuerda punteada",
"Lámaras, focos, procesadores y mesas iluminación",
"Líquido y máquinas de humo",
"Software secuenciador, editor, procesador y grabador de sonido y sus complementos, aso como programas en general",
"Torres, bolas y complementos de iluminación",
"Armónicas, acordeones e instrumentos de lengüeta y sus complementos",
"Baterías acústicas y digitales",
"Cajones rumberos, claves, sonajas y otros instrumentos no incluidos en otra familia",
"Marimbas, xilófonos, metalófonos e instrumentos con escala afinada",
"Platos",
"Soportes, racks, fundas, banquetas, parches, membranas, baquetas y accesorios de percusión en general",
"Timbales, bombos, tambores, cajas panderetas y otros instrumentos de membrana",
"Estuches, fundas, banquetas y accesorios de piano",
"Pianos de Cola Nuevos con o sin módulo",
"Pianos de Cola Usados",
"Pianos Digitales con ritmos",
"Pianos Digitales sin ritmos",
"Pianos Verticales Nuevos con o sin módulo",
"Pianos Verticales Usados con o sin módulo",
"Libretas, block y papel pautado",
"Libros y partituras de canto",
"Libros y partituras de clarinete",
"Libros y partituras de contrabajo",
"Libros y partituras de fagot",
"Libros y partituras de flauta, dulzaina y gaita",
"Libros y partituras de guitarra y cuerda punteada",
"Libros y partituras de música de cámara",
"Libros y partituras de oboe",
"Libros y partituras de orquesta",
"Libros y partituras de percusión",
"Libros y partituras de piano",
"Libros y partituras de saxo",
"Libros y partituras de solfeo, armonía, Historia de la Música y textos en general",
"Libros y partituras de teclado y acordeón",
"Libros y partituras de trombón, tuba y bombardino",
"Libros y partituras de trompa",
"Libros y partituras de trompeta",
"Libros y partituras de viola",
"Libros y partituras de violín",
"Libros y partituras de violonchelo",
"Alquiler de piano, teclados y otros aparatos",
"Servicios de afinación, reparación y transporte de pianos",
"Servicios de reparación de bafles, etapas y sistemas de amplificación y procesado de sonido",
"Servicios de reparación de teclados e instrumentos digitales",
"Servicios de reparación y ajuste de guitarras",
"Servicios de reparación y ajuste de instrumentos de cuerda",
"Servicios de reparación y ajuste de instrumentos de viento",
"Bafles, altavoces y monitores normales o inalámbricos",
"Cables y conectores",
"Etapas de potencia",
"Grabadores de sonido y sus soportes",
"Mesas de mezcla, cabezales, equipos integrados, amplificadores (combos) multiuso y mezcladores",
"Micrófonos normales e inalámbricos",
"Procesadores de efectos, pachbay, puertas de ruido, divisores, ecualizadores y otros sistemas de procesado de sonido",
"Soportes de micro, columna y torres, racks, auriculares y accesorios en general de amplificación",
"Accesorios de informática en general",
"CD y DVD",
"Librerías de sonidos y midifiles",
"OTRO",
"Tarjetas de sonido e interfaces de ordenador con o sin software",
"Alimentadores, fundas, estuches, pedales, soportes y accesorios de teclado y módulos",
"Cajas de ritmos y módulos de DJ",
"Módulos arregladores con ritmos y secuenciadores",
"Módulos de sonido, sintetizadores y samplers",
"Módulos digitales de percusión",
"Órganos y teclados litúrgicos",
"Teclados con ritmos",
"Teclados Sintetizadores, Workstation y samplers",
"Teclados y mesas controladores",
"Cañas, boquillas, abrazaderas, estuches, fundas, soportes, atriles, accesorios y complementos de viento",
"Clarinete",
"Flauta travesera y de pico",
"Oboe, fliscorno, bombardino, fagot, helicón, tuba y otros instrumentos de viento",
"Saxo",
"Trombón",
"Trompa",
"Trompetas y cornetas"
};
}
}

View File

@ -1,14 +1,114 @@
using System.Collections.Generic;
using System.Linq; using System.Linq;
using AutoMapper; using AutoMapper;
using AutoMapper.Internal;
using Microsoft.AspNetCore.Builder;
using OD.WebApplication.Context;
using OD.WebApplication.Models; using OD.WebApplication.Models;
namespace OD.WebApplication.Profiles namespace OD.WebApplication.Profiles
{ {
public class OriginToDestinationProfile : Profile public class OriginToDestinationProfile : Profile
{ {
private readonly List<string> BusinessApplicationCategories = new List<string>
{
"Metrónomos, afinadores, atriles, accesorios y complementos en general",
"Contrabajo y arcos",
"Cuerdas de violín, viola, violonchelo y contrabajo",
"Pastillas, afinadores, puentes, cordales, soportes y accesorios de cuerda",
"Viola y arcos de viola",
"Violín y arcos de violín",
"Violonchelo y arcos",
"Amplificadores, cabezales y bafles de guitarra y bajo",
"Bajos eléctricos y acústicos",
"Bandurrias",
"Cuerdas de instrumentos de cuerda punteada",
"Estuches, fundas y soportes para instrumentos de cuerda punteada",
"Guitarras acústicas amplificadas",
"Guitarras acústicas no amplificadas",
"Guitarras eléctricas",
"Guitarras españolas amplificadas",
"Guitarras españolas no amplificadas",
"Laúdes",
"Procesadores de guitarra, pedales, pedaleras, pastillas, mocrófonos de guitara y afinadores",
"Púas, puentes, cejuelas, tornillos, cordales, clavijas y accesorios en general de guitarra e instrumentos de cuerda p",
"Timples, ukeleles y otros instrumentos de cuerda punteada",
"Lámaras, focos, procesadores y mesas iluminación",
"Líquido y máquinas de humo",
"Software secuenciador, editor, procesador y grabador de sonido y sus complementos, aso como programas en general",
"Torres, bolas y complementos de iluminación",
"Armónicas, acordeones e instrumentos de lengüeta y sus complementos",
"Baterías acústicas y digitales",
"Cajones rumberos, claves, sonajas y otros instrumentos no incluidos en otra familia",
"Marimbas, xilófonos, metalófonos e instrumentos con escala afinada",
"Platos",
"Soportes, racks, fundas, banquetas, parches, membranas, baquetas y accesorios de percusión en general",
"Timbales, bombos, tambores, cajas panderetas y otros instrumentos de membrana",
"Estuches, fundas, banquetas y accesorios de piano",
"Pianos de Cola Nuevos con o sin módulo",
"Pianos de Cola Usados",
"Pianos Digitales con ritmos",
"Pianos Digitales sin ritmos",
"Pianos Verticales Nuevos con o sin módulo",
"Pianos Verticales Usados con o sin módulo",
"Libretas, block y papel pautado",
"Libros y partituras de canto",
"Libros y partituras de clarinete",
"Libros y partituras de contrabajo",
"Libros y partituras de fagot",
"Libros y partituras de flauta, dulzaina y gaita",
"Libros y partituras de guitarra y cuerda punteada",
"Libros y partituras de música de cámara",
"Libros y partituras de oboe",
"Libros y partituras de orquesta",
"Libros y partituras de percusión",
"Libros y partituras de piano",
"Libros y partituras de saxo",
"Libros y partituras de solfeo, armonía, Historia de la Música y textos en general",
"Libros y partituras de teclado y acordeón",
"Libros y partituras de trombón, tuba y bombardino",
"Libros y partituras de trompa",
"Libros y partituras de trompeta",
"Libros y partituras de viola",
"Libros y partituras de violín",
"Libros y partituras de violonchelo",
"Alquiler de piano, teclados y otros aparatos",
"Servicios de afinación, reparación y transporte de pianos",
"Servicios de reparación de bafles, etapas y sistemas de amplificación y procesado de sonido",
"Servicios de reparación de teclados e instrumentos digitales",
"Servicios de reparación y ajuste de guitarras",
"Servicios de reparación y ajuste de instrumentos de cuerda",
"Servicios de reparación y ajuste de instrumentos de viento",
"Bafles, altavoces y monitores normales o inalámbricos",
"Cables y conectores",
"Etapas de potencia",
"Grabadores de sonido y sus soportes",
"Mesas de mezcla, cabezales, equipos integrados, amplificadores (combos) multiuso y mezcladores",
"Micrófonos normales e inalámbricos",
"Procesadores de efectos, pachbay, puertas de ruido, divisores, ecualizadores y otros sistemas de procesado de sonido",
"Soportes de micro, columna y torres, racks, auriculares y accesorios en general de amplificación",
"Accesorios de informática en general",
"CD y DVD",
"Librerías de sonidos y midifiles",
"OTRO",
"Tarjetas de sonido e interfaces de ordenador con o sin software",
"Alimentadores, fundas, estuches, pedales, soportes y accesorios de teclado y módulos",
"Cajas de ritmos y módulos de DJ",
"Módulos arregladores con ritmos y secuenciadores",
"Módulos de sonido, sintetizadores y samplers",
"Módulos digitales de percusión",
"Órganos y teclados litúrgicos",
"Teclados con ritmos",
"Teclados Sintetizadores, Workstation y samplers",
"Teclados y mesas controladores",
"Cañas, boquillas, abrazaderas, estuches, fundas, soportes, atriles, accesorios y complementos de viento",
"Clarinete",
"Flauta travesera y de pico",
"Oboe, fliscorno, bombardino, fagot, helicón, tuba y otros instrumentos de viento",
"Saxo",
"Trombón",
"Trompa",
"Trompetas y cornetas"
};
public OriginToDestinationProfile() public OriginToDestinationProfile()
{ {
CreateMap<OriginDataModel, DestinationDataModel>() CreateMap<OriginDataModel, DestinationDataModel>()
@ -21,17 +121,17 @@ namespace OD.WebApplication.Profiles
.ForMember(dest => dest.OnlineValueWihtVAT, opt => opt.MapFrom(src => ResolveAddVAT(src.PriceRecommendedWithoutVAT))); .ForMember(dest => dest.OnlineValueWihtVAT, opt => opt.MapFrom(src => ResolveAddVAT(src.PriceRecommendedWithoutVAT)));
} }
private static string ResolveCategory(OriginDataModel src) private string ResolveCategory(OriginDataModel src)
{ {
var categories = src.Categories.Split(',').ToList(); var categories = src.Categories.Split(',').ToList();
categories = categories.Select(del => del.Trim()).ToList(); categories = categories.Select(del => del.Trim()).Reverse().ToList();
foreach (var category in categories) foreach (var category in categories)
{ {
if (ApplicationContextHelper.BusinessApplicationCategories.Any(x => if (BusinessApplicationCategories.Any(x =>
x.Contains(category) || category.Contains(x))) x.ToLower().Contains(category.ToLower()) || category.ToLower().Contains(x.ToLower())))
{ {
return ApplicationContextHelper.BusinessApplicationCategories.First(x => return BusinessApplicationCategories.First(x =>
x.Contains(category) || category.Contains(x)); x.ToLower().Contains(category.ToLower()) || category.ToLower().Contains(x.ToLower()));
} }
} }

View File

@ -1,7 +1,4 @@
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy; using Microsoft.AspNetCore.HttpsPolicy;
@ -9,8 +6,6 @@ using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using AutoMapper; using AutoMapper;
using OD.WebApplication.Context;
using OD.WebApplication.Profiles;
namespace OD.WebApplication namespace OD.WebApplication
{ {