Exemple #1
0
        private async void mainListView_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            var action = await DisplayActionSheet("الرجاء الاختيار", "الغاء", null, "حذف أمر العمل", "عرض العناصر");

            if (action == "عرض العناصر")
            {
                WorkOrderView wo   = new WorkOrderView();
                int           WOID = ((WorkOrderView)mainListView.SelectedItem).ID;
                await Navigation.PushAsync(new ParametersView(WOID));
            }
            else if (action == "حذف أمر العمل")
            {
                await BeBusy(true);

                var result = await DisplayAlert("تحذير", "سوف يتم حذف امر العمل" + Environment.NewLine + Environment.NewLine + "هل تريد الاستمرار؟؟", "نعم", "الغاء");

                if (result)
                {
                    int WOID = ((WorkOrderView)mainListView.SelectedItem).ID;
                    try
                    {
                        bool isOk = await rcs.DeleteWorkOrderAsync(WOID);

                        if (isOk)
                        {
                            await BeBusy(false);
                            await DisplayAlert("تمت العملية", "تم الحذف بنجاح", "موافق");

                            OnAppearing();
                        }
                        else
                        {
                            await BeBusy(false);
                            await DisplayAlert("خطأ", "توجد مشكلة", "موافق");
                        }
                    }
                    catch (Exception err)
                    {
                        await BeBusy(false);
                        await DisplayAlert("Error", err.InnerException.ToString(), "Ok");
                    }
                }
                else
                {
                    return;
                }
            }
        }
        private async void saveEvent_Tapped(object sender, EventArgs e)
        {
            await BeBusy(true);

            string digitRegex = @"^[0-9]+$";

            //if(Length.Text == null || !Regex.IsMatch(Length.Text, digitRegex))
            //{
            //    await BeBusy(false);
            //    await DisplayAlert("خطأ", "الرجاء ادخال قيمة صحيحة لطول المشروع", "ok");
            //    return;
            //}
            if (workOrderValue.Text == null || !Regex.IsMatch(workOrderValue.Text, digitRegex))
            {
                await BeBusy(false);
                await DisplayAlert("خطأ", "الرجاء ادخال قيمة صحيحة لاجمالي المبلغ", "ok");

                return;
            }

            var result = await DisplayAlert("تحذير", "عند تحديث بيانات أمر العمل سوف يتم حذف بيانات المتابعة السابقة لنفس امر العمل" + Environment.NewLine + Environment.NewLine + "هل تريد الاستمرار؟؟", "نعم", "الغاء");

            if (result)
            {
                WorkOrders newWO = new WorkOrders();
                try
                {
                    newWO.ID               = wo.ID;
                    newWO.project_FKID     = ((Projects)projectName.SelectedItem).ID;
                    newWO.contractors_FKID = ((Contractors)contractor.SelectedItem).ID;
                    newWO.location_FKID    = ((Locations)location.SelectedItem).ID;
                    //newWO.totalLenght = int.Parse(Length.Text);
                    newWO.startingDate = DateTime.Parse(StartDate.Date.ToString());
                    //newWO.ParameterCategory_FKID = ((ParameterCategory)parameterCategory.SelectedItem).ID;
                    newWO.voltageLevels_FKID = ((VoltageLevels)voltageLevel.SelectedItem).ID;

                    //if (workOrderStatus.SelectedItem != null)
                    //    newWO.workOrderStatus_FKID = ((WorkOrderStatus)workOrderStatus.SelectedItem).ID;
                    if (workOrderUser.SelectedItem != null)
                    {
                        newWO.user_FKID = ((Users)workOrderUser.SelectedItem).ID;
                    }
                    ;

                    newWO.workOrderStatus_FKID = 1;
                    newWO.value         = long.Parse(workOrderValue.Text);
                    newWO.Number        = woNo.Text;
                    newWO.dateTimeStamp = DateTime.Now;
                    newWO.maxDueDays    = wo.maxDueDays;

                    bool isOk = await rcs.DeleteWorkOrderAsync(wo.ID);

                    if (isOk)
                    {
                        await BeBusy(false);
                        await DisplayAlert("تم التحديث", "تم التحديث بنجاح", "موافق");

                        await Navigation.PopAsync();
                    }
                    else
                    {
                        await BeBusy(false);
                        await DisplayAlert("خطأ", "توجد مشكلة", "موافق");
                    }
                }
                catch (Exception err)
                {
                    await BeBusy(false);
                    await DisplayAlert("Error", err.InnerException.ToString(), "Ok");
                }
            }
            else
            {
                return;
            }
        }