public ActionResult Create(LeadViewModel leadViewModel) { var lead = new Lead(); lead.Company = leadViewModel.Company; lead.ExpectedValue = leadViewModel.ExpectedValue; lead.ProbabilityOfSale = leadViewModel.ProbabilityOfSale; lead.Status = new Tuple<int, string>(leadViewModel.Status, ""); lead.NextFollowUp = leadViewModel.NextFollowUp; lead.StreetAddress = leadViewModel.StreetAddress; lead.City = leadViewModel.City; lead.State = leadViewModel.State; lead.Zip = leadViewModel.Zip; lead.Country = leadViewModel.Country; if (leadViewModel.LeadContacts != null && leadViewModel.LeadContacts.Any()) lead.Contacts = leadViewModel.LeadContacts.ToDictionary(k => k.Value, v => v.Value.ToString()); if (leadViewModel.LeadOwners != null && leadViewModel.LeadOwners.Any()) lead.LeadOwners = leadViewModel.LeadOwners.ToDictionary(k => k.Value, v => v.Value.ToString()); int itemId = lead.CreateLead(lead); return RedirectToAction("Index"); }
public ActionResult Create() { var lead = new Lead(); var spaceContacts = lead.GetSpaceContacts(); var spaceUsers = lead.GetUsers(); var statuses = lead.GetAllStatuses(); var leadContactsItems = spaceContacts.Select(x => new SelectListItem { Text = x.Name, Value = x.ProfileId.ToString() }); var leadOwnerItems = spaceUsers.Select(x => new SelectListItem { Text = x.Name, Value = x.ProfileId.ToString() }); var statusOptions = statuses.Select(x => new SelectListItem { Text = x.Value.ToString(), Value = x.Key.ToString() }); var model = new LeadViewModel(); model.LeadContactsOptions = leadContactsItems; model.LeadOwnersOptions = leadOwnerItems; model.StatusOptions = statusOptions; return View(model); }
public ActionResult Create(LeadViewModel leadViewModel) { Lead lead = LeadViewModelToLead(leadViewModel); try { int itemId = lead.CreateLead(lead); if(itemId != default(int)) TempData["message"] = "New lead added succesfully"; } catch (PodioException ex) { ViewBag.error = ex.Error.ErrorDescription; } return RedirectToAction("Index"); }
public ActionResult Create() { var lead = new Lead(); var model = new LeadViewModel(); try { List<Contact> spaceContacts = lead.GetSpaceContacts(); List<Contact> spaceUsers = lead.GetUsers(); Dictionary<int, string> statuses = lead.GetAllStatuses(); model.LeadContactsOptions = new SelectList(spaceContacts, "ProfileId", "Name"); model.LeadOwnersOptions = new SelectList(spaceUsers, "ProfileId", "Name"); model.StatusOptions = new SelectList(statuses, "Key", "Value"); } catch (PodioException ex) { ViewBag.error = ex.Error.ErrorDescription; } return View(model); }
/// <summary> /// Convert LeadViewModel to Lead object /// </summary> /// <param name="leadViewModel"></param> /// <returns></returns> public static Lead LeadViewModelToLead(LeadViewModel leadViewModel) { var lead = new Lead(); lead.PodioItemID = leadViewModel.PodioItemID; lead.Company = leadViewModel.Company; lead.ExpectedValue = leadViewModel.ExpectedValue; lead.ProbabilityOfSale = leadViewModel.ProbabilityOfSale; lead.Status = new Tuple<int, string>(leadViewModel.Status, ""); lead.NextFollowUp = leadViewModel.NextFollowUp; lead.StreetAddress = leadViewModel.StreetAddress; lead.City = leadViewModel.City; lead.State = leadViewModel.State; lead.Zip = leadViewModel.Zip; lead.Country = leadViewModel.Country; if (leadViewModel.LeadContacts != null && leadViewModel.LeadContacts.Any()) lead.Contacts = leadViewModel.LeadContacts.ToDictionary(k => k.Value, v => v.Value.ToString()); if (leadViewModel.LeadOwners != null && leadViewModel.LeadOwners.Any()) lead.LeadOwners = leadViewModel.LeadOwners.ToDictionary(k => k.Value, v => v.Value.ToString()); return lead; }
public async Task<ActionResult> Edit(LeadViewModel leadViewModel, string command) { if(command == "Update") { Lead lead = Lead.LeadViewModelToLead(leadViewModel); try { await lead.UpdateLead(lead); TempData["message"] = "Lead updated successfully"; } catch (PodioException ex) { ViewBag.error = ex.Error.ErrorDescription; } return RedirectToAction("Edit", new { id = lead.PodioItemID }); } else { return RedirectToAction("Index"); } }
public async Task<ActionResult> Edit(int id) { ViewBag.message = TempData["message"]; ViewBag.error = TempData["error"]; var lead = new Lead(); var model = new LeadViewModel(); try { var getLeadToEditTask = lead.GetLead(id); var getSpaceContactsTask = lead.GetSpaceContacts(); var getSpaceUsersTask = lead.GetUsers(); var getStatusesTask = lead.GetAllStatuses(); await System.Threading.Tasks.Task.WhenAll(getSpaceContactsTask, getSpaceUsersTask, getStatusesTask, getLeadToEditTask); var leadToEdit = getLeadToEditTask.Result; IEnumerable<int> selectedLeadContacts = leadToEdit.Contacts != null ? leadToEdit.Contacts.Select(x => x.Key) : null; IEnumerable<int> selectedLeadOwners = leadToEdit.LeadOwners != null ? leadToEdit.LeadOwners.Select(x => x.Key) : null; int selectedStatus = leadToEdit.Status.Item1; model.PodioItemID = leadToEdit.PodioItemID; model.Company = leadToEdit.Company; model.ExpectedValue = leadToEdit.ExpectedValue; model.ProbabilityOfSale = leadToEdit.ProbabilityOfSale; model.NextFollowUp = leadToEdit.NextFollowUp; model.StreetAddress = leadToEdit.StreetAddress; model.City = leadToEdit.City; model.Zip = leadToEdit.Zip; model.State = leadToEdit.State; model.Country = leadToEdit.Country; model.LeadContactsOptions = new SelectList(getSpaceContactsTask.Result, "ProfileId", "Name"); model.LeadOwnersOptions = new SelectList(getSpaceUsersTask.Result, "ProfileId", "Name"); model.StatusOptions = new SelectList(getStatusesTask.Result, "Key", "Value"); } catch (PodioException ex) { ViewBag.error = ex.Error.ErrorDescription; } return View(model); }
public async Task<ActionResult> Create() { var lead = new Lead(); var model = new LeadViewModel(); try { var getSpaceContactsTask = lead.GetSpaceContacts(); var getSpaceUsersTask = lead.GetUsers(); var getStatusesTask = lead.GetAllStatuses(); await System.Threading.Tasks.Task.WhenAll(getSpaceContactsTask, getSpaceUsersTask, getStatusesTask); model.LeadContactsOptions = new SelectList(getSpaceContactsTask.Result, "ProfileId", "Name"); model.LeadOwnersOptions = new SelectList(getSpaceUsersTask.Result, "ProfileId", "Name"); model.StatusOptions = new SelectList(getStatusesTask.Result, "Key", "Value"); } catch (PodioException ex) { ViewBag.error = ex.Error.ErrorDescription; } return View(model); }
public ActionResult Edit(int id) { ViewBag.message = TempData["message"]; ViewBag.error = TempData["error"]; var lead = new Lead(); var model = new LeadViewModel(); try { Lead leadToEdit = lead.GetLead(id); List<Contact> spaceContacts = lead.GetSpaceContacts(); List<Contact> spaceUsers = lead.GetUsers(); Dictionary<int,string> statuses = lead.GetAllStatuses(); IEnumerable<int> selectedLeadContacts = leadToEdit.Contacts != null ? leadToEdit.Contacts.Select(x => x.Key) : null; IEnumerable<int> selectedLeadOwners = leadToEdit.LeadOwners != null ? leadToEdit.LeadOwners.Select(x => x.Key) : null; int selectedStatus = leadToEdit.Status.Item1; model.PodioItemID = leadToEdit.PodioItemID; model.Company = leadToEdit.Company; model.ExpectedValue = leadToEdit.ExpectedValue; model.ProbabilityOfSale = leadToEdit.ProbabilityOfSale; model.NextFollowUp = leadToEdit.NextFollowUp; model.StreetAddress = leadToEdit.StreetAddress; model.City = leadToEdit.City; model.Zip = leadToEdit.Zip; model.State = leadToEdit.State; model.Country = leadToEdit.Country; model.LeadContactsOptions = new MultiSelectList(spaceContacts, "ProfileId", "Name", selectedLeadContacts); model.LeadOwnersOptions = new MultiSelectList(spaceUsers, "ProfileId", "Name", selectedLeadOwners); model.StatusOptions = new SelectList(statuses, "Key", "Value", selectedStatus); } catch (PodioException ex) { ViewBag.error = ex.Error.ErrorDescription; } return View(model); }