async Task PushTabbedLeadPage(Account lead = null) { LeadDetailViewModel viewModel = new LeadDetailViewModel(Navigation, lead); var leadDetailPage = new LeadDetailPage() { BindingContext = viewModel, Title = TextResources.Details, }; if (Device.OS == TargetPlatform.iOS) { leadDetailPage.Icon = Icon = new FileImageSource() { File = "LeadDetailTab" } } ; if (lead != null) { leadDetailPage.Title = lead.Company; } else { leadDetailPage.Title = "New Investment"; } leadDetailPage.ToolbarItems.Add( new ToolbarItem(TextResources.Save, "save.png", async() => { if (string.IsNullOrWhiteSpace(viewModel.Lead.Company)) { await DisplayAlert("Missing Information", "Please fill in the lead's company to continue", "OK"); return; } var answer = await DisplayAlert( title: TextResources.Leads_SaveConfirmTitle, message: TextResources.Leads_SaveConfirmDescription, accept: TextResources.Save, cancel: TextResources.Cancel); if (answer) { viewModel.SaveLeadCommand.Execute(null); await Navigation.PopAsync(); } })); await Navigation.PushAsync(leadDetailPage); } }
public LeadDetailPage(LeadDetailViewModel viewModel) { InitializeComponent(); BindingContext = this.viewModel = viewModel; foreach (var property in viewModel.ProjectLeadDto.Data) { LeadProperties.Children.Add(new Label { Text = $"{property.Key}: {property.Value}" }); } }
async Task PushTabbedLeadPage(Account lead = null) { LeadDetailViewModel viewModel = new LeadDetailViewModel(Navigation, lead); TabbedPage tabbedPage = new TabbedPage(); tabbedPage.ToolbarItems.Add( new ToolbarItem(TextResources.Save, null, async() => { var answer = await DisplayAlert( title: TextResources.Leads_SaveConfirmTitle, message: TextResources.Leads_SaveConfirmDescription, accept: TextResources.Save, cancel: TextResources.Cancel); if (answer) { viewModel.SaveLeadCommand.Execute(null); await Navigation.PopModalAsync(); } })); tabbedPage.ToolbarItems.Add( new ToolbarItem(TextResources.Exit, null, async() => { { var answer = await DisplayAlert( title: TextResources.Leads_ExitConfirmTitle, message: TextResources.Leads_ExitConfirmDescription, accept: TextResources.Exit_and_Discard, cancel: TextResources.Cancel); if (answer) { await Navigation.PopModalAsync(); } } })); tabbedPage.Children.Add(new LeadDetailPage() { BindingContext = viewModel, Title = TextResources.Details, Icon = new FileImageSource() { File = "LeadDetailTab" } // only used on iOS }); tabbedPage.Children.Add(new LeadContactDetailPage() { BindingContext = viewModel, Title = TextResources.Contact, Icon = new FileImageSource() { File = "LeadContactDetailTab" } // only used on iOS }); NavigationPage navPage = new NavigationPage(tabbedPage); await Navigation.PushModalAsync(navPage); }
// GET: Sales/Leads/Details/5 public ActionResult Details(int id) { Lead lead = _db.Leads.Find(id); string relatedCampaignName = String.Empty; if (lead == null) { return(HttpNotFound()); } var relatedSalesContacts = _db.Contacts.Where(c => c.Organization.MerId == lead.RelatedOrganizationId && c.ContactType == Contact.ContactTypeEnum.Sales); var relatedLeadNotes = _db.LeadNotes.Where(n => n.RelatedLeadId == lead.LeadId).OrderByDescending(n => n.InsertDate); var relatedLeadActivities = _db.ActivityLogs.Where(a => a.ReferenceId == lead.LeadId && a.Module == ModuleEnum.Leads).OrderByDescending(a => a.InsertDate); var relatedAcquireEmailBasesCampaign = _db.Campaigns.Where(c => c.CampaignType == Campaigns.Models.Campaign.CampaignTypeEnum.EmailBases && c.CampaignStatus == Campaigns.Models.Campaign.CampaignStatusEnum.Start && c.RelatedCompanyId == lead.RelatedOrganization.MerId); if (lead.RelatedCampaignId != null) { var relatedCampaign = _db.Campaigns.First(c => c.CampaignId == lead.RelatedCampaignId); relatedCampaignName = relatedCampaign.CampaignName; } var users = _db.Users.Select(u => u); //var _LastLeadNote = (from n in db.LeadNotes // where n.RelatedLeadId == lead.LeadId // select n).OrderByDescending(n => n.InsertDate).Select(n => n.Note).First().ToString(); var salesNoteTemplates = new List <ListItem> { new ListItem { Value = @"razloženo funkcioniranje servisa (opis onoga što se dogodi nakon što korisnik klikne pošalji eRačun)", Text = @"razloženo funkcioniranje servisa (opis onoga što se dogodi nakon što korisnik klikne pošalji eRačun)" }, new ListItem { Value = @"argumentirana korisnička podrška -- ažuriranje mailova (90% uspješnost), slanje tipske obavijesti, zvanje za preuzimanje (97% uspješnost)", Text = @"argumentirana korisnička podrška -- ažuriranje mailova (90% uspješnost), slanje tipske obavijesti, zvanje za preuzimanje (97% uspješnost)" }, new ListItem { Value = @"objašnjena tehnička pozadina s ERPom", Text = @"objašnjena tehnička pozadina s ERPom" }, new ListItem { Value = @"objašnjena tehnička pozadina s eRa aplikacijom", Text = @"objašnjena tehnička pozadina s eRa aplikacijom" }, new ListItem { Value = @"razložena potvrda primitka, pretraživanje i arhiviranje", Text = @"razložena potvrda primitka, pretraživanje i arhiviranje" }, new ListItem { Value = @"istaknuta jednostavnost uvođenja (kod izgovora nemamo vremena, prostora, u restrukturiranju smo)", Text = @"istaknuta jednostavnost uvođenja (kod izgovora nemamo vremena, prostora, u restrukturiranju smo)" }, new ListItem { Value = @"osvježen kontakt i iznesene novosti", Text = @"osvježen kontakt i iznesene novosti" }, new ListItem { Value = @"izvršen kvalitetan presing", Text = @"izvršen kvalitetan presing" }, new ListItem { Value = @"izvršen salesforce (isticanje benefita uz forzu)", Text = @"izvršen salesforce (isticanje benefita uz forzu)" }, new ListItem { Value = @"poslan mail ps (prijedlog suradnje)", Text = @"poslan mail ps (prijedlog suradnje)" }, new ListItem { Value = @"kreirati i odaslati PND", Text = @"kreirati i odaslati PND" }, new ListItem { Value = @"kreirati i odaslati UO", Text = @"kreirati i odaslati UO" }, new ListItem { Value = @"održan sastanak, poslan FU", Text = @"održan sastanak, poslan FU" }, new ListItem { Value = @"objašnjena zakonska pozadina i pravovaljanost eRačuna", Text = @"objašnjena zakonska pozadina i pravovaljanost eRačuna" }, new ListItem { Value = @"kontaktirani za uvođenje zaprimanja", Text = @"kontaktirani za uvođenje zaprimanja" }, new ListItem { Value = @"obrazložio slanje privitaka", Text = @"obrazložio slanje privitaka" }, new ListItem { Value = @"obrazložio procesnu pokrivenost primatelja te odagnao brige i strahove u vezi preuzimanja od strane njihovih kupaca", Text = @"obrazložio procesnu pokrivenost primatelja te odagnao brige i strahove u vezi preuzimanja od strane njihovih kupaca" } }; var rejectReasonList = new List <ListItem> { new ListItem { Value = @"0", Text = @"Ne želi navesti" }, new ListItem { Value = @"1", Text = @"Nema interesa za uslugu" }, new ListItem { Value = @"2", Text = @"Previsoka cijena" }, new ListItem { Value = @"3", Text = @"Neadekvatna ponuda" }, new ListItem { Value = @"4", Text = @"Koristi drugog posrednika" }, new ListItem { Value = @"5", Text = @"Nedostatak vremena za pokretanje projekta" }, new ListItem { Value = @"6", Text = @"Dio strane grupacije / Strano vlasništvo" }, new ListItem { Value = @"7", Text = @"Drugo / Ostalo" }, }; var leadSalesFunnelChecker = new LeadSalesFunnelChecker(lead.RelatedOrganization.MerId); var leadDetails = new LeadDetailViewModel() { Lead = lead, RelatedCampaignName = relatedCampaignName, RelatedSalesContacts = relatedSalesContacts, RelatedLeadNotes = relatedLeadNotes, RelatedLeadActivities = relatedLeadActivities, Users = users, SalesNoteTemplates = salesNoteTemplates, RejectReasons = rejectReasonList, RelatedQuotes = _db.Quotes.Where(x => x.RelatedLeadId == id), LeadSalesFunnelChecker = leadSalesFunnelChecker }; if (relatedAcquireEmailBasesCampaign.Count() != 0) { leadDetails.RelatedAcquireEmailBasesCampaignId = relatedAcquireEmailBasesCampaign.First().CampaignId; } return(View(leadDetails)); }