private async void mnuShowPages_Click(object sender, EventArgs e)
        {
            try
            {
                if (DGrid.RowCount <= 0)
                {
                    return;
                }
                if (DGrid.CurrentRow == null)
                {
                    return;
                }
                var guid      = (Guid)DGrid[dgGuid.Index, DGrid.CurrentRow.Index].Value;
                var dasteChek = await DasteCheckBussines.GetAsync(guid);

                if (dasteChek == null)
                {
                    frmNotification.PublicInfo.ShowMessage("دسته چک انتخابی معتبر نمی باشد");
                    return;
                }
                var frm = new frmShowCheckPages(dasteChek);
                frm.ShowDialog(this);
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
            }
        }
Exemple #2
0
        public async Task <ReturnedSaveFuncInfo> SaveAsync(DasteCheckBussines item, SqlTransaction tr)
        {
            var res = new ReturnedSaveFuncInfo();

            try
            {
                var cmd = new SqlCommand("sp_DasteCheck_Save", tr.Connection, tr)
                {
                    CommandType = CommandType.StoredProcedure
                };
                cmd.Parameters.AddWithValue("@guid", item.Guid);
                cmd.Parameters.AddWithValue("@modif", item.Modified);
                cmd.Parameters.AddWithValue("@st", item.Status);
                cmd.Parameters.AddWithValue("@serial", item.SerialNumber ?? "");
                cmd.Parameters.AddWithValue("@bankGuid", item.BankGuid);
                cmd.Parameters.AddWithValue("@desc", item.Description);
                cmd.Parameters.AddWithValue("@fNumber", item.FromNumber);
                cmd.Parameters.AddWithValue("@toNumber", item.ToNumber);
                cmd.Parameters.AddWithValue("@serverSt", (short)item.ServerStatus);
                cmd.Parameters.AddWithValue("@serverDate", item.ServerDeliveryDate);
                await cmd.ExecuteNonQueryAsync();
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
                res.AddReturnedValue(ex);
            }

            return(res);
        }
Exemple #3
0
        private DasteCheckBussines LoadData(SqlDataReader dr, CancellationToken token)
        {
            var item = new DasteCheckBussines();

            try
            {
                item.Guid               = (Guid)dr["Guid"];
                item.Modified           = (DateTime)dr["Modified"];
                item.Status             = (bool)dr["Status"];
                item.SerialNumber       = dr["SerialNumber"].ToString();
                item.BankGuid           = (Guid)dr["BankGuid"];
                item.FromNumber         = (long)dr["FromNumber"];
                item.ToNumber           = (long)dr["ToNumber"];
                item.Description        = dr["Description"].ToString();
                item.BankName           = dr["BankName"].ToString();
                item.ServerDeliveryDate = (DateTime)dr["ServerDeliveryDate"];
                item.ServerStatus       = (ServerStatus)dr["ServerStatus"];
                item.CheckPages         = AsyncContext.Run(() => CheckPageBussines.GetAllAsync(item.Guid, token));
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
            }

            return(item);
        }
Exemple #4
0
        public async Task <DasteCheckBussines> GetAsync(string _connectionString, Guid guid)
        {
            DasteCheckBussines res = null;

            try
            {
                using (var cn = new SqlConnection(_connectionString))
                {
                    var cmd = new SqlCommand("sp_DasteCheck_SelectRow", cn)
                    {
                        CommandType = CommandType.StoredProcedure
                    };
                    cmd.Parameters.AddWithValue("@guid", guid);

                    await cn.OpenAsync();

                    var dr = await cmd.ExecuteReaderAsync();

                    if (dr.Read())
                    {
                        res = LoadData(dr, new CancellationToken());
                    }
                    cn.Close();
                }
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
            }

            return(res);
        }
