Esempio n. 1
0
        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));
            }
        }