Ejemplo n.º 1
0
        public SaleLead CreateSaleLead(int stateId, int customerId, DateTime timeStamp)
        {
            ISaleLeadRepository saleLeadRepo = new SaleLeadRepository(db);
            var saleLead = new SaleLead {
                StateId = stateId, CustomerId = customerId, Timestamp = timeStamp
            };

            saleLeadRepo.Add(saleLead);

            return(saleLead);
        }
Ejemplo n.º 2
0
        public IHttpActionResult Put(SaleLead saleLead)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var lead = _serviceSaleLead.UpdateLead(saleLead.Id, saleLead.SaleLeadState.Id, saleLead.SaleId, saleLead.Customer.Id, Convert.ToDateTime(saleLead.Timestamp));

            saleLead.Id = lead.Id;
            return(CreatedAtRoute("DefaultApi", new { leadId = saleLead.Id }, saleLead));
        }
Ejemplo n.º 3
0
        public IHttpActionResult CreateSaleLead(SaleLead salelead)
        {
            //if (!ModelState.IsValid)
            //{
            //    return BadRequest(ModelState);
            //}
            var lead = _serviceSaleLead.CreateSaleLead(salelead.Customer.Id, salelead.SaleLeadState.Id, salelead.SaleId, Convert.ToDateTime(salelead.Timestamp));

            salelead.Id = lead.Id;
            return(CreatedAtRoute("DefaultApi", new { id = salelead.Id }, salelead));
        }
Ejemplo n.º 4
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;
 }
Ejemplo n.º 5
0
        public void DeleteLead(int leadId)
        {
            SaleLead lead = _repoSaleLead.Get(leadId);
            List<SalePositionLead> leadpos = lead.SalePositionLeads.ToList();
            foreach (var pos in leadpos)
            {
                List<SalePositionLeadAction> leadposacts = pos.SalePositionLeadActions.ToList();
                _repoSalePositionLeadAction.Delete(leadposacts);
            }

            _repoSalePositionLead.Delete(leadpos);
            _repoSaleLead.Delete(lead);
        }
Ejemplo n.º 6
0
 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;
 }
Ejemplo n.º 7
0
        public Sale FindOrCreateSaleLead(CustomerDTO cus, int orderNo, DateTime date, Boolean finalised)
        {
            SaleLead lead = null;

            if (cus != null)
            {
                var cusSpec    = new Specification <SaleLead>(c => c.CustomerId == cus.CustomerId);
                var saleSpec   = new Specification <SaleLead>(s => s.Sale.OrderNumber == orderNo);
                var cusAndSale = cusSpec.And(saleSpec);
                lead = _repoSaleLead.Find(cusAndSale);
            }
            if (lead == null)
            {
                var orderSpec    = new Specification <Sale>(x => x.OrderNumber == orderNo);
                var dateSpec     = new Specification <Sale>(y => y.Date == date);
                var orderAndDate = orderSpec.And(dateSpec);
                var sale         = _repoSale.Find(orderAndDate);
                if (sale == null)
                {
                    sale = new Sale {
                        Date = date, OrderNumber = orderNo
                    };
                    _repoSale.Add(sale);
                }
                var state = _repoLeadState.AsQueryable().FirstOrDefault();
                if (cus != null)
                {
                    var customer = _repoCustomer.Get(cus.CustomerId);
                    var newLead  = new SaleLead {
                        SaleId = sale.Id, Sale = sale, SaleLeadState = state, StateId = state.Id, Customer = customer, CustomerId = customer.Id
                    };
                    _repoSaleLead.Add(newLead);
                    return(sale);
                }
                else
                {
                    var customer = _repoCustomer.AsQueryable().FirstOrDefault();
                    var newLead  = new SaleLead {
                        SaleId = sale.Id, Sale = sale, SaleLeadState = state, StateId = state.Id, Customer = customer, CustomerId = customer.Id
                    };
                    _repoSaleLead.Add(newLead);
                    return(sale);
                }
            }
            else
            {
                var sale = _repoSale.AsQueryable().FirstOrDefault(s => s.Id == lead.Sale.Id);
                return(sale);
            }
        }
Ejemplo n.º 8
0
 //DELETE: /api/SaleLeads/Destroy
 public IHttpActionResult Delete(SaleLead lead)
 {
     _serviceSaleLead.DeleteLead(lead.Id);
     return(Ok());
 }