Esempio n. 1
0
        public ActionResult Add(int id, string type)
        {
            var model = new NoteViewModel();

            model.ItemID     = id;
            model.NoteType   = (NoteType)Enum.Parse(typeof(CrumbCRM.NoteType), type, true);
            model.ParentItem = _leadService.GetByID(model.ItemID);

            switch (model.NoteType)
            {
            case NoteType.Contact:
                model.ParentItem = _contactService.GetByID(id);
                break;

            case NoteType.Quote:
                model.ParentItem = _quoteService.GetByID(id);
                break;

            default:
                model.ParentItem = _leadService.GetByID(id);
                break;
            }

            ViewData.SelectListEnumViewData <NoteActionType>("ActionType", true);

            return(View("Add", model));
        }
Esempio n. 2
0
        public ActionResult Delete(int id)
        {
            Lead Lead = _leadService.GetByID(id);

            _leadService.Delete(Lead);
            return(RedirectToAction("Index"));
        }
Esempio n. 3
0
        public ActionResult Convert(int id, LeadType type)
        {
            Lead lead = _leadService.GetByID(id);

            Contact company = new Contact();

            if (!string.IsNullOrEmpty(lead.CompanyName))
            {
                //add a company contact
                company.Type        = ContactType.Company;
                company.CompanyName = lead.CompanyName;
                company.Email       = lead.Email;
                company.Mobile      = lead.Mobile;
                company.Work        = lead.Work;
                company.Address     = lead.Address;
                company.City        = lead.City;
                company.County      = lead.County;
                company.Postcode    = lead.Postcode;
                company.OwnerID     = lead.OwnerID;

                _contactService.Save(company);
            }

            Contact person = new Contact();

            if (!string.IsNullOrEmpty(lead.FirstName) && !string.IsNullOrEmpty(lead.LastName))
            {
                //add a person contact
                person.Type      = ContactType.Person;
                person.CompanyID = lead.CompanyID.HasValue ? lead.CompanyID.Value : company.ID;
                person.FirstName = lead.FirstName;
                person.LastName  = lead.LastName;
                person.JobTitle  = lead.JobTitle;
                person.Email     = lead.Email;
                person.Mobile    = lead.Mobile;
                person.Work      = lead.Work;
                person.Address   = lead.Address;
                person.City      = lead.City;
                person.County    = lead.County;
                person.Postcode  = lead.Postcode;
                person.OwnerID   = lead.OwnerID;

                _contactService.Save(person);
            }

            Sale sale = new Sale()
            {
                Name        = lead.FirstName + " " + lead.LastName,
                JobTitle    = company.CompanyName,
                CreatedDate = DateTime.Now,
                CompanyID   = lead.CompanyID.HasValue ? lead.CompanyID.Value : company.ID,
                OwnerID     = lead.OwnerID,
                PersonID    = person.ID,
                Status      = SaleType.Prospecting,
                CampaignID  = lead.CampaignID
            };

            // set converted date
            lead.Converted = DateTime.Now;
            _leadService.Save(lead);

            _saleService.Save(sale);
            _activityService.Create("was converted", AreaType.Sale, User.Identity.Name, sale.ID);

            // re-assign existing tags
            lead.Tags.ToList().ForEach(t => _saleService.AssignTag(sale, t.Tag));

            TempData.Add("StatusMessage", "Lead converted");

            return(RedirectToAction("Index", "Sale"));
        }