Exemple #5
0
 public frmDasteCheckMain(Guid guid, bool isShowMode)
 {
     InitializeComponent();
     cls                 = DasteCheckBussines.Get(guid);
     ucHeader.Text       = !isShowMode ? $"ویرایش دسته چک سریال {cls.SerialNumber}" : $"مشاهده دسته چک سریال {cls.SerialNumber}";
     ucHeader.IsModified = true;
     _bankGuid           = cls.BankGuid;
     grp.Enabled         = !isShowMode;
     btnFinish.Enabled   = !isShowMode;
 }
Exemple #6
0
        private static async Task <ReturnedSaveFuncInfo> NaqdBargashtAsync(PardakhtCheckShakhsiBussines cls, SanadBussines sanad)
        {
            var res = new ReturnedSaveFuncInfo();

            try
            {
                var checkPage = await CheckPageBussines.GetAsync(cls.CheckPageGuid);

                var dasteCheck = await DasteCheckBussines.GetAsync(checkPage.CheckGuid);

                var bank = await TafsilBussines.GetAsync(dasteCheck.BankGuid);

                var pardakht = await PardakhtBussines.GetAsync(cls.MasterGuid);

                var girande = await TafsilBussines.GetAsync(pardakht.TafsilGuid);

                //بستانکار--اسناد
                sanad.AddToListSanad(new SanadDetailBussines()
                {
                    Guid        = Guid.NewGuid(),
                    Modified    = DateTime.Now,
                    Description = $"استرداد چک پرداختنی * شماره: {checkPage.Number} بانک صادرکننده: {bank.Name} * گیرنده: {girande.Name}",
                    Debit       = 0,
                    Credit      = cls.Price,
                    TafsilGuid  = bank.Guid,
                    MasterGuid  = sanad.Guid,
                    MoeinGuid   = ParentDefaults.MoeinCoding.CLSMoein30101
                });
                //بدهکار--شخص
                sanad.AddToListSanad(new SanadDetailBussines()
                {
                    Guid        = Guid.NewGuid(),
                    Modified    = DateTime.Now,
                    Description = $"استرداد چک پرداختنی * شماره: {checkPage.Number} بانک صادرکننده: {bank.Name} * گیرنده: {girande.Name}",
                    Debit       = cls.Price,
                    Credit      = 0,
                    TafsilGuid  = pardakht.TafsilGuid,
                    MasterGuid  = sanad.Guid,
                    MoeinGuid   = pardakht.MoeinGuid
                });

                res.AddReturnedValue(await sanad.SaveAsync());
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
                res.AddReturnedValue(ex);
            }

            return(res);
        }
        private async Task FillDasteCheckAsync()
        {
            try
            {
                _token?.Cancel();
                _token = new CancellationTokenSource();
                var list = await DasteCheckBussines.GetAllAsync(_token.Token);

                CheckBookBindingSource.DataSource = list?.Where(q => q.Status)?.OrderBy(q => q.Name)?.ToList();
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
            }
        }
        private async Task LoadDataAsync(string search = "")
        {
            try
            {
                _token?.Cancel();
                _token = new CancellationTokenSource();
                var list = await DasteCheckBussines.GetAllAsync(search, _token.Token);

                Invoke(new MethodInvoker(() => DasteCheckBindingSource.DataSource =
                                             list.Where(q => q.Status == _st).ToSortableBindingList()));
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
            }
        }
        private async void mnuEdit_Click(object sender, EventArgs e)
        {
            try
            {
                if (DGrid.RowCount <= 0)
                {
                    return;
                }
                if (DGrid.CurrentRow == null)
                {
                    return;
                }
                if (!_st)
                {
                    frmNotification.PublicInfo.ShowMessage(
                        "شما مجاز به ویرایش داده حذف شده نمی باشید \r\n برای این منظور، ابتدا فیلد موردنظر را از حالت حذف شده به فعال، تغییر وضعیت دهید");
                    return;
                }
                var guid      = (Guid)DGrid[dgGuid.Index, DGrid.CurrentRow.Index].Value;
                var dasteChek = await DasteCheckBussines.GetAsync(guid);

                if (dasteChek == null)
                {
                    frmNotification.PublicInfo.ShowMessage("دسته چک انتخابی معتبر نمی باشد");
                    return;
                }

                var masraf = dasteChek.CheckPages.Any(q => q.CheckStatus != EnCheckSh.Mojoud);
                if (masraf)
                {
                    frmNotification.PublicInfo.ShowMessage("به علت کشیدن چک از این دسته چک، شما مجاز به ویرایش آن نمی باشید");
                    return;
                }
                var frm = new frmDasteCheckMain(guid, false);
                if (frm.ShowDialog(this) == DialogResult.OK)
                {
                    await LoadDataAsync(txtSearch.Text);
                }
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
            }
        }
        private async Task SetDataAsync()
        {
            try
            {
                await FillDasteCheckAsync();
                await SetTafilAsync(cls?.TafsilGuid ?? Guid.Empty);

                txtPrice.TextDecimal = cls?.Price ?? 0;
                txtDesc.Text         = cls?.Description;
                txtDate.Text         = cls?.DateSarresidSh;

                if (cls.Guid == Guid.Empty && CheckBookBindingSource.Count > 0)
                {
                    cmbCheckBook.SelectedIndex = 0;
                    cmbCheckBook_SelectedIndexChanged(null, null);
                }
                else
                {
                    var checkPage = await CheckPageBussines.GetAsync(cls.CheckPageGuid);

                    if (checkPage == null)
                    {
                        return;
                    }
                    var check = await DasteCheckBussines.GetAsync(checkPage.CheckGuid);

                    if (check == null)
                    {
                        return;
                    }
                    cmbCheckBook.SelectedValue = check.Guid;
                    cmbCheckBook_SelectedIndexChanged(null, null);
                }
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
            }
        }
