Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
            }
        }