private async void SaveEvent_Tapped(object sender, EventArgs e) { BeBusy(true); string digitRegex = @"^[0-9]+$"; if (woNo.Text == null || !Regex.IsMatch(woNo.Text, digitRegex)) { BeBusy(false); await DisplayAlert("خطأ", "الرجاء ادخال قيمة صحيحة لرقم أمر العمل", "ok"); return; } if (v1 == 1) { if (projectName.SelectedIndex == -1) { BeBusy(false); await DisplayAlert("خطأ", "الرجاء تحديد اسم المشروع", "ok"); return; } } if (contractor.SelectedIndex == -1) { BeBusy(false); await DisplayAlert("خطأ", "الرجاء تحديد اسم المقاول", "ok"); return; } if (location.SelectedIndex == -1) { BeBusy(false); await DisplayAlert("خطأ", "الرجاء تحديد الموقع", "ok"); return; } //if (Length.Text == null || !Regex.IsMatch(Length.Text, digitRegex)) //{ // BeBusy(false); // await DisplayAlert("خطأ", "الرجاء ادخال قيمة صحيحة لطول المشروع", "ok"); // return; //} //if (parameterCategory.SelectedIndex == -1) //{ // BeBusy(false); // await DisplayAlert("خطأ", "الرجاء تحديد نوع المشروع", "ok"); // return; //} if (voltageLevel.SelectedIndex == -1) { BeBusy(false); await DisplayAlert("خطأ", "الرجاء تحديد الجهد", "ok"); return; } //if (parameterCategory.SelectedIndex == -1) //{ // BeBusy(false); // await DisplayAlert("خطأ", "الرجاء تحديد نوع المشروع", "ok"); // return; //} if (workOrderValue.Text == null || !Regex.IsMatch(workOrderValue.Text, digitRegex)) { BeBusy(false); await DisplayAlert("خطأ", "الرجاء ادخال قيمة صحيحة لاجمالي المبلغ", "ok"); return; } //if (workOrderUser.SelectedIndex == -1) //{ // BeBusy(false); // await DisplayAlert("خطأ", "الرجاء تحديد المستخدم", "ok"); // return; //} bool isExist = await rcs.getWorkOrderByNumberAsyncTOF(int.Parse(woNo.Text)); if (isExist) { BeBusy(false); await DisplayAlert("خطأ", "رقم امر العمل موجود مسبقا", "ok"); return; } WorkOrders newWO = new WorkOrders(); List <Parameters> lp = new List <Parameters>(); try { newWO.Number = woNo.Text; if (projectName.SelectedItem != null) { newWO.project_FKID = ((Projects)projectName.SelectedItem).ID; } else { newWO.project_FKID = null; } newWO.contractors_FKID = ((Contractors)contractor.SelectedItem).ID; newWO.location_FKID = ((Locations)location.SelectedItem).ID; newWO.startingDate = DateTime.Parse(StartDate.Date.ToString()); newWO.ParameterCategory_FKID = v; newWO.voltageLevels_FKID = ((VoltageLevels)voltageLevel.SelectedItem).ID; if (workOrderUser.SelectedItem != null) { newWO.user_FKID = ((Users)workOrderUser.SelectedItem).ID; } else { newWO.user_FKID = DataStore.getUserID(); } newWO.workOrderStatus_FKID = 1; newWO.dateTimeStamp = DateTime.Now; newWO.value = long.Parse(workOrderValue.Text); newWO.maxDueDays = 40; bool isOk = await rcs.PostWorkOrderUpdateAsync(newWO); if (isOk) { BeBusy(false); await DisplayAlert("تمت الاضافة", "تمت لاضافة بنجاح", "موافق"); //await Navigation.PopAsync(); } else { BeBusy(false); await DisplayAlert("خطأ", "توجد مشكلة", "موافق"); } } catch { BeBusy(false); await DisplayAlert("خطأ", "حدث خطأ ما!", "ok"); } var woNO = await rcs.getWorkOrderByNumberAsync(int.Parse(woNo.Text)); lp = await rcs.getAllParameterBYCategoryAsync(v); bool isSelectParameter = false; foreach (var item in lp) { if (item.ParameterWight == null) { isSelectParameter = true; } } if (isSelectParameter) { await Navigation.PushAsync(new NewWorkOrderSelectParameter(newWO, lp, woNO)); } else { await Navigation.PushAsync(new NewWorkOrderConti(newWO, lp, woNO, 2)); } }