private void Save_Click(object sender, EventArgs e) { if (!IsValid()) { MessageBox.Show("اطلاعات فرم بدرستی وارد نشده است. لطفا پس از بررسی نسبت به ذخیره سازی اقدام نمایید.", "بررسی اطلاعات", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (Value.StatusType == Model.Status.Type.Delivery && FollowUp.ImageIndex == 1) { MessageBox.Show( string.Format("امکان ثبت چک در وضعیت {0} وجود ندارد.\n مشخصات تحویل گیرنده را در قسمت پیگیری وارد نکرده اید. ", Model.Status.GetString(Value.StatusType)), "بررسی اطلاعات چک", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (Value.StatusType != Model.Status.Type.Delivery && _FollowUpValue != null) { DialogResult result = MessageBox.Show( string.Format("به دلیل تغییر وضعیت چک از {0} به {1} اطلاعات پیگیری حذف خواهد شد. آیا با این موضوع موافق هستید؟", Model.Status.GetString(Model.Status.Type.Delivery), Model.Status.GetString(Value.StatusType)), "بررسی اطلاعات چک", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result != System.Windows.Forms.DialogResult.Yes) { Status.SelectedIndex = Status.Items.IndexOf(Model.Status.GetString(Model.Status.Type.Delivery)); return; } CheckRepository.ClearFollowUp(Value.CheckID); _FollowUpValue = null; FollowUp.ImageIndex = 1; } CheckRepository repository = new CheckRepository(); this.Tag = repository.SaveCheck(Value); if (_FollowUpValue != null && Value.StatusType == Model.Status.Type.Delivery) { repository.SaveFollowUp(Value.CheckID, _FollowUpValue); } MessageBox.Show("اطلاعات چک با موفقیت ذخیره شد.", "ذخیره سازی اطلاعات...", MessageBoxButtons.OK, MessageBoxIcon.Information); if (_FollowUpValue != null && Value.StatusType == Model.Status.Type.Delivery) { if (MessageBox.Show("آیا تمایل به چاپ رسید چک برگشتی دارید؟", "چاپ رسید چک برگشتی", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) != System.Windows.Forms.DialogResult.Yes) { return; } ReportUI report = new ReportUI(); report.CheckID = (int)this.Tag; report.ShowDialog(); } }