Ejemplo n.º 1
0
        private async void btnSelect_Click(object sender, EventArgs e)
        {
            try
            {
                btnSelect.Enabled = false;
                _token?.Cancel();
                _token = new CancellationTokenSource();
                var list = await BuildingRequestViewModel.GetAllMatchesItemsAsync(await BuildingBussines.GetAllAsync(_token.Token), _token.Token);

                if (list.Count <= 0)
                {
                    MessageBox.Show("فایل مطابقی جهت نمایش وجود ندارد");
                    return;
                }

                new frmShowRequestMatches(list).ShowDialog(this);
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
            }
            finally
            {
                btnSelect.Enabled = true;
            }
        }
        private async void btnFinish_Click(object sender, EventArgs e)
        {
            var res = new ReturnedSaveFuncInfo();

            try
            {
                var isSendSms = false;
                if (cls.Guid == Guid.Empty)
                {
                    cls.Guid  = Guid.NewGuid();
                    isSendSms = true;
                }

                res.AddReturnedValue(await SetObjectAsync());
                if (res.HasError)
                {
                    return;
                }

                res.AddReturnedValue(await SetOptionsAsync(cls.Guid));
                if (res.HasError)
                {
                    return;
                }

                res.AddReturnedValue(await cls.SaveAsync());
                if (res.HasError)
                {
                    return;
                }


                if (!Settings.Classes.Payamak.IsSendToOwner.ParseToBoolean() || !isSendSms)
                {
                    return;
                }
                var tr = await Payamak.FixSms.OwnerSend.SendAsync(cls);

                frmNotification.PublicInfo.ShowMessage(tr.HasError
                    ? tr.ErrorMessage
                    : "ارسال پیامک به مالک با موفقیت انجام شد");

                if (res.HasError)
                {
                    return;
                }

                if (MessageBox.Show("آیا مایلید تقاضاهای مطابق با این ملک را مشاهده نمایید؟", "تطبیق املاک با تقاضا",
                                    MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
                {
                    return;
                }
                _token?.Cancel();
                _token = new CancellationTokenSource();
                var list = await BuildingRequestViewModel.GetAllMatchesItemsAsync(cls, _token.Token);

                if (list.Count <= 0)
                {
                    MessageBox.Show("فایل مطابقی جهت نمایش وجود ندارد");
                    return;
                }

                new frmShowRequestMatches(list).ShowDialog(this);
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
                res.AddReturnedValue(ex);
            }
            finally
            {
                if (res.HasError)
                {
                    var frm = new FrmShowErrorMessage(res, "خطا در ذخیره سازی ملک");
                    frm.ShowDialog(this);
                    frm.Dispose();
                }
                else
                {
                    DialogResult = DialogResult.OK;
                    Close();
                }
            }
        }