async void phoneClicked(object sender, EventArgs e1) { // taxes myobj = sender as taxes; var args = (TappedEventArgs)e1; try { CRMOpportunities myobj = args.Parameter as CRMOpportunities; var phoneDialer = CrossMessaging.Current.PhoneDialer; if (phoneDialer.CanMakePhoneCall && myobj.phone != "") { phoneDialer.MakePhoneCall(myobj.phone); } else { await Navigation.PushPopupAsync(new PhoneWizard()); } } catch { CRMOpportunitiesDB myobj = args.Parameter as CRMOpportunitiesDB; var phoneDialer = CrossMessaging.Current.PhoneDialer; if (phoneDialer.CanMakePhoneCall && myobj.phone != "") { phoneDialer.MakePhoneCall(myobj.phone); } else { await Navigation.PushPopupAsync(new PhoneWizard()); } } }
private void OnMenuItemTapped(object sender, ItemTappedEventArgs ea) { if (App.NetAvailable == true) { var result1 = from y in App.CRMOpportunitiesListDb where y.yellowimg_string == "yellowcircle.png" select y; if (result1.Count() == 0) { try { CRMOpportunities masterItemObj = (CRMOpportunities)ea.Item; Navigation.PushPopupAsync(new CrmOppDetailWizard(masterItemObj)); } catch { CRMOpportunitiesDB masterItemObj = (CRMOpportunitiesDB)ea.Item; Navigation.PushPopupAsync(new CrmOppDetailWizard(masterItemObj)); } } else { try { CRMOpportunitiesDB masterItemObj = (CRMOpportunitiesDB)ea.Item; Navigation.PushPopupAsync(new CrmOppDetailWizard(masterItemObj)); } catch { CRMOpportunities masterItemObj = (CRMOpportunities)ea.Item; Navigation.PushPopupAsync(new CrmOppDetailWizard(masterItemObj)); } } } else if (App.NetAvailable == false) { try { CRMOpportunitiesDB masterItemObj = (CRMOpportunitiesDB)ea.Item; Navigation.PushPopupAsync(new CrmOppDetailWizard(masterItemObj)); } catch { CRMOpportunities masterItemObj = (CRMOpportunities)ea.Item; Navigation.PushPopupAsync(new CrmOppDetailWizard(masterItemObj)); } } }
public CrmOppDetailWizard(CRMOpportunitiesDB modelObj) { InitializeComponent(); dbobj = modelObj; //if (modelObj.yellowimg_string == "yellowcircle.png") //{ // synclayout.IsVisible = true; //} CustomerNameValue.Text = modelObj.name; CrmNameValue.Text = modelObj.customer; ExpectedRevenueValue.Text = modelObj.expected_revenue + "$"; ProbabilityValue.Text = modelObj.probability + "%"; EmailValue.Text = modelObj.email; PhoneValue.Text = modelObj.phone; TeamValue.Text = modelObj.team_name; NextActValue.Text = modelObj.next_activity; NextActValue.Text = modelObj.next_activity; NextActValue.Text = modelObj.title_action; expectedClosingValue.Text = ""; //StreetValue.Text = modelObj.street; //Street2Value.Text = modelObj.street2; //CityValue.Text = modelObj.city; //CountryValue.Text = modelObj.country; //ContactNameValue.Text = modelObj.contact_name; //ContactMobileValue.Text = modelObj.mobile; int priorityCnt = Convert.ToInt32(modelObj.priority); if (priorityCnt == 3) { RatingLayout3.IsVisible = true; } else if (priorityCnt == 2) { RatingLayout2.IsVisible = true; } else if (priorityCnt == 1) { RatingLayout1.IsVisible = true; } else { } }
public List <CRMLead> crmLeadData() { String[] colourcodes = new String[] { "#3498db", "#e67e22", "#c0392b", "#2ecc71", "#d35400", "#27ae60", " #e74c3c", "#2980b9" }; try { //JObject res = odooConnector.odooCrmLeadDataCall("sale.crm", "get_your_pipelines_all_orders"); App.filterdict["range"] = "False"; App.filterdict["days"] = "False"; App.filterdict["month"] = "True"; // odooConnector = OdooRPC.InstanceCreation(Settings.UserUrlName); JObject res = odooConnector.odooFilterDataCall("sale.crm", "get_your_pipelines_all_orders"); //List<OrderLine> test = new List<OrderLine>(); App.statedict = res["state_list"].ToObject <Dictionary <int, string> >(); App.countrydict = res["country_list"].ToObject <Dictionary <int, string> >(); App.partner_name = res["user_name"].ToString(); App.partner_image = res["user_image_medium"].ToString(); App.partner_id = res["partner_id"].ToObject <int>(); App.partner_email = res["user_email"].ToString(); App.taxList = res["taxes"].ToObject <List <taxes> >(); App.paytermList = res["payment_terms"].ToObject <List <paytermList> >(); App.commisiongroupList = res["commission_group"].ToObject <List <commisiongroupList> >(); App.salesteam = res["sales_team"].ToObject <Dictionary <int, string> >(); App.salespersons = res["sales_persons"].ToObject <Dictionary <int, string> >(); App.productList = res["Products"].ToObject <List <ProductsList> >(); App.user_location_string = res["location"].ToString(); App._connection = DependencyService.Get <ISQLiteDb>().GetConnection(); App._connection.CreateTable <UserModelDB>(); if (App.UserListDb.Count == 0) { var json_state = Newtonsoft.Json.JsonConvert.SerializeObject(res["state_list"]); var json_country = Newtonsoft.Json.JsonConvert.SerializeObject(res["country_list"]); var json_tags = Newtonsoft.Json.JsonConvert.SerializeObject(res["crm_lead_tags"]); var json_salesteam = Newtonsoft.Json.JsonConvert.SerializeObject(res["sales_team"]); var json_salespersons = Newtonsoft.Json.JsonConvert.SerializeObject(res["sales_persons"]); var json_customers_list = Newtonsoft.Json.JsonConvert.SerializeObject(res["Customers"]); var json_next_activity = Newtonsoft.Json.JsonConvert.SerializeObject(res["next_activity"]); var json_stages = Newtonsoft.Json.JsonConvert.SerializeObject(res["stages"]); var json_payment_terms = Newtonsoft.Json.JsonConvert.SerializeObject(res["payment_terms"]); var json_commission_groups = Newtonsoft.Json.JsonConvert.SerializeObject(res["commission_group"]); var jso_tags_list = Newtonsoft.Json.JsonConvert.SerializeObject(res["taxes"]); var jso_products_list = Newtonsoft.Json.JsonConvert.SerializeObject(res["Products"]); var sample = new UserModelDB { userid = App.userid, partnerid = App.partner_id, user_image_medium = App.partner_image, user_email = App.partner_email, user_name = App.partner_name, state_list = json_state, country_list = json_country, tagsPicker = json_tags, sales_team = json_salesteam, sales_persons = json_salespersons, customers_list = json_customers_list, next_activity = json_next_activity, stages = json_stages, payment_terms = json_payment_terms, commission_group = json_commission_groups, tax_list = jso_tags_list, products = jso_products_list }; App._connection.Insert(sample); try { var details = (from y in App._connection.Table <UserModelDB>() select y).ToList(); App.UserListDb = details; List <ProductsList> productslistdb = new List <ProductsList>(); Dictionary <int, string> cusdictdb = new Dictionary <int, string>(); foreach (var item in App.UserListDb) { productslistdb = JsonConvert.DeserializeObject <List <ProductsList> >(item.products); cusdictdb = JsonConvert.DeserializeObject <Dictionary <int, string> >(item.customers_list); App.ProductListDb = productslistdb; App.cusdictDb = cusdictdb; App.userid_db = item.userid; } } catch { int te = 0; } //List<ProductsList> productslistdb = new List<ProductsList>(); //foreach (var item in App.UserListDb) //{ // productslistdb = JsonConvert.DeserializeObject<List<ProductsList>>(item.products); // App.productList = productslistdb; //} } App.nextActivityList = res["next_activity"].ToObject <List <next_activity> >(); App.crmList = res["crm_leads"].ToObject <List <CRMLead> >(); App._connection = DependencyService.Get <ISQLiteDb>().GetConnection(); App._connection.CreateTable <CRMLeadDB>(); var crmlead_details = App._connection.Query <CRMLeadDB>("SELECT * from CRMLeadDB where yellowimg_string = ?", "yellowcircle.png"); if (crmlead_details.Count() == 0) { App._connection.Query <SalesQuotationDB>("DELETE from CRMLeadDB"); foreach (var item in App.crmList) { var sample = new CRMLeadDB { id = item.id, customer = item.customer, next_activity = item.next_activity, name = item.name, probability = item.probability, phone = item.phone, title_action = item.title_action, expected_revenue = item.expected_revenue, team_name = item.team_name, priority = item.priority, state = item.state, street = item.street, street2 = item.street2, city = item.city, country = item.country, contact_name = item.contact_name, mobile = item.mobile, email = item.email, pipe_date = item.pipe_date, pipe_date1 = item.pipe_date1, conDate = item.conDate, conDate1 = item.conDate1, DateOrder = item.DateOrder, FullState = item.FullState, state_colour = item.state_colour, //order_line = item.order_line[0].ToString() }; App._connection.Insert(sample); //App._samp.Add(sample); } try { var details = (from y in App._connection.Table <CRMLeadDB>() select y).ToList(); App.crmListDb = details; } catch { int te = 0; } } App.crmOpprList = res["crm_quotations"].ToObject <List <CRMOpportunities> >(); App._connection = DependencyService.Get <ISQLiteDb>().GetConnection(); App._connection.CreateTable <CRMOpportunitiesDB>(); var crmoppo_details = App._connection.Query <CRMOpportunitiesDB>("SELECT * from CRMOpportunitiesDB where yellowimg_string = ?", "yellowcircle.png"); if (crmoppo_details.Count == 0) { App._connection.Query <SalesQuotationDB>("DELETE from CRMOpportunitiesDB"); foreach (var item in App.crmOpprList) { var sample = new CRMOpportunitiesDB { customer = item.customer, next_activity = item.next_activity, name = item.name, probability = item.probability, phone = item.phone, title_action = item.title_action, expected_revenue = item.expected_revenue, team_name = item.team_name, priority = item.priority, state = item.state, street = item.street, street2 = item.street2, city = item.city, country = item.country, contact_name = item.contact_name, mobile = item.mobile, email = item.email, FullState = item.FullState, state_colour = item.state_colour, pipe_date = item.pipe_date, //pipe_datetime = item.pipe_datetime, //pipe_datetime1 = item.pipe_datetime1, pipe_datetime = item.pipe_datetime.ToString(), pipe_datetime1 = item.pipe_datetime1.ToString(), DateOrder = item.DateOrder, newpipe_date = item.newpipe_date, }; App._connection.Insert(sample); } try { var details = (from y in App._connection.Table <CRMOpportunitiesDB>() select y).ToList(); App.CRMOpportunitiesListDb = details; } catch { int te = 0; } } App.salesQuotList = res["sale_quotations"].ToObject <List <SalesQuotation> >(); App._connection = DependencyService.Get <ISQLiteDb>().GetConnection(); App._connection.CreateTable <SalesQuotationDB>(); var sq_details = App._connection.Query <SalesQuotationDB>("SELECT * from SalesQuotationDB where yellowimg_string = ?", "yellowcircle.png"); if (sq_details.Count() == 0) { App._connection.Query <SalesQuotationDB>("DELETE from SalesQuotationDB"); foreach (var item in App.salesQuotList) { var json_orderline = Newtonsoft.Json.JsonConvert.SerializeObject(item.order_line); var sample = new SalesQuotationDB { customer = item.customer, // next_activity = item.next_activity, name = item.name, // probability = item.probability, // phone = item.phone, // title_action = item.title_action, // expected_revenue = item.expected_revenue, payment_term = item.payment_term, // team_name = item.team_name, priority = item.priority, state = item.state, street = item.street, street2 = item.street2, city = item.city, country = item.country, // contact_name = item.contact_name, // mobile = item.mobile, // email = item.email, // state_colour = item.state_colour, sales_person = item.sales_person, sales_team = item.sales_team, customer_reference = item.customer_reference, fiscal_position = item.fiscal_position, FullState = item.FullState, state_colour = item.state_colour, DateOrder = item.DateOrder, order_line = json_orderline }; App._connection.Insert(sample); //App._samp.Add(sample); } try { var details = (from y in App._connection.Table <SalesQuotationDB>() select y).ToList(); App.SalesQuotationListDb = details; } catch { int te = 0; } } App.promotionsList = res["promotions"].ToObject <List <ActivePromotions> >(); App._connection = DependencyService.Get <ISQLiteDb>().GetConnection(); App._connection.CreateTable <ActivePromotionsDB>(); //var promotion_details = App._connection.Query<ActivePromotionsDB>("SELECT * from ActivePromotionsDB"); if (App.promotionsList.Count() != 0) { App._connection.Query <ActivePromotionsDB>("DELETE from ActivePromotionsDB"); foreach (var item in App.promotionsList) { var dblist1 = Newtonsoft.Json.JsonConvert.SerializeObject(item.list1); var dblist2 = Newtonsoft.Json.JsonConvert.SerializeObject(item.list2); var dbtype_list = Newtonsoft.Json.JsonConvert.SerializeObject(item.type_list); var sample = new ActivePromotionsDB { product = item.product, name = item.name, start_date = item.Fstart_date, end_date = item.Fend_date, type = item.type, type_list = dbtype_list, list1 = dblist1, list2 = dblist2, Fstart_date = item.Fstart_date, Fend_date = item.Fend_date, EndDateColor = item.EndDateColor, }; App._connection.Insert(sample); //App._samp.Add(sample); } try { var details = (from y in App._connection.Table <ActivePromotionsDB>() select y).ToList(); App.promotionsListDB = details; } catch { int te = 0; } } App.salesOrderList = res["sale_orders"].ToObject <List <SalesOrder> >(); App._connection = DependencyService.Get <ISQLiteDb>().GetConnection(); App._connection.CreateTable <SalesOrderDB>(); if (App.SalesOrderListDb.Count == 0) { foreach (var item in App.salesOrderList) { var json_orderline = Newtonsoft.Json.JsonConvert.SerializeObject(item.order_line); var sample = new SalesOrderDB { customer = item.customer, next_activity = item.next_activity, name = item.name, probability = item.probability, phone = item.phone, title_action = item.title_action, expected_revenue = item.expected_revenue, payment_term = item.payment_term, team_name = item.team_name, priority = item.priority, state = item.state, street = item.street, street2 = item.street2, city = item.city, country = item.country, contact_name = item.contact_name, mobile = item.mobile, email = item.email, state_colour = item.state_colour, sales_person = item.sales_person, sales_team = item.sales_team, customer_reference = item.customer_reference, fiscal_position = item.fiscal_position, FullState = item.FullState, // ColorCode = item.ColorCode, DateOrder = item.DateOrder, order_line = json_orderline, }; App._connection.Insert(sample); //App._samp.Add(sample); } try { var details = (from y in App._connection.Table <SalesOrderDB>() select y).ToList(); App.SalesOrderListDb = details; } catch { int te = 0; } } App.stageList = res["stages"].ToObject <List <stages> >(); String colorCodeData = ""; int cnt = 0; foreach (stages stateObj in res["stages"].ToObject <List <stages> >()) { try { colorCodeData = colorCodeData + "," + stateObj.name + "^" + colourcodes[cnt]; } catch { cnt = 0; continue; } cnt++; } Settings.StageColourCode = colorCodeData; App.cusdict = res["Customers"].ToObject <Dictionary <int, string> >(); App.reasondict = res["lost_reason"].ToObject <Dictionary <int, string> >(); App.crmleadtags = res["crm_lead_tags"].ToObject <Dictionary <int, string> >(); App.user_gps_enabled = res["user_gps_enabled"].ToObject <Boolean>(); App.user_gps_time = res["user_gps_time"].ToObject <int>(); App.locationsList = res["Location"].ToObject <List <LocationsList> >(); return(App.crmList); } catch (Exception ea) { System.Diagnostics.Debug.WriteLine("::::: CRM Warning Message :::: " + ea.Message); if (ea.Message.Contains("(Network is unreachable)") || ea.Message.Contains("NameResolutionFailure")) { App.NetAvailable = false; } else if (ea.Message.Contains("(503) Service Unavailable")) { App.responseState = false; } return(App.crmList); } }
private async void createClickedAsync(object sender, EventArgs ea) { var currentpage = new LoadingAlert(); await PopupNavigation.PushAsync(currentpage); var cusid = App.cusdict.FirstOrDefault(x => x.Value == cuspicker1.SelectedItem.ToString()).Key; vals["customer"] = cusid; vals["oppurtunity_title"] = oppTitle.Text; vals["email"] = eMail.Text; vals["phone"] = phone.Text; // String picker_date = nextActDatePicker.Date.ToString(); DateTime startdateTime; try { startdateTime = DateTime.ParseExact(nextActDatePicker.Date.ToString(), "dd-MM-yyyy hh:mm:ss", CultureInfo.InvariantCulture); } catch (Exception exe) { try { startdateTime = DateTime.ParseExact(nextActDatePicker.Date.ToString(), "MM/dd/yyyy hh:mm:ss", CultureInfo.InvariantCulture); } catch (Exception exa) { try { startdateTime = DateTime.ParseExact(nextActDatePicker.Date.ToString(), "MM/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture); } catch (Exception ea1) { try { startdateTime = DateTime.ParseExact(nextActDatePicker.Date.ToString(), "dd-MM-yyyy hh:mm:ss tt", CultureInfo.InvariantCulture); } catch { try { startdateTime = DateTime.ParseExact(nextActDatePicker.Date.ToString(), "dd/MM/yyyy hh:mm:ss", CultureInfo.InvariantCulture); } catch { try { startdateTime = DateTime.ParseExact(nextActDatePicker.Date.ToString(), "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture); } catch { try { startdateTime = DateTime.ParseExact(nextActDatePicker.Date.ToString(), "dd/MM/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture); } catch { try { startdateTime = DateTime.ParseExact(nextActDatePicker.Date.ToString(), "dd-MM-yyyy hh:mm:ss", CultureInfo.InvariantCulture); } catch { startdateTime = DateTime.ParseExact(nextActDatePicker.Date.ToString(), "M/d/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture); } } } } } } } } string nextactdatepicker_date = startdateTime.ToString("yyyy-MM-dd"); // vals["next_activity_date"] = nextActDatePicker.Date.ToString(); vals["next_activity_date"] = nextactdatepicker_date; vals["next_activity"] = nextActPicker.SelectedItem.ToString(); vals["next_activity_summary"] = nextActSum.Text; if (exRev.Text == "") { exRev.Text = "0"; } vals["expected_revenue"] = Convert.ToDouble(exRev.Text); vals["rating"] = count; vals["stage"] = stagePicker.SelectedItem; vals["internal_notes"] = comments.Text; vals["meetings"] = meetingLineList; vals["state"] = "new"; var salespersonid = App.salespersons.FirstOrDefault(x => x.Value == salesperson_Picker.SelectedItem.ToString()).Key; vals["user_id"] = salespersonid; var salesteamid = App.salesteam.FirstOrDefault(x => x.Value == salesteam_Picker.SelectedItem.ToString()).Key; vals["team_id"] = salesteamid; var customerid = App.cusdict.FirstOrDefault(x => x.Value == cuspicker1.SelectedItem.ToString()).Key; vals["partner_id"] = customerid; vals["partner_name"] = cuspicker1.SelectedItem.ToString(); int next_activity_id = 0; var nextactivityid = ( from i in App.nextActivityList where i.name == nextActPicker.SelectedItem.ToString() select new { i.id, } ).ToList(); foreach (var comgroup in nextactivityid) { next_activity_id = comgroup.id; } vals["next_activity_id"] = next_activity_id; if (cuspicker1.SelectedItem.ToString() == "") { var alert = DisplayAlert("Alert", "Please select the customer", "Ok"); } String date_deadline_string = String.Format("{0:yyy-MM-dd HH:mm:ss}", expected_closing_Picker.Date); vals["date_deadline"] = date_deadline_string; List <CRMLead> crmLeadData = Controller.InstanceCreation().crmLeadData(); if (App.NetAvailable == true) { if (Convert.ToInt32(prob_entry.Text) > 100) { // leadtitle_alert.IsVisible = false; prob_alert.IsVisible = true; } else { //bool updated = Controller.InstanceCreation().UpdateCRMOpporData("sale.crm", "create_crm_quotations", vals); string updated = Controller.InstanceCreation().UpdateCRMOpporData("sale.crm", "create_crm_quotations", vals); if (updated == "true") { // App.Current.MainPage = new MasterPage(new CrmTabbedPage()); // Navigation.PushPopupAsync(new MasterPage( ); // await DisplayAlert("Alert", "Created Successfull", "Ok"); // await Navigation.PopAllPopupAsync(); App.Current.MainPage = new MasterPage(new CrmTabbedPage("tab2")); await Navigation.PopAllPopupAsync(); } else { await DisplayAlert("Alert", "Please try again", "Ok"); } } } else if (App.NetAvailable == false) { var cusiddb = cusdict.FirstOrDefault(x => x.Value == cuspicker1.SelectedItem.ToString()).Key; var json_meetingLineList = JsonConvert.SerializeObject(meetingLineList); int next_activity_offline_id = 0; var nextactivityids = ( from i in App.nextActivityList where i.name == nextActPicker.SelectedItem.ToString() select new { i.id, } ).ToList(); foreach (var comgroup in nextactivityids) { next_activity_offline_id = comgroup.id; } String ex_closing_string = String.Format("{0:MM-dd-yyyy HH:mm:ss}", expected_closing_Picker.Date); var sample = new CRMOpportunitiesDB { // id = item.id, cusid = cusiddb, customer = cuspicker1.SelectedItem.ToString(), next_activity = nextActPicker.SelectedItem.ToString(), name = oppTitle.Text, email = eMail.Text, phone = phone.Text, next_activity_date = nextactdatepicker_date.ToString(), expected_revenue = Convert.ToDouble(exRev.Text).ToString(), rating = count, stage = stagePicker.SelectedItem.ToString(), internal_notes = comments.Text, meetings = json_meetingLineList, FullState = " New ", state = " New ", state_colour = "#3498db", nextact_id = next_activity_offline_id, oppurtunity_title = oppTitle.Text, next_activity_summary = nextActSum.Text, expected_closing = date_deadline_string, yellowimg_string = "yellowcircle.png", //order_line = item.order_line[0].ToString() }; App._connection.Insert(sample); App._connection.CreateTable <CRMOpportunitiesDB>(); try { var details = (from y in App._connection.Table <CRMOpportunitiesDB>() select y).ToList(); App.CRMOpportunitiesListDb = details; } catch (Exception ex) { int i = 0; } // await DisplayAlert("Alert", "Created Successfull", "Ok"); App.Current.MainPage = new MasterPage(new CrmTabbedPage("tab2")); await Navigation.PopAllPopupAsync(); } }
async void phoneClicked(object sender, EventArgs e1) { // taxes myobj = sender as taxes; var args = (TappedEventArgs)e1; try { CRMOpportunities myobj = args.Parameter as CRMOpportunities; var phoneDialer = CrossMessaging.Current.PhoneDialer; if (phoneDialer.CanMakePhoneCall && myobj.phone != "") { // phoneDialer.MakePhoneCall(myobj.phone); await DisplayAlert("Alert", "Your call will be recorded", "Ok"); DependencyService.Get <IPhoneCall>().makecall(myobj.phone); await Task.Delay(5000); DependencyService.Get <IAudioRecorder>().StartRecording(); stopWatch.Start(); var res = await DisplayAlert("Alert", "Save the record?", "Ok", "Cancel"); if (res) { stopWatch.Stop(); // await recorder.StopRecording(); // Get the elapsed time as a TimeSpan value. TimeSpan ts = stopWatch.Elapsed; // Format and display the TimeSpan value. string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}", ts.Hours, ts.Minutes, ts.Seconds); DependencyService.Get <IAudioRecorder>().StopRecording(); var currentpage = new LoadingAlert(); await PopupNavigation.PushAsync(currentpage); Dictionary <string, dynamic> vals = new Dictionary <string, dynamic>(); //string UploadData = DependencyService.Get<IAudioRecorder>().RecordAudio(); string UploadData = DependencyService.Get <IAudioRecorder>().OutputString(); vals["res_model"] = "crm.lead"; vals["res_id"] = myobj.id; // vals["name"] = "test.3gp"; vals["name"] = myobj.name + " " + DateTime.Now.ToString("yyyy-MM-dd HH:mm"); vals["datas"] = UploadData; vals["datas_fname"] = "test.3gp"; var res1 = Controller.InstanceCreation().UpdateLeadCreationData("ir.attachment", "create", vals); Dictionary <string, dynamic> valslog = new Dictionary <string, dynamic>(); valslog["partner_phone"] = myobj.phone; valslog["partner_id"] = App.partner_id; valslog["user_id"] = App.userid; valslog["date"] = DateTime.Now.ToString("yyyy-MM-dd hh:mm"); valslog["opportunity_id"] = myobj.id; valslog["name"] = "Call Discuss"; valslog["state"] = "done"; valslog["duration"] = ts.Minutes + "." + ts.Seconds; var res2 = Controller.InstanceCreation().UpdateLeadCreationData("crm.phonecall", "create", valslog); // DependencyService.Get<IAudioRecorder>().PlayRecording(); // var res1 = Controller.InstanceCreation().UpdateLeadCreationData("ir.attachment", "create", vals); await DisplayAlert("Alert", "Record updated successfully", "Ok"); await PopupNavigation.PopAsync(); } else { await PopupNavigation.PopAsync(); // await DisplayAlert("Alert", "Try Again", "Ok"); // await PopupNavigation.PopAsync(); } } else { await Navigation.PushPopupAsync(new PhoneWizard()); } } catch { CRMOpportunitiesDB myobj = args.Parameter as CRMOpportunitiesDB; var phoneDialer = CrossMessaging.Current.PhoneDialer; if (phoneDialer.CanMakePhoneCall && myobj.phone != "") { phoneDialer.MakePhoneCall(myobj.phone); } else { await Navigation.PushPopupAsync(new PhoneWizard()); } } }