public SaleDTO ConvertToDTO(Sale sale, Boolean finalised, SalePositionLead emp, CustomerDTO cus = null) { if (cus == null) { var leadSpec = new Specification <SaleLead>(l => l.SaleId == sale.Id); var cusId = _repoSaleLead.Find(leadSpec); if (cusId != null) { var cusSpec = new Specification <Customer>(c => c.Id == cusId.CustomerId); var cusName = _repoCustomer.Find(cusSpec).Name; var record = new SaleDTO { SaleId = sale.Id, Date = sale.Date, OrderNumber = sale.OrderNumber, CustomerId = cusId.CustomerId, CustomerName = cusName, EmployeeId = emp.EmployeeInSalePosition.Employee.Id, EmployeeName = emp.EmployeeInSalePosition.Employee.Lastname + ", " + emp.EmployeeInSalePosition.Employee.Firstname, Finalised = finalised }; return(record); } else { return(new SaleDTO { SaleId = sale.Id, Date = sale.Date, OrderNumber = sale.OrderNumber, EmployeeId = emp.EmployeeInSalePosition.Employee.Id, EmployeeName = emp.EmployeeInSalePosition.Employee.Lastname + ", " + emp.EmployeeInSalePosition.Employee.Firstname, Finalised = emp.FinalisedSale }); } } else { return(new SaleDTO { SaleId = sale.Id, Date = sale.Date, OrderNumber = sale.OrderNumber, CustomerId = cus.CustomerId, CustomerName = cus.CustomerName, EmployeeId = emp.EmployeeInSalePosition.Employee.Id, EmployeeName = emp.EmployeeInSalePosition.Employee.Lastname + ", " + emp.EmployeeInSalePosition.Employee.Firstname, Finalised = emp.FinalisedSale }); } }
//public SaleLead RegisterSaleLead(int stateId, int customerId, int saleId) //{ // var lead = new SaleLead { StateId = stateId, CustomerId = customerId, SaleId = saleId }; // _repoSaleLead.Add(lead); // return lead; //} public SalePositionLead AssignSalesEmployee(int employeeInSalesPositionId, int leadId) { var eip = _repoEmployeeInPosition.Get(employeeInSalesPositionId); var lead = _repoSaleLead.Get(leadId); var salesPositionLead = new SalePositionLead { EmployeeInSalePosition = (eip as EmployeeInSalePosition), SaleLead = lead }; _repoSalePositionLead.Add(salesPositionLead); return salesPositionLead; }
public SalePositionLead FindOrCreateSalePositionLead(SaleLead saleLead) { var empSaleSpec = new Specification<SalePositionLead>(s => s.SaleLead.Id == saleLead.Id); var emp = _repoSalePositionLead.Find(empSaleSpec); if (emp == null) { var empPos = _repoEmployeeInPosition.GetEmployeeInSalePosition().FirstOrDefault(s => s.Position.Name == "Sales"); emp = new SalePositionLead { FinalisedSale = false, SaleLead = saleLead, SaleLeadId = saleLead.Id, EmployeeInSalePosition = empPos, EmployeeInSalePostionId = empPos.Id }; _repoSalePositionLead.Add(emp); } return emp; }
public SalePositionLead FindOrCreateSalePositionLead(Sale sale, CustomerDTO cus) { var empSaleSpec = new Specification <SalePositionLead>(s => s.SaleLead.Sale.Id == sale.Id); var emp = _repoSalePositionLead.Find(empSaleSpec); if (emp == null) { var sa = FindOrCreateSaleLead(cus, sale.OrderNumber, sale.Date, false); var sl = _repoSaleLead.AsQueryable().FirstOrDefault(s => s.Sale.Id == sale.Id); var empPos = _repoEmployeeInPosition.GetEmployeeInSalePosition().FirstOrDefault(s => s.Position.Name == "Sales"); emp = new SalePositionLead { FinalisedSale = false, SaleLead = sl, SaleLeadId = sl.Id, EmployeeInSalePosition = empPos, EmployeeInSalePostionId = empPos.Id }; _repoSalePositionLead.Add(emp); } return(emp); }
public void UpdateSalePositionLead(SalePositionLead emp, Boolean finalised) { emp.FinalisedSale = finalised; _repoSalePositionLead.Update(emp); }