//public void GenerateSaleData() //{ // var employees = GetAllEmployees().ToArray(); // var customers = GetAllCustomers(); // var empRandom = new Random(); // var custRandom = new Random(); // CryptoRandom rand = new CryptoRandom(); // for(var index = new DateTime(2014, 7, 1); index < DateTime.Now; index = index.AddDays(rand.Next(1,7))) // { // CryptoRandom random = new CryptoRandom(); // Thread.Sleep(500); // var employeeDailySaleCount = empRandom.Next(1, employees.Length - 1); // for (var n = 0; n <= employeeDailySaleCount; n++) // { // var randomCustomerIndex = custRandom.Next(1, customers.Count() - 1); // var customer = customers.ElementAt(randomCustomerIndex); // var randomEmployeeIndex = empRandom.Next(1, employees.Count() - 1); // var employee = employees[randomEmployeeIndex]; // var cusDTO = new CustomerDTO { CustomerId = customer.Id, CustomerName = customer.Name }; // var fin = random.Next(1, 3); // var b = false; // if (fin > 1) // { // b = true; // } // var s = RegisterSale(index, random.Next(1, 100), cusDTO, b, employee.Id); // var pList = _repoProduct.AsQueryable().Where(v => v.Id > 0).ToArray(); // int numberOfItems = random.Next(1, 10); // for (int i = 0; i < numberOfItems; i++) // { // var qty = random.Next(1, 10); // var pId = random.Next(1, pList.Length - 1); // var product = FetchProduct(pId); // while(product == null) // { // pId++; // product = FetchProduct(pId); // } // var sli = RegisterSaleLineItem(pId, s.SaleId, qty); // } // } // } //} #region Sale public List <SaleDTO> ListSales(int CustomerId) { //GenerateSaleData(); var list = new List <Sale>(); if (CustomerId != 0) { var cusSpec = new Specification <SaleLead>(s => s.CustomerId == CustomerId); list = _repoSaleLead.AsQueryable().Where(c => c.CustomerId == CustomerId).Select(s => s.Sale).ToList(); } else { list = _repoSale.AsQueryable().Select(x => x).ToList(); } var dtoList = new List <SaleDTO>(); foreach (var lis in list) { var emp = FindOrCreateSalePositionLead(lis, null); var record = ConvertToDTO(lis, emp.FinalisedSale, emp); dtoList.Add(record); } return(dtoList); }
public IHttpActionResult Get([ModelBinder(typeof(Kendo.Mvc.UI.WebApiDataSourceRequestModelBinder))] DataSourceRequest request) { //var sales = _serviceSale.ListSales(0); //var salesWViewModels = new List<SaleViewModel>(); //foreach (var s in sales) //{ // var vm = new SaleViewModel { SaleId = s.SaleId, Date = s.Date, OrderNumber = s.OrderNumber, Customer = new SaleCustomerViewModel { CustomerId = s.CustomerId, CustomerName = s.CustomerName }, Employee = new SaleEmployeeViewModel { EmployeeId = s.EmployeeId, EmployeeName = s.EmployeeName }, Finalised = s.Finalised }; // salesWViewModels.Add(vm); //} var salesWViewModels = _repoSale.AsQueryable().ToDataSourceResult(request, s => new SaleViewModel { SaleId = s.Id, Date = s.Date, OrderNumber = s.OrderNumber, Customer = new SaleCustomerViewModel { CustomerId = s.SaleLeads.First().CustomerId, CustomerName = s.SaleLeads.First().Customer.Name }, Employee = new SaleEmployeeViewModel { EmployeeId = s.SaleLeads.First().SalePositionLeads.Last().EmployeeInSalePosition.EmployeeId, EmployeeName = s.SaleLeads.First().SalePositionLeads.Last().EmployeeInSalePosition.Employee.Lastname + ", " + s.SaleLeads.First().SalePositionLeads.Last().EmployeeInSalePosition.Employee.Firstname }, Finalised = s.SaleLeads.First().SalePositionLeads.Last().FinalisedSale }); return(Ok(salesWViewModels)); }
public SaleLead CreateSaleLead(int customerId, int stateId, int saleId, DateTime timestamp) { if (saleId == 0) { var sale = new Sale { OrderNumber = 0, Date = DateTime.Now }; _repoSale.Add(sale); var addedSale = _repoSale.AsQueryable().Where(o => o.OrderNumber == 0).ToList(); saleId = addedSale.First().Id; } var lead = new SaleLead { CustomerId = customerId, StateId = stateId, SaleId = saleId, Timestamp = timestamp }; _repoSaleLead.Add(lead); return lead; }