private async void Button_Add_ClickedAsync(object sender, EventArgs e) { var currentpage = new LoadingAlert(); await PopupNavigation.PushAsync(currentpage); int selectpaytermid = 0; int selectcomgroupid = 0; Dictionary <string, dynamic> vals = new Dictionary <string, dynamic>(); //try //{ // List<CRMLead> crmLeadData = Controller.InstanceCreation().crmLeadData(); //} //catch (Exception ea) //{ // 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; // } //} if (searchcus.Text == "") { await DisplayAlert("Alert", "Please select customer", "Ok"); await PopupNavigation.PopAsync(); } else if (orderLineList1.Count == 0) { await DisplayAlert("Alert", "Please select atleast one", "Ok"); // await Navigation.PopAsync(); await PopupNavigation.PopAsync(); // Loadingalertcall(); } else { // vals["customer"] = cuspicker1.SelectedItem; vals["order_date"] = orDatePicker.Date; vals["expiration_date"] = exDatePicker.Date; if (ptpicker.SelectedItem == null) { vals["payment_terms"] = false; } else { var paytermid = ( from i in App.paytermList where i.name == ptpicker.SelectedItem.ToString() select new { i.id, } ).ToList(); foreach (var person in paytermid) { selectpaytermid = person.id; } vals["payment_terms"] = selectpaytermid; } // if (comgroup_picker.SelectedItem == null) // { // vals["commission_group"] = false; // } // else // { // var comgroupid = // ( // from i in App.commisiongroupList // where i.name == comgroup_picker.SelectedItem.ToString() // select new // { // i.id, // } //).ToList(); // foreach (var comgroup in comgroupid) // { // selectcomgroupid = comgroup.id; // } // vals["commission_group"] = selectcomgroupid; //} vals["user_id"] = App.userid; // var cusid = App.cusdict.FirstOrDefault(x => x.Value == cuspicker1.SelectedItem.ToString()).Key; vals["customer"] = cus_id; vals["order_lines"] = orderLineList1; vals["state"] = "draft"; vals["is_direct_so"] = false; vals["name"] = saleorder_name.Text; vals["is_new_customer"] = new_customer; // vals["discount"] = dis1.Text; // vals["multi_discount"] = overper_string; //var brand_id = App.brandList.FirstOrDefault(x => x.name == brand_picker.SelectedItem.ToString()).id; //vals["product_brand_id"] = brand_id; //var category_id = App.categoriesList.FirstOrDefault(x => x.display_name == category_picker.SelectedItem.ToString()).id; //vals["categ_id"] = category_id; //vals["default_code"] = pro_id.Text; // if (App.NetAvailable == true) if (CrossConnectivity.Current.IsConnected == true) { try { string updated = Controller.InstanceCreation().UpdateCRMOpporData("sale.crm", "create_sale_quotation", vals); if (updated == "True") { // App.Current.MainPage = new MasterPage(new CrmTabbedPage()); // Navigation.PushPopupAsync(new MasterPage( ); // await DisplayAlert("Alert", "Successfully created", "Ok"); // await Navigation.PopAllPopupAsync(); App.Current.MainPage = new MasterPage(new CrmTabbedPage("tab3")); Loadingalertcall(); } else { int index = updated.IndexOf("\n"); if (index > 0) { updated = updated.Substring(0, index); } await DisplayAlert("Alert", updated, "Ok"); await PopupNavigation.PopAsync(); // Loadingalertcall(); }// } catch (Exception exc) { await DisplayAlert("Alert", "Please try again", "Ok"); Loadingalertcall(); } } else if (App.NetAvailable == false) { string ptpickerstring = ptpicker.SelectedItem.ToString(); //string cgpickerstring = ""; //try //{ // cgpickerstring = comgroup_picker.SelectedItem.ToString(); //} //catch //{ // cgpickerstring = ""; //} // ptpickerstring = ptpicker.SelectedItem.ToString(); if (ptpicker.SelectedItem == null) { // vals["payment_terms"] = false; ptpickerstring = ""; } else { var paytermid = ( from i in payment_termsdb where i.name == ptpicker.SelectedItem.ToString() select new { i.id, } ).ToList(); foreach (var person in paytermid) { selectpaytermid = person.id; } } vals["payment_terms"] = selectpaytermid; // if (comgroup_picker.SelectedItem == null) // { // //vals["commission_group"] = false; // cgpickerstring = ""; // } // else // { // var comgroupid = // ( // from i in commission_groupdb // where i.name == comgroup_picker.SelectedItem.ToString() // select new // { // i.id, // } //).ToList(); // foreach (var comgroup in comgroupid) // { // selectcomgroupid = comgroup.id; // } // vals["commission_group"] = selectcomgroupid; //} //var cusiddb = App.cusdictDb.FirstOrDefault(x => x.Value == cuspicker1.SelectedItem.ToString()).Key; //vals["customer"] = cusiddb; List <OrderLine> or_linelistdb = new List <OrderLine>(); foreach (var obj in orderLineList1) { OrderLine or_line = new OrderLine(); List <int> tax_id = new List <int>(); or_line.product_name = obj.product.ToString(); or_line.product_uom_qty = obj.ordered_qty.ToString(); or_line.price_subtotal = obj.ordered_qty.ToString(); or_line.discount = obj.discount; or_line.multi_discount = obj.multi_discount; or_line.taxesid = obj.tax_id; // or_line.taxes = tax_id; or_linelistdb.Add(or_line); } var orderLineListnew = JsonConvert.SerializeObject(or_linelistdb); string order_date = orDatePicker.Date.ToString(); // DateTime oDate = DateTime.ParseExact(order_date, "yyyy-MM-dd HH:mm tt", null); String order_date_string = String.Format("{0:yyyy-MM-dd HH:mm:ss}", orDatePicker.Date); String expiration_date_string = String.Format("{0:yyyy-MM-dd HH:mm:ss}", exDatePicker.Date); var sample = new SalesQuotationDB { // id = item.id, order_date = order_date_string, expiration_date = expiration_date_string, payment_term = ptpickerstring, // commission_group = cgpickerstring, payment_term_id = selectpaytermid, commission_group_id = selectcomgroupid, user_id = App.userid_db, //customer_id = cusiddb, order_line = orderLineListnew, // customer = cuspicker1.SelectedItem.ToString(), date_Order = orDatePicker.Date.ToString(), name = "LocalSO", FullState = " Draft ", state = " Draft ", // state_colour = "#3498db", state_colour = "#EC04DA", yellowimg_string = "yellowcircle.png", // ColorCode = "#3498db" //order_line = item.order_line[0].ToString() }; App._connection.Insert(sample); App._connection.CreateTable <SalesQuotationDB>(); try { var details = (from y in App._connection.Table <SalesQuotationDB>() select y).ToList(); App.SalesQuotationListDb = details; } catch (Exception ex) { int i = 0; } App.Current.MainPage = new MasterPage(new CrmTabbedPage("tab3")); // await DisplayAlert("Alert", "Created Successfull", "Ok"); // await Navigation.PopAllPopupAsync(); Loadingalertcall(); } } }
private async void Button_Add_ClickedAsync(object sender, EventArgs e) { var currentpage = new LoadingAlert(); await PopupNavigation.PushAsync(currentpage); int selectpaytermid = 0; int selectcomgroupid = 0; Dictionary <string, dynamic> vals = new Dictionary <string, dynamic>(); try { List <CRMLead> crmLeadData = Controller.InstanceCreation().crmLeadData(); } catch (Exception ea) { 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; } } if (orderLineList1.Count == 0) { await DisplayAlert("Alert", "Please select atleast one", "Ok"); // await Navigation.PopAsync(); await PopupNavigation.PopAsync(); // Loadingalertcall(); } else { // vals["customer"] = cuspicker1.SelectedItem; vals["order_date"] = orDatePicker.Date; vals["expiration_date"] = exDatePicker.Date; if (ptpicker.SelectedItem == null) { vals["payment_terms"] = false; } else { var paytermid = ( from i in App.paytermList where i.name == ptpicker.SelectedItem.ToString() select new { i.id, } ).ToList(); foreach (var person in paytermid) { selectpaytermid = person.id; } vals["payment_terms"] = selectpaytermid; } if (comgroup_picker.SelectedItem == null) { vals["commission_group"] = false; } else { var comgroupid = ( from i in App.commisiongroupList where i.name == comgroup_picker.SelectedItem.ToString() select new { i.id, } ).ToList(); foreach (var comgroup in comgroupid) { selectcomgroupid = comgroup.id; } vals["commission_group"] = selectcomgroupid; } vals["user_id"] = App.userid; var cusid = App.cusdict.FirstOrDefault(x => x.Value == cuspicker1.SelectedItem.ToString()).Key; vals["customer"] = cusid; vals["order_lines"] = orderLineList1; vals["state"] = "draft"; if (App.NetAvailable == true) { string updated = Controller.InstanceCreation().UpdateCRMOpporData("sale.crm", "create_sale_quotation", vals); if (updated == "true") { // App.Current.MainPage = new MasterPage(new CrmTabbedPage()); // Navigation.PushPopupAsync(new MasterPage( ); // await DisplayAlert("Alert", "Successfully created", "Ok"); // await Navigation.PopAllPopupAsync(); App.Current.MainPage = new MasterPage(new CrmTabbedPage("tab3")); Loadingalertcall(); } else { await DisplayAlert("Alert", "Please try again", "Ok"); Loadingalertcall(); } } else if (App.NetAvailable == false) { string ptpickerstring = ptpicker.SelectedItem.ToString(); string cgpickerstring = comgroup_picker.SelectedItem.ToString(); // ptpickerstring = ptpicker.SelectedItem.ToString(); if (ptpicker.SelectedItem == null) { // vals["payment_terms"] = false; ptpickerstring = ""; } else { var paytermid = ( from i in payment_termsdb where i.name == ptpicker.SelectedItem.ToString() select new { i.id, } ).ToList(); foreach (var person in paytermid) { selectpaytermid = person.id; } } vals["payment_terms"] = selectpaytermid; if (comgroup_picker.SelectedItem == null) { //vals["commission_group"] = false; cgpickerstring = ""; } else { var comgroupid = ( from i in commission_groupdb where i.name == comgroup_picker.SelectedItem.ToString() select new { i.id, } ).ToList(); foreach (var comgroup in comgroupid) { selectcomgroupid = comgroup.id; } vals["commission_group"] = selectcomgroupid; } var cusiddb = App.cusdictDb.FirstOrDefault(x => x.Value == cuspicker1.SelectedItem.ToString()).Key; vals["customer"] = cusiddb; // var jso_tags_list = Newtonsoft.Json.JsonConvert.SerializeObject(meetingLineList); //List<OrderLinesListDB> orderLineListdb = new List<OrderLinesListDB>(); //List<OrderLinesListDB> orderLineListdb = new List<OrderLinesListDB>(); //foreach(var obj in orderLineList1) //{ // orderLineListdb.Add(new OrderLinesListDB(obj.product.ToString(), obj.ordered_qty.ToString(), obj.unit_price.ToString())); //} // var orderLineListnew = JsonConvert.SerializeObject(orderLineListdb.ToString()); // var orderLineListnew = JsonConvert.SerializeObject(orderLineListdb); List <OrderLine> or_linelistdb = new List <OrderLine>(); foreach (var obj in orderLineList1) { OrderLine or_line = new OrderLine(); List <int> tax_id = new List <int>(); or_line.product_name = obj.product.ToString(); or_line.product_uom_qty = obj.ordered_qty.ToString(); or_line.price_subtotal = obj.ordered_qty.ToString(); // or_line.taxes = tax_id; or_linelistdb.Add(or_line); } var orderLineListnew = JsonConvert.SerializeObject(or_linelistdb); string order_date = orDatePicker.Date.ToString(); // DateTime oDate = DateTime.ParseExact(order_date, "yyyy-MM-dd HH:mm tt", null); String order_date_string = String.Format("{0:yyyy-MM-dd HH:mm:ss}", orDatePicker.Date); String expiration_date_string = String.Format("{0:yyyy-MM-dd HH:mm:ss}", exDatePicker.Date); var sample = new SalesQuotationDB { // id = item.id, order_date = order_date_string, expiration_date = expiration_date_string, payment_term = ptpickerstring, commission_group = cgpickerstring, payment_term_id = selectpaytermid, commission_group_id = selectcomgroupid, user_id = App.userid_db, customer_id = cusiddb, order_line = orderLineListnew, customer = cuspicker1.SelectedItem.ToString(), date_Order = orDatePicker.Date.ToString(), name = "LocalSO", FullState = "draft", state = "draft", state_colour = "#3498db", yellowimg_string = "yellowcircle.png", // ColorCode = "#3498db" //order_line = item.order_line[0].ToString() }; App._connection.Insert(sample); App._connection.CreateTable <SalesQuotationDB>(); try { var details = (from y in App._connection.Table <SalesQuotationDB>() select y).ToList(); App.SalesQuotationListDb = details; } catch (Exception ex) { int i = 0; } App.Current.MainPage = new MasterPage(new CrmTabbedPage("tab3")); // await DisplayAlert("Alert", "Created Successfull", "Ok"); // await Navigation.PopAllPopupAsync(); Loadingalertcall(); } } }
public SalesQuotationsListviewDetail(SalesQuotationDB item) { InitializeComponent(); NavigationPage.SetHasNavigationBar(this, false); // App.orderLineList = item.order_line; dbobj = item; Cus.Text = item.customer; // CD.Text = item.DateOrder; CD.Text = item.date_Order; PT.Text = item.payment_term.ToString(); SP.Text = item.sales_person; ST.Text = item.sales_team; CR.Text = item.customer_reference; FP.Text = item.fiscal_position; saleoder_id = item.id; List <OrderLine> or_linelistdb = new List <OrderLine>(); var json_orderline = JsonConvert.SerializeObject(item.order_line); String convertstring = json_orderline.ToString(); // "\"[{\\\"customer_lead\\\":\\\"0\\\",\\\"price_unit\\\":\\\"10000\\\",\\\"product_uom_qty\\\":\\\"10\\\",\\\"price_subtotal\\\":\\\"100000\\\",\\\"taxes\\\":[],\\\"product_name\\\":\\\"Floordeck 1000x060 MM\\\"},{\\\"customer_lead\\\":\\\"0\\\",\\\"price_unit\\\":\\\"1\\\",\\\"product_uom_qty\\\":\\\"1\\\",\\\"price_subtotal\\\":\\\"1\\\",\\\"taxes\\\":[\\\"Sales Tax N/A SRCA-S\\\"],\\\"product_name\\\":\\\"Floordeck 1000x060 MM\\\"}]\"" String finstring = convertstring.Replace("\\", ""); finstring = finstring.Substring(1); finstring = finstring.Remove(finstring.Length - 1); JArray stringres = JsonConvert.DeserializeObject <JArray>(finstring); // or_linelistdb = JsonConvert.DeserializeObject<List<OrderLine>>(finstring); // OrderLine stringres = JsonConvert.DeserializeObject<OrderLine>(json_orderline) int cus_lead = 0; string prod_name = ""; foreach (JObject obj in stringres) { OrderLine or_line = new OrderLine(); object[] tax_id = new object[2]; or_line.product_name = obj["product_name"].ToString(); or_line.product_uom_qty = obj["product_uom_qty"].ToString(); or_line.price_subtotal = obj["price_subtotal"].ToString(); // or_line.taxes = tax_id; or_linelistdb.Add(or_line); } orderListview.ItemsSource = or_linelistdb; var sq_editRecognizer = new TapGestureRecognizer(); sq_editRecognizer.Tapped += async(s, e) => { await DisplayAlert("Alert", "Need Internet Connection", "Ok"); }; sq_editbtn.GestureRecognizers.Add(sq_editRecognizer); //orderListview.ItemsSource = item.order_line; }
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 Button_Create_ClickedAsync(object sender, EventArgs e) { var currentpage = new LoadingAlert(); await PopupNavigation.PushAsync(currentpage); int selectpaytermid = 0; int selectcomgroupid = 0; Dictionary <string, dynamic> vals = new Dictionary <string, dynamic>(); String order_date_string = String.Format("{0:yyyy-MM-dd HH:mm:ss}", orDatePicker.Date); String exp_date_string = String.Format("{0:yyyy-MM-dd HH:mm:ss}", exDatePicker.Date); String po_date_string = String.Format("{0:yyyy-MM-dd HH:mm:ss}", PoDatePicker.Date); String deldead_string = String.Format("{0:yyyy-MM-dd HH:mm:ss}", deldead_picker.Date); if (tax_termPicker.SelectedIndex == 0) { vals["tax_term"] = "free"; } else if (tax_termPicker.SelectedIndex == 1) { vals["tax_term"] = "company"; } else { vals["tax_term"] = "customer"; } //try //{ // List<CRMLead> crmLeadData = Controller.InstanceCreation().crmLeadData(); //} //catch (Exception ea) //{ // 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; // } //} if (orderLineList1.Count == 0) { await DisplayAlert("Alert", "Please fill orderlines atleast one", "Ok"); // await Navigation.PopAsync(); await PopupNavigation.PopAsync(); // Loadingalertcall(); } else if (searchcus.Text == "") { cus_alert.IsVisible = true; invaddr_alert.IsVisible = false; delvaddr_alert.IsVisible = false; deldead_alert.IsVisible = false; pricelist_alert.IsVisible = false; paymentterms_alert.IsVisible = false; delmethod_alert.IsVisible = false; await PopupNavigation.PopAsync(); } else if (invaddr_picker.SelectedIndex == -1) { cus_alert.IsVisible = false; delvaddr_alert.IsVisible = false; deldead_alert.IsVisible = false; pricelist_alert.IsVisible = false; paymentterms_alert.IsVisible = false; delmethod_alert.IsVisible = false; invaddr_alert.IsVisible = true; await PopupNavigation.PopAsync(); } else if (deladdr_picker.SelectedIndex == -1) { cus_alert.IsVisible = false; invaddr_alert.IsVisible = false; deldead_alert.IsVisible = false; pricelist_alert.IsVisible = false; paymentterms_alert.IsVisible = false; delmethod_alert.IsVisible = false; delvaddr_alert.IsVisible = true; await PopupNavigation.PopAsync(); } else if (deldateentry.Text == "") { cus_alert.IsVisible = false; invaddr_alert.IsVisible = false; delvaddr_alert.IsVisible = false; pricelist_alert.IsVisible = false; paymentterms_alert.IsVisible = false; delmethod_alert.IsVisible = false; deldead_alert.IsVisible = true; await PopupNavigation.PopAsync(); } else if (pricelist_picker.SelectedIndex == -1) { cus_alert.IsVisible = false; invaddr_alert.IsVisible = false; delvaddr_alert.IsVisible = false; deldead_alert.IsVisible = false; paymentterms_alert.IsVisible = false; delmethod_alert.IsVisible = false; pricelist_alert.IsVisible = true; await PopupNavigation.PopAsync(); } else if (ptpicker.SelectedIndex == -1) { cus_alert.IsVisible = false; invaddr_alert.IsVisible = false; delvaddr_alert.IsVisible = false; deldead_alert.IsVisible = false; pricelist_alert.IsVisible = false; delmethod_alert.IsVisible = false; paymentterms_alert.IsVisible = true; await PopupNavigation.PopAsync(); } else if (delmethod_picker.SelectedIndex == -1) { cus_alert.IsVisible = false; invaddr_alert.IsVisible = false; delvaddr_alert.IsVisible = false; deldead_alert.IsVisible = false; pricelist_alert.IsVisible = false; paymentterms_alert.IsVisible = false; delmethod_alert.IsVisible = true; await PopupNavigation.PopAsync(); } else { // vals["customer"] = cuspicker1.SelectedItem; // vals["quotation_reference"] = quotref.Text; vals["order_date"] = order_date_string; vals["expiration_date"] = exp_date_string; if (ptpicker.SelectedItem == null) { vals["payment_terms"] = false; } else { var paytermid = ( from i in App.paytermList where i.name == ptpicker.SelectedItem.ToString() select new { i.id, } ).ToList(); foreach (var person in paytermid) { selectpaytermid = person.id; } vals["payment_terms"] = selectpaytermid; } if (comgroup_picker.SelectedItem == null) { vals["commission_group"] = false; } else { var comgroupid = ( from i in App.commisiongroupList where i.name == comgroup_picker.SelectedItem.ToString() select new { i.id, } ).ToList(); foreach (var comgroup in comgroupid) { selectcomgroupid = comgroup.id; } vals["commission_group"] = selectcomgroupid; } vals["user_id"] = App.userid; vals["delivery_deadline"] = deldead_string; try { string ids = App.product_PriceList.First(c => c.name == pricelist_picker.SelectedItem.ToString()).id; vals["pricelist_id"] = Int32.Parse(ids); } catch { vals["pricelist_id"] = null; } // vals["payment_term_id"] = ""; vals["po_number_reference"] = ponumref.Text; vals["po_date"] = po_date_string; //if(podateentry.Text == "") //{ // vals["po_date"] = podateentry.Text; //} //else //{ // vals["po_date"] = po_date_string; //} vals["po_file"] = file_uploadstring; vals["file_name"] = file_uploadname; vals["franco"] = franco.Text; vals["special_notes"] = comments.Text; var cusid = App.cusList.FirstOrDefault(x => x.name == searchcus.Text.ToString()).id; vals["customer"] = cusid; try { string ids = App.product_PriceList.First(c => c.name == pricelist_picker.SelectedItem.ToString()).id; vals["pricelist_id"] = Int32.Parse(ids); } catch { vals["pricelist_id"] = null; } try { var inv_id = cus_selectdict.FirstOrDefault(x => x.Value == invaddr_picker.SelectedItem.ToString()).Key; vals["partner_invoice_id"] = inv_id; if (inv_id == 0) { vals["partner_invoice_id"] = cusid; } } catch { vals["partner_invoice_id"] = false; } try { var delvaddr_id = cus_selectdict.FirstOrDefault(x => x.Value == deladdr_picker.SelectedItem.ToString()).Key; vals["partner_shipping_id"] = delvaddr_id; if (delvaddr_id == 0) { vals["partner_shipping_id"] = cusid; } } catch { vals["partner_shipping_id"] = 0; } try { var conperson_id = cus_selectdict.FirstOrDefault(x => x.Value == contperson_picker.SelectedItem.ToString()).Key; vals["contact_person_id"] = conperson_id; if (conperson_id == 0) { vals["contact_person_id"] = false; } } catch { vals["contact_person_id"] = false; } var delmethod_id = App.all_delivery_method.FirstOrDefault(x => x.name == delmethod_picker.SelectedItem.ToString()).id; vals["carrier_id"] = Int32.Parse(delmethod_id); vals["order_lines"] = orderLineList1; vals["state"] = "x_draft"; // vals["state"] = "quotation"; vals["is_direct_so"] = false; if (shipping_picker.SelectedIndex == 0) { vals["picking_policy"] = "direct"; } else if (shipping_picker.SelectedIndex == 1) { vals["picking_policy"] = "one"; } else { vals["picking_policy"] = false; } vals["client_order_ref"] = cus_reference.Text; // vals["discount"] = dis1.Text; // vals["multi_discount"] = overper_string; try { var warehouse_id = App.warehousList.FirstOrDefault(x => x.name == warehouse_picker.SelectedItem.ToString()).id; vals["warehouse_id"] = warehouse_id; if (warehouse_id == 0) { vals["warehouse_id"] = false; } } catch { vals["warehouse_id"] = false; } try { var team_id = App.salesteam.FirstOrDefault(x => x.Value == salesteam_picker.SelectedItem.ToString()).Key; vals["team_id"] = team_id; if (team_id == 0) { vals["team_id"] = false; } } catch { vals["team_id"] = false; } try { var analaytic_id = App.analayticList.FirstOrDefault(x => x.name == analytic_picker.SelectedItem.ToString()).id; vals["project_id"] = analaytic_id; if (analaytic_id == 0) { vals["project_id"] = false; } } catch { vals["project_id"] = false; } try { var branch_id = App.branchList.FirstOrDefault(x => x.name == branch_picker.SelectedItem.ToString()).id; vals["branch_id"] = branch_id; if (branch_id == 0) { vals["branch_id"] = false; } } catch { vals["branch_id"] = false; } // vals["discount"] = dis1.Text; // vals["multi_discount"] = overper_string; if (App.NetAvailable == true) { string updated = Controller.InstanceCreation().UpdateCRMOpporData("sale.order", "create_sale_quotation", vals); if (updated == "true") { // App.Current.MainPage = new MasterPage(new CrmTabbedPage()); // Navigation.PushPopupAsync(new MasterPage( ); // await DisplayAlert("Alert", "Successfully created", "Ok"); // await Navigation.PopAllPopupAsync(); App.draftquot_rpc = true; App.Current.MainPage = new MasterPage(new CrmTabbedPage("tab3")); Loadingalertcall(); } else { await DisplayAlert("Alert", "Please try again", "Ok"); Loadingalertcall(); } } else if (App.NetAvailable == false) { string ptpickerstring = ptpicker.SelectedItem.ToString(); string cgpickerstring = comgroup_picker.SelectedItem.ToString(); // ptpickerstring = ptpicker.SelectedItem.ToString(); if (ptpicker.SelectedItem == null) { // vals["payment_terms"] = false; ptpickerstring = ""; } else { var paytermid = ( from i in payment_termsdb where i.name == ptpicker.SelectedItem.ToString() select new { i.id, } ).ToList(); foreach (var person in paytermid) { selectpaytermid = person.id; } } vals["payment_terms"] = selectpaytermid; if (comgroup_picker.SelectedItem == null) { //vals["commission_group"] = false; cgpickerstring = ""; } else { var comgroupid = ( from i in commission_groupdb where i.name == comgroup_picker.SelectedItem.ToString() select new { i.id, } ).ToList(); foreach (var comgroup in comgroupid) { selectcomgroupid = comgroup.id; } vals["commission_group"] = selectcomgroupid; } //var cusiddb = App.cusdictDb.FirstOrDefault(x => x.Value == cuspicker1.SelectedItem.ToString()).Key; //vals["customer"] = cusiddb; List <OrderLine> or_linelistdb = new List <OrderLine>(); foreach (var obj in orderLineList1) { OrderLine or_line = new OrderLine(); List <int> tax_id = new List <int>(); or_line.product_name = obj.product.ToString(); or_line.product_uom_qty = obj.ordered_qty.ToString(); or_line.price_subtotal = obj.ordered_qty.ToString(); or_line.discount = obj.discount; or_line.multi_discount = obj.multi_discount; or_line.taxesid = obj.tax_id; // or_line.taxes = tax_id; or_linelistdb.Add(or_line); } var orderLineListnew = JsonConvert.SerializeObject(or_linelistdb); string order_date = orDatePicker.Date.ToString(); // DateTime oDate = DateTime.ParseExact(order_date, "yyyy-MM-dd HH:mm tt", null); // String order_date_string = String.Format("{0:yyyy-MM-dd HH:mm:ss}", orDatePicker.Date); String expiration_date_string = String.Format("{0:yyyy-MM-dd HH:mm:ss}", exDatePicker.Date); var sample = new SalesQuotationDB { // id = item.id, order_date = order_date_string, expiration_date = expiration_date_string, payment_term = ptpickerstring, commission_group = cgpickerstring, payment_term_id = selectpaytermid, commission_group_id = selectcomgroupid, user_id = App.userid_db, //customer_id = cusiddb, order_line = orderLineListnew, // customer = cuspicker1.SelectedItem.ToString(), date_Order = orDatePicker.Date.ToString(), name = "LocalSO", FullState = "draft", state = "draft", state_colour = "#3498db", yellowimg_string = "yellowcircle.png", // ColorCode = "#3498db" //order_line = item.order_line[0].ToString() }; App._connection.Insert(sample); App._connection.CreateTable <SalesQuotationDB>(); try { var details = (from y in App._connection.Table <SalesQuotationDB>() select y).ToList(); App.SalesQuotationListDb = details; } catch (Exception ex) { int i = 0; } App.Current.MainPage = new MasterPage(new CrmTabbedPage("tab3")); // await DisplayAlert("Alert", "Created Successfull", "Ok"); // await Navigation.PopAllPopupAsync(); Loadingalertcall(); } } }