Exemple #11
0
        public async Task <ReturnedSaveFuncInfo> ChangeStatusAsync(DasteCheckBussines item, bool status, SqlTransaction tr)
        {
            var res = new ReturnedSaveFuncInfo();

            try
            {
                var cmd = new SqlCommand("sp_DasteCheck_ChangeStatus", tr.Connection, tr)
                {
                    CommandType = CommandType.StoredProcedure
                };
                cmd.Parameters.AddWithValue("@Guid", item.Guid);
                cmd.Parameters.AddWithValue("@st", status);

                await cmd.ExecuteNonQueryAsync();
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
                res.AddReturnedValue(ex);
            }

            return(res);
        }
Exemple #12
0
 public frmDasteCheckMain()
 {
     InitializeComponent();
     cls           = new DasteCheckBussines();
     ucHeader.Text = "افزودن دسته چک جدید";
 }
        private async void mnuDelete_Click(object sender, EventArgs e)
        {
            var res = new ReturnedSaveFuncInfo();

            try
            {
                if (DGrid.RowCount <= 0)
                {
                    return;
                }
                if (DGrid.CurrentRow == null)
                {
                    return;
                }
                var guid      = (Guid)DGrid[dgGuid.Index, DGrid.CurrentRow.Index].Value;
                var dasteChek = await DasteCheckBussines.GetAsync(guid);

                if (_st)
                {
                    if (dasteChek == null)
                    {
                        frmNotification.PublicInfo.ShowMessage("دسته چک انتخابی معتبر نمی باشد");
                        return;
                    }
                    var masraf = dasteChek.CheckPages.Any(q => q.CheckStatus != EnCheckSh.Mojoud);
                    if (masraf)
                    {
                        frmNotification.PublicInfo.ShowMessage("به علت کشیدن چک از این دسته چک، شما مجاز به ویرایش آن نمی باشید");
                        return;
                    }
                    if (MessageBox.Show(this,
                                        $@"آیا از حذف دسته چک {DGrid[dgName.Index, DGrid.CurrentRow.Index].Value} اطمینان دارید؟", "حذف",
                                        MessageBoxButtons.YesNo,
                                        MessageBoxIcon.Question) == DialogResult.No)
                    {
                        return;
                    }
                    res.AddReturnedValue(await dasteChek.ChangeStatusAsync(false));
                }
                else
                {
                    if (MessageBox.Show(this,
                                        $@"آیا از فعال کردن دسته چک {DGrid[dgName.Index, DGrid.CurrentRow.Index].Value} اطمینان دارید؟",
                                        "حذف",
                                        MessageBoxButtons.YesNo,
                                        MessageBoxIcon.Question) == DialogResult.No)
                    {
                        return;
                    }
                    res.AddReturnedValue(await dasteChek.ChangeStatusAsync(true));
                }
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
                res.AddReturnedValue(ex);
            }
            finally
            {
                if (res.HasError)
                {
                    this.ShowError(res, "خطا در تغییر وضعیت حساب بانکی");
                }
                else
                {
                    await LoadDataAsync(txtSearch.Text);
                }
            }
        }
