private void Leavelist_ItemTapped(object sender, ItemTappedEventArgs e) { if (CrossConnectivity.Current.IsConnected) { try { LeavesModel data = (LeavesModel)e.Item; Navigation.PushAsync(new LeavesDetailPage(data)); } catch { LeavesModelDB data = (LeavesModelDB)e.Item; Navigation.PushAsync(new LeavesDetailPage(data)); } } else { try { LeavesModelDB data = (LeavesModelDB)e.Item; Navigation.PushAsync(new LeavesDetailPage(data)); } catch { LeavesModel data = (LeavesModel)e.Item; Navigation.PushAsync(new LeavesDetailPage(data)); } } }
public List <LeavesModel> GetMasterData() { try { JObject res = odooConnector.odooFilterDataCall("res.users", "get_master_data"); App.user_name = res["user_name"].ToString(); App.user_image = res["user_image_medium"].ToString(); App.user_mobile = res["user_mobile"].ToString(); App.user_email = res["user_email"].ToString(); App.partner_id = res["partner_id"].ToObject <int>(); App.employee_id = res["employee_id"].ToObject <int>(); App.productList = res["Products"].ToObject <List <ProductsList> >(); App.expense_productList = res["expense_products"].ToObject <List <ExpenseProductsList> >(); App.product_Uom = res["product_uom"].ToObject <List <ProductUOM> >(); App.taxList = res["taxes"].ToObject <List <taxes> >(); App.hr_yearList = res["hr_years"].ToObject <List <HRYear> >(); App.currencyList = res["available_currency"].ToObject <List <Currency> >(); App.leaveTypeList = res["holiday_status"].ToObject <List <LeaveType> >(); App.employee_list = res["employees"].ToObject <List <EmployeesModel> >(); App.access_dict = res["access_right"].ToObject <Dictionary <string, dynamic> >(); App._connection = DependencyService.Get <ISQLiteDb>().GetConnection(); App._connection.CreateTable <UserModelDB>(); if (App.UserListDb.Count == 0) { var jso_tags_list = Newtonsoft.Json.JsonConvert.SerializeObject(res["taxes"]); var jso_products_list = Newtonsoft.Json.JsonConvert.SerializeObject(res["Products"]); var jso_expenseproducts_list = Newtonsoft.Json.JsonConvert.SerializeObject(res["expense_products"]); var jso_product_Uomlist = Newtonsoft.Json.JsonConvert.SerializeObject(res["product_uom"]); var jso_hr_year_list = Newtonsoft.Json.JsonConvert.SerializeObject(res["hr_years"]); var jso_currency_list = Newtonsoft.Json.JsonConvert.SerializeObject(res["available_currency"]); var jso_leavetype_list = Newtonsoft.Json.JsonConvert.SerializeObject(res["holiday_status"]); var jso_employee_list = Newtonsoft.Json.JsonConvert.SerializeObject(res["employees"]); var sample = new UserModelDB { userid = App.userid, partnerid = App.partner_id, employeeid = App.employee_id, user_name = App.user_name, user_email = App.user_email, user_mobile = App.user_mobile, user_image_medium = App.user_image, products = jso_products_list, expense_products = jso_expenseproducts_list, tax_list = jso_tags_list, product_Uom = jso_product_Uomlist, hr_year_list = jso_hr_year_list, currency_list = jso_currency_list, leavetype_list = jso_leavetype_list, employee_list = jso_employee_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>(); List <ExpenseProductsList> expense_productslistdb = new List <ExpenseProductsList>(); List <taxes> taxListDb = new List <taxes>(); List <ProductUOM> product_UomDb = new List <ProductUOM>(); List <Currency> currencyListDb = new List <Currency>(); List <HRYear> hr_yearListDb = new List <HRYear>(); List <LeaveType> leaveTypeListDb = new List <LeaveType>(); List <EmployeesModel> employeeListDb = new List <EmployeesModel>(); foreach (var item in App.UserListDb) { productslistdb = JsonConvert.DeserializeObject <List <ProductsList> >(item.products); expense_productslistdb = JsonConvert.DeserializeObject <List <ExpenseProductsList> >(item.expense_products); taxListDb = JsonConvert.DeserializeObject <List <taxes> >(item.tax_list); product_UomDb = JsonConvert.DeserializeObject <List <ProductUOM> >(item.product_Uom); currencyListDb = JsonConvert.DeserializeObject <List <Currency> >(item.currency_list); hr_yearListDb = JsonConvert.DeserializeObject <List <HRYear> >(item.hr_year_list); leaveTypeListDb = JsonConvert.DeserializeObject <List <LeaveType> >(item.leavetype_list); employeeListDb = JsonConvert.DeserializeObject <List <EmployeesModel> >(item.employee_list); App.userid_db = item.userid; App.ProductListDb = productslistdb; App.expense_productListDb = expense_productslistdb; App.taxListDb = taxListDb; App.product_UomDb = product_UomDb; App.hr_yearListDb = hr_yearListDb; App.currencyListDb = currencyListDb; App.leaveTypeListDb = leaveTypeListDb; App.employee_idDb = item.employeeid; App.employee_listDb = employeeListDb; } } catch (Exception ex) { int i = 0; } } /////// For Leaves App.leaves_list = res["holidays"].ToObject <List <LeavesModel> >(); App._connection = DependencyService.Get <ISQLiteDb>().GetConnection(); App._connection.CreateTable <LeavesModelDB>(); // List<AttachmentFile> attlistDb = new List<AttachmentFile>(); var leaves_details = App._connection.Query <LeavesModelDB>("SELECT * from LeavesModelDB where sync_string = ?", "sync.png"); if (leaves_details.Count() == 0) { App._connection.Query <LeavesModelDB>("DELETE from LeavesModelDB"); foreach (var item in App.leaves_list) { var dbattachment_list = Newtonsoft.Json.JsonConvert.SerializeObject(item.attachment); var sample = new LeavesModelDB { id = item.id, name = item.name, display_name = item.display_name, state = item.state, state_name = item.state_name, date_from = item.date_from, date_to = item.date_to, no_of_days = item.no_of_days, stage_colour = item.stage_colour, is_half_day = item.is_half_day, am_or_pm = item.am_or_pm, leave_structure = item.leave_structure, year = item.year, employee = item.employee, report_note = item.report_note, holidays_status = item.holidays_status, datefrom = item.datefrom, dateto = item.dateto, fromDate = item.fromDate, endDate = item.endDate, check_tt = item.check_tt, department = item.department, attachment_list = dbattachment_list, date = item.date, }; App._connection.Insert(sample); } try { var details = (from y in App._connection.Table <LeavesModelDB>() select y).ToList(); App.leaves_listDb = details; } catch { int i = 0; } } var rpc_condition = App._connection.Query <LeavesModelDB>("SELECT * from LeavesModelDB where check_rpc_condition = ?", "false"); if (rpc_condition.Count != 0) { // List<AttachmentFile> productslistdb = new List<AttachmentFile>(); foreach (var item in rpc_condition) { var sample = new LeavesModel { name = item.name, holidays_status = item.holidays_status, year = item.year, date_from = item.date_from, date_to = item.date_to, state = item.state, state_name = item.state_name, stage_colour = item.stage_colour, no_of_days = item.no_of_days, is_half_day = item.is_half_day, sync_string = item.sync_string, am_or_pm = item.check_tt, employee = item.employee, error_rpcTxt = item.txt_rpc_error, dbid_error_txt = item.Dbid, check_rpc_condition = item.check_rpc_condition, // attachlistfield = item.error_attachment_list, attachment = JsonConvert.DeserializeObject <List <AttachmentFile> >(item.attachment_list), // attachment = item.error_attachment_list, }; App.leaves_list.Add(sample); } } var data = App.leaves_list; /////// For Expense App.expense_list = res["expense"].ToObject <List <ExpenseModel> >(); App._connection = DependencyService.Get <ISQLiteDb>().GetConnection(); App._connection.CreateTable <ExpenseModelDB>(); var expense_details = App._connection.Query <ExpenseModelDB>("SELECT * from ExpenseModelDB where sync_string = ? OR sync_string = ?", "sync.png", "editexp.png"); if (expense_details.Count() == 0) { App._connection.Query <ExpenseModelDB>("DELETE from ExpenseModelDB"); foreach (var item in App.expense_list) { var expattach_list = Newtonsoft.Json.JsonConvert.SerializeObject(item.attachment); var sample = new ExpenseModelDB { id = item.id, name = item.name, product = item.product, product_uom = item.product_uom, state = item.state, unit_price = item.unit_price, quantity = item.quantity, reference = item.reference, notes = item.notes, account = item.account, employee_id = item.employee_id, currency = item.currency, date = item.date, stage_name = item.stage_name, stage_colour = item.stage_colour, half_date = item.half_date, full_date = item.full_date, attachment = expattach_list, }; App._connection.Insert(sample); } try { var details = (from y in App._connection.Table <ExpenseModelDB>() select y).ToList(); App.expense_listDb = details; } catch { int i = 0; } } return(App.leaves_list); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("::::: HRM Warning Message :::: " + ex.Message); if (ex.Message.Contains("(Network is unreachable)") || ex.Message.Contains("NameResolutionFailure")) { App.NetAvailable = false; } else if (ex.Message.Contains("(503) Service Unavailable")) { App.responseState = false; } return(App.leaves_list); } }
private async void update_clickedAsync(object sender, EventArgs e) { //var currentpage = new LoadingIndicator(); //await PopupNavigation.Instance.PushAsync(currentpage); act_ind.IsRunning = true; Dictionary <string, dynamic> vals = new Dictionary <string, dynamic>(); string convertstartdate = start_date.Date.ToString("yyyy-MM-dd"); var dt = start_time.Time.ToString(); convertstartdate = convertstartdate + " " + dt.ToString(); string convertstart_datetime = convertstartdate; DateTime startDate = DateTime.ParseExact(convertstart_datetime, "yyyy-MM-dd HH:mm:ss", null); convertstart_datetime = startDate.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss"); string convertstopdate = stop_date.Date.ToString("yyyy-MM-dd"); var dt1 = stop_time.Time.ToString(); convertstopdate = convertstopdate + " " + dt1.ToString(); string convertstop_datetime = convertstopdate; DateTime stopDate = DateTime.ParseExact(convertstop_datetime, "yyyy-MM-dd HH:mm:ss", null); convertstop_datetime = stopDate.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss"); var employee_id = App.employee_id; TimeSpan diff = stopDate - startDate; string dur = diff.Days.ToString(); string am_or_pm = ""; if (check_half_day == true) { am_or_pm = half_dayPicker.SelectedItem.ToString(); } else { am_or_pm = ""; } List <dynamic> attfile = new List <dynamic>(); foreach (var data in attach) { if (data.id == 0) { Dictionary <string, dynamic> dict = new Dictionary <string, dynamic>(); dict.Add("file_name", data.file_name); // dict.Add("file_data", data.filebase64); dict.Add("file_data", data.file_data); attfile.Add(dict); } } if (CrossConnectivity.Current.IsConnected) { var leave_type_id = App.leaveTypeList.FirstOrDefault(x => x.Name2 == leave_pick.SelectedItem.ToString()).Id; var hr_year_id = App.hr_yearList.FirstOrDefault(x => x.Name == hr_year_picker.SelectedItem.ToString()).Id; vals["name"] = reason_entry.Text; vals["holiday_status_id"] = leave_type_id; vals["hr_year_id"] = hr_year_id; vals["employee_id"] = employee_id; vals["date_from"] = convertstart_datetime; vals["date_to"] = convertstop_datetime; vals["number_of_days_temp"] = dur; vals["half_day_related"] = check_half_day; vals["half_day"] = check_half_day; vals["am_or_pm"] = am_or_pm; vals["add_attachment"] = attfile; vals["remove_attachment"] = delete_attach; var updated = Controller.InstanceCreation().UpdateLeave("hr.holidays", "app_update_leave", levobj.id, vals); if (updated == "True") { App.Current.MainPage = new MasterPage(new LeavesPage()); act_ind.IsRunning = false; // Loadingalertcall(); // attach.Clear(); DependencyService.Get <Toast>().Show("Updated successfully..."); } else { // Loadingalertcall(); act_ind.IsRunning = false; DependencyService.Get <Toast>().Show(updated); } } else { var itemToRemove = App.leaves_listDb.Single(r => r.id == levobjDb.id); App.leaves_listDb.Remove(itemToRemove); string jso_addattchment_list = ""; string jso_removeattchment_list = ""; int loc_leave_type_id = App.leaveTypeListDb.FirstOrDefault(x => x.Name2 == leave_pick.SelectedItem.ToString()).Id; int loc_hr_year_id = App.hr_yearListDb.FirstOrDefault(x => x.Name == hr_year_picker.SelectedItem.ToString()).Id; App._connection.Query <LeavesModelDB>("DELETE FROM [LeavesModelDB] WHERE [id] = " + levobjDb.id); try { jso_addattchment_list = Newtonsoft.Json.JsonConvert.SerializeObject(attfile); } catch { int j = 0; act_ind.IsRunning = true; } try { jso_removeattchment_list = Newtonsoft.Json.JsonConvert.SerializeObject(delete_attach); } catch { int jk = 0; act_ind.IsRunning = true; } DateTime edit_dt = DateTime.ParseExact(convertstart_datetime, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture); string date_from = edit_dt.ToLocalTime().ToString("MMM dd"); DateTime edit_dt1 = DateTime.ParseExact(convertstop_datetime, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture); string date_to = edit_dt.ToLocalTime().ToString("MMM dd"); var sample = new LeavesModelDB { id = levobjDb.id, name = reason_entry.Text, holidays_status = leave_pick.SelectedItem.ToString(), // holiday_status_id = leave_type_id, year = hr_year_picker.SelectedItem.ToString(), year_id = loc_hr_year_id, datefrom = date_from, dateto = date_to, // fromDate = startdate, // endDate = enddate, date_from = convertstart_datetime, date_to = convertstop_datetime, leave_type_id = loc_leave_type_id, employee_id = App.employee_id, sync_string = "editexp.png", stage_colour = levobjDb.stage_colour, state = levobjDb.state, state_name = levobjDb.state_name, attachment_list = jso_addattchment_list, remove_attachment = jso_removeattchment_list, no_of_days = dur, is_half_day = check_half_day, check_tt = am_or_pm, employee = levobjDb.employee, check_rpc_condition = "edit", // error_attachment_list = attach_list, }; App._connection.Insert(sample); App._connection.CreateTable <LeavesModelDB>(); try { var details = (from y in App._connection.Table <LeavesModelDB>() select y).ToList(); App.leaves_listDb = details; App.Current.MainPage = new MasterPage(new LeavesPage()); DependencyService.Get <Toast>().Show("Updated locally..."); } catch (Exception ex) { int i = 0; act_ind.IsRunning = false; } act_ind.IsRunning = false; } }
public LeavesDetailPage(LeavesModelDB obj) { InitializeComponent(); levobjDb = obj; label_display_Name.Text = obj.display_name; reasonlabel.Text = obj.name; leavetypelabel.Text = obj.holidays_status; hryearlabel.Text = obj.year; leave_structure_Namelabel.Text = obj.leave_structure; dept_namelabel.Text = obj.department; startdate_label.Text = obj.fromDate; enddate_label.Text = obj.endDate; duration_label.Text = obj.no_of_days.ToString(); if (obj.is_half_day == false) { check_half_day = false; checkImg.IsVisible = false; uncheckImg.IsVisible = true; tt_label.Text = obj.check_tt; overall_enddate_layout.IsVisible = true; } else { check_half_day = true; checkImg.IsVisible = true; uncheckImg.IsVisible = false; tt_label.Text = obj.check_tt; overall_enddate_layout.IsVisible = false; } if (obj.state.Equals("confirm")) { btnApprove.IsVisible = true; btnRefuse.IsVisible = true; btnDraft.IsVisible = true; btnConfirm.IsVisible = false; frame_state_color.BackgroundColor = Color.FromHex(obj.stage_colour); statelabel.Text = obj.state_name; } else if (obj.state.Equals("draft")) { btnConfirm.IsVisible = true; btnApprove.IsVisible = false; btnRefuse.IsVisible = false; btnDraft.IsVisible = false; frame_state_color.BackgroundColor = Color.FromHex(obj.stage_colour); statelabel.Text = obj.state_name; } else if (obj.state.Equals("refuse")) { btnConfirm.IsVisible = false; btnApprove.IsVisible = false; btnRefuse.IsVisible = false; btnDraft.IsVisible = true; frame_state_color.BackgroundColor = Color.FromHex(obj.stage_colour); statelabel.Text = obj.state_name; } else if (obj.state.Equals("validate")) { btnConfirm.IsVisible = false; btnApprove.IsVisible = false; btnRefuse.IsVisible = true; btnDraft.IsVisible = false; frame_state_color.BackgroundColor = Color.FromHex(obj.stage_colour); statelabel.Text = obj.state_name; } // List<AttachmentFile> addattachlistDb = JsonConvert.DeserializeObject<List<AttachmentFile>>(dbobj.attachment_list); attach = JsonConvert.DeserializeObject <List <AttachmentFile> >(obj.attachment_list); // attach = obj.attachment_list; if (attach.Count > 0) { attachviewlist.IsVisible = true; attachviewlist.HeightRequest = 45 * attach.Count; attachviewlist.ItemsSource = attach; } halfday.Add("AM"); halfday.Add("PM"); half_dayPicker.ItemsSource = halfday; //half_dayPicker.SelectedIndex = 0; var editRecognizer = new TapGestureRecognizer(); editRecognizer.Tapped += (s, e) => { edit.IsVisible = false; add_attachment.IsEnabled = true; attachviewlist.IsEnabled = true; if (obj.check_rpc_condition != "false") { updatebtn.IsVisible = true; } else { createbtn.IsVisible = true; durlayout.IsVisible = false; dur_boxlayout.IsVisible = false; delete.IsVisible = false; state_layout.IsVisible = false; state_boxlayout.IsVisible = false; leavestructure_layout.IsVisible = false; leavestructure_boxlayout.IsVisible = false; department_layout.IsVisible = false; department_boxlayout.IsVisible = false; btnStack.IsVisible = false; } leave_pick.ItemsSource = App.leaveTypeListDb.Select(n => n.Name2).ToList(); leave_pick.SelectedIndex = 0; leave_pick.SelectedItem = levobjDb.holidays_status; hr_year_picker.ItemsSource = App.hr_yearListDb.Select(y => y.Name).ToList(); hr_year_picker.SelectedIndex = 0; hr_year_picker.SelectedItem = levobjDb.year; reasonlabel.IsVisible = false; reason_entry.IsVisible = true; reason_entry.Text = levobjDb.name; leavetypelabel.IsVisible = false; leavetype_layout.IsVisible = true; //employee_namelabel.IsVisible = false; //employee_layout.IsVisible = true; hryearlabel.IsVisible = false; hryear_layout.IsVisible = true; startdate_label.IsVisible = false; startdate_layout.IsVisible = true; enddate_label.IsVisible = false; enddate_layout.IsVisible = true; // half day field uncheckImg.IsVisible = false; checkImg.IsVisible = false; tt_label.IsVisible = false; if (obj.is_half_day == false) { editcheckImg.IsVisible = false; edituncheckImg.IsVisible = true; half_dayPicker.IsVisible = false; drdownImg.IsVisible = false; overall_enddate_layout.IsVisible = true; } else { editcheckImg.IsVisible = true; edituncheckImg.IsVisible = false; half_dayPicker.IsVisible = true; half_dayPicker.SelectedItem = levobjDb.check_tt; drdownImg.IsVisible = true; overall_enddate_layout.IsVisible = false; } if (levobjDb.is_half_day) { halfday_layout.IsVisible = true; } else { halfday_layout.IsVisible = false; } //start date field DateTime start_dateTime = DateTime.ParseExact(obj.date_from, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture).ToLocalTime(); string start_datestring = start_dateTime.ToString("yyyy-MM-dd"); string start_timestring = start_dateTime.ToString("HH:mm"); string start_fullTime = start_datestring + " " + start_timestring; TimeSpan start_timespan = TimeSpan.Parse(start_timestring); start_date.Date = start_dateTime; start_time.Time = start_timespan; //stop date field DateTime stop_dateTime = DateTime.ParseExact(obj.date_to, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture).ToLocalTime(); string stop_datestring = stop_dateTime.ToString("yyyy-MM-dd"); string stop_timestring = stop_dateTime.ToString("HH:mm"); string stop_fullTime = stop_datestring + " " + stop_timestring; TimeSpan stop_timespan = TimeSpan.Parse(stop_timestring); stop_date.Date = stop_dateTime; stop_time.Time = stop_timespan; //DependencyService.Get<Toast>().Show("Need internet connection..."); }; edit.GestureRecognizers.Add(editRecognizer); var attach_file = new TapGestureRecognizer(); attach_file.Tapped += async(s, e) => { System.Diagnostics.Debug.WriteLine("OUTT" + attach.Count()); await PopupNavigation.Instance.PushAsync(new FileAttachmentPage("update", attach)); }; add_attachment.GestureRecognizers.Add(attach_file); //var uncheck_Img = new TapGestureRecognizer(); //uncheck_Img.Tapped += (s, e) => //{ // edituncheckImg.IsVisible = false; // editcheckImg.IsVisible = true; // half_dayPicker.IsVisible = true; // drdownImg.IsVisible = true; //}; //edituncheckImg.GestureRecognizers.Add(uncheck_Img); //var check_Img = new TapGestureRecognizer(); //check_Img.Tapped += (s, e) => //{ // editcheckImg.IsVisible = false; // edituncheckImg.IsVisible = true; // half_dayPicker.IsVisible = false; // drdownImg.IsVisible = false; //}; //editcheckImg.GestureRecognizers.Add(check_Img); }
private async void create_Clicked(object sender, EventArgs e) { //var currentpage = new LoadingIndicator(); //await PopupNavigation.Instance.PushAsync(currentpage); act_ind.IsRunning = true; try { // List<LeavesModel> Data = Controller.InstanceCreation().GetMasterData(); JObject attdetails = await Task.Run(() => Controller.InstanceCreation().GetAttendanceData()); } catch { int jk = 0; } Dictionary <string, dynamic> vals = new Dictionary <string, dynamic>(); string convertstartdate = start_date.Date.ToString("yyyy-MM-dd"); var dt = start_time.Time.ToString(); convertstartdate = convertstartdate + " " + dt.ToString(); string convertstart_datetime = convertstartdate; DateTime startDate = DateTime.ParseExact(convertstart_datetime, "yyyy-MM-dd HH:mm:ss", null); convertstart_datetime = startDate.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss"); string convertstopdate = stop_date.Date.ToString("yyyy-MM-dd"); var dt1 = stop_time.Time.ToString(); convertstopdate = convertstopdate + " " + dt1.ToString(); string convertstop_datetime = convertstopdate; DateTime stopDate = DateTime.ParseExact(convertstop_datetime, "yyyy-MM-dd HH:mm:ss", null); convertstop_datetime = stopDate.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss"); TimeSpan diff; string dur = ""; diff = stopDate - startDate; dur = diff.Days.ToString(); List <dynamic> attfile = new List <dynamic>(); foreach (var data in attach) { Dictionary <string, dynamic> dict = new Dictionary <string, dynamic>(); dict.Add("file_name", data.file_name); dict.Add("file_data", data.filebase64); attfile.Add(dict); } string am_or_pm = ""; if (half_day == true) { am_or_pm = half_dayPicker.SelectedItem.ToString(); var stopdate = startDate.AddHours(4); var loctime = stopdate.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss"); convertstop_datetime = stopdate.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss"); diff = stopdate - startDate; dur = diff.Days.ToString(); } else { am_or_pm = ""; } if (App.NetAvailable == true) { if (leaveType_picker.SelectedItem == null) { leavepick_alert.IsVisible = true; act_ind.IsRunning = false; } else { var leave_type_id = App.leaveTypeList.FirstOrDefault(x => x.Name2 == leaveType_picker.SelectedItem.ToString()).Id; var hr_year_id = App.hr_yearList.FirstOrDefault(x => x.Name == hr_year_picker.SelectedItem.ToString()).Id; var employee_id = App.employee_id; leavepick_alert.IsVisible = false; vals["name"] = reason.Text; vals["holiday_status_id"] = leave_type_id; vals["hr_year_id"] = hr_year_id; vals["employee_id"] = employee_id; vals["date_from"] = convertstart_datetime; vals["date_to"] = convertstop_datetime; vals["half_day_related"] = half_day; vals["half_day"] = half_day; vals["am_or_pm"] = am_or_pm; vals["attachment"] = attfile; vals["number_of_days_temp"] = dur; var dic = vals; // await Task.Run(() => App.Current.MainPage = new MasterPage(new AttendancesPage())); var created = await Task.Run(() => Controller.InstanceCreation().CreateLeave("hr.holidays", "app_create_leave", vals)); if (created == "True") { await Task.Run(() => App.Current.MainPage = new MasterPage(new LeavesPage())); Loadingalertcall(); DependencyService.Get <Toast>().Show("Created Successfully..."); act_ind.IsRunning = false; } else { Loadingalertcall(); DependencyService.Get <Toast>().Show(created); act_ind.IsRunning = false; } } } else { string reasontxt = reason.Text; string leavetype = leaveType_picker.SelectedItem.ToString(); string year = hr_year_picker.SelectedItem.ToString(); DateTime fromdt = DateTime.ParseExact(convertstart_datetime, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture); string datefrom = fromdt.ToLocalTime().ToString("MMM dd"); DateTime todt = DateTime.ParseExact(convertstop_datetime, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture); string dateto = todt.ToLocalTime().ToString("MMM dd"); DateTime fullstartdt = DateTime.ParseExact(convertstart_datetime, "yyyy-MM-dd HH:mm:ss", null); string startdate = fullstartdt.ToLocalTime().ToString("dd/MM/yyyy HH:mm"); DateTime fullstopdt = DateTime.ParseExact(convertstop_datetime, "yyyy-MM-dd HH:mm:ss", null); string enddate = fullstopdt.ToLocalTime().ToString("dd/MM/yyyy HH:mm"); var leave_id = App.leaveTypeListDb.FirstOrDefault(x => x.Name2 == leaveType_picker.SelectedItem.ToString()).Id; var year_id = App.hr_yearListDb.FirstOrDefault(x => x.Name == hr_year_picker.SelectedItem.ToString()).Id; var emp_id = App.employee_idDb; var jso_attchment_list = Newtonsoft.Json.JsonConvert.SerializeObject(attfile); var attach_list = Newtonsoft.Json.JsonConvert.SerializeObject(attach); var sample = new LeavesModelDB { name = reasontxt, holidays_status = leavetype, year = year, datefrom = datefrom, dateto = dateto, fromDate = startdate, endDate = enddate, date_from = convertstart_datetime, date_to = convertstop_datetime, leave_type_id = leave_id, employee_id = emp_id, year_id = year_id, sync_string = "sync.png", stage_colour = "#efb139", state = "confirm", state_name = "Waiting Pre-Approval", attachment_list = jso_attchment_list, no_of_days = dur, is_half_day = half_day, check_tt = am_or_pm, employee = "Administrator", check_rpc_condition = "true", error_attachment_list = attach_list, }; App._connection.Insert(sample); App._connection.CreateTable <LeavesModelDB>(); try { var details = (from y in App._connection.Table <LeavesModelDB>() select y).ToList(); App.leaves_listDb = details; } catch (Exception ex) { int i = 0; } await Task.Run(() => App.Current.MainPage = new MasterPage(new LeavesPage())); DependencyService.Get <Toast>().Show("Created successfully need to sync with server..."); act_ind.IsRunning = false; // Loadingalertcall(); } }