Exemple #1
0
        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());
                }
            }
        }
Exemple #2
0
        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));
                }
            }
        }
Exemple #3
0
        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
            {
            }
        }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        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();
            }
        }
Exemple #6
0
        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());
                }
            }
        }