Exemple #14
0
        public static async Task <ReturnedSaveFuncInfo> NaqdAvalDoreAsync(PardakhtCheckAvalDoreBussines cls)
        {
            var res = new ReturnedSaveFuncInfo();

            try
            {
                var checkPage = await CheckPageBussines.GetAsync(cls.CheckPageGuid);

                var dasteCheck = await DasteCheckBussines.GetAsync(checkPage.CheckGuid);

                var bank = await TafsilBussines.GetAsync(dasteCheck.BankGuid);

                var girande = await TafsilBussines.GetAsync(cls.TafsilGuid);

                var sanad = new SanadBussines()
                {
                    Guid        = Guid.NewGuid(),
                    Modified    = DateTime.Now,
                    Description = $"نقد کردن چک پرداختنی * شماره: {checkPage.Number} بانک صادر کننده: {bank.Name} * گیرنده: {girande.Name}",
                    DateM       = DateTime.Now,
                    Number      = await SanadBussines.NextNumberAsync(),
                    SanadStatus = EnSanadStatus.Temporary,
                    SanadType   = EnSanadType.Auto,
                    UserGuid    = UserBussines.CurrentUser.Guid
                };

                if (checkPage.CheckStatus == EnCheckSh.Bargashti)
                {
                    res.AddReturnedValue(await NaqdBargashtAvalDoreAsync(cls, sanad));
                    if (res.HasError)
                    {
                        return(res);
                    }
                }

                //بستانکار--موجودی
                sanad.AddToListSanad(new SanadDetailBussines()
                {
                    Guid        = Guid.NewGuid(),
                    Modified    = DateTime.Now,
                    Description = $"نقد کردن چک {checkPage.Number} {bank.Name} * گیرنده: {girande.Name}",
                    Debit       = 0,
                    Credit      = cls.Price,
                    TafsilGuid  = bank.Guid,
                    MasterGuid  = sanad.Guid,
                    MoeinGuid   = ParentDefaults.MoeinCoding.CLSMoein10101
                });
                //بدهکار--اسناد
                sanad.AddToListSanad(new SanadDetailBussines()
                {
                    Guid        = Guid.NewGuid(),
                    Modified    = DateTime.Now,
                    Description = $"نقد کردن چک {checkPage.Number} {bank.Name} * گیرنده: {girande.Name}",
                    Debit       = cls.Price,
                    Credit      = 0,
                    TafsilGuid  = bank.Guid,
                    MasterGuid  = sanad.Guid,
                    MoeinGuid   = ParentDefaults.MoeinCoding.CLSMoein30101
                });

                res.AddReturnedValue(await sanad.SaveAsync());


                checkPage.CheckStatus = EnCheckSh.Pass;
                checkPage.Modified    = DateTime.Now;
                res.AddReturnedValue(await checkPage.SaveAsync());
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
                res.AddReturnedValue(ex);
            }

            return(res);
        }