Beispiel #1
0
 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
         });
     }
 }
Beispiel #2
0
        //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;
        }
Beispiel #3
0
 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;
 }
Beispiel #4
0
        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);
        }
Beispiel #5
0
 public void UpdateSalePositionLead(SalePositionLead emp, Boolean finalised)
 {
     emp.FinalisedSale = finalised;
     _repoSalePositionLead.Update(emp);
 }