public async Task <FileLine> GetStats(RetrievedDataModel retrived) { try { var fileLine = new FileLine(); if (retrived != null) { // Quantidade de vendedores fileLine.SalesmanCount = GetSalesmanLength(retrived.Salesmans); // Quantidade de clientes fileLine.CustomerCount = GetCustomerLength(retrived.Custumers); // Id da venda mais cara fileLine.MostExpensive = GetMostExpensive(retrived.SalesData); // Nome do pior vendedor fileLine.WorseSalesman = GetWorseSalesman(retrived.SalesData); } return(await Task.FromResult(fileLine)); } catch (Exception ex) { return(null); } }
public static RetrievedDataModel GetRetrivedDataModel(int qtdCustomer, int qtdSalesman, int qtdSalesdata) { var fixture = new Fixture(); var salesmen = fixture.Build <SalesmanModel>().CreateMany(qtdSalesman); var customers = fixture.Build <CustomerModel>().CreateMany(qtdCustomer); var saledatas = fixture.Build <SalesDataModel>().CreateMany(qtdSalesdata); var result = new RetrievedDataModel(); result.Salesmans.AddRange(salesmen); result.Custumers.AddRange(customers); result.SalesData.AddRange(saledatas); return(result); }
public async Task <RetrievedDataModel> ExecuteProcess(string pathIn) { try { var retrievedDataModel = new RetrievedDataModel(); var fileLines = new List <FileLine>(); var lines = await _retrieveDataService.GetData(pathIn); foreach (var line in lines) { var splitter = _builderSplitter.GetSplitter(line, _separator); var result = await splitter.Extract(); if (result is CustomerModel) { retrievedDataModel.Custumers.Add((CustomerModel)result); } else if (result is SalesmanModel) { retrievedDataModel.Salesmans.Add((SalesmanModel)result); } else if (result is SalesDataModel) { retrievedDataModel.SalesData.Add((SalesDataModel)result); } } return(retrievedDataModel); } catch (Exception ex) { return(null); } }