private void ExecuteAddChequeCommand(object sender)
        {
            View.Cheque.UC_ChequeInwardScreen uccheque = sender as View.Cheque.UC_ChequeInwardScreen;
            ChequeBusinessLogic business;

            try
            {
                ControlValidationStatus validation = ValidateControls.ValidateAllControls(sender);
                if (validation != null && !validation.isValid)
                {
                    WPFCustomMessageBox.CustomMessageBox.ShowOK(validation.ValidationMessage, "S360 Application", "OK");
                    return;
                }

                decimal chequeNo = 0;
                decimal Amt      = 0;
                decimal.TryParse(CurrentChequeInwardModel.ChequeNo, out chequeNo);
                if (string.IsNullOrEmpty(CurrentChequeInwardModel.ChequeNo) || chequeNo <= 0)
                {
                    WPFCustomMessageBox.CustomMessageBox.ShowOK("Invalid Cq. No", "Warning", "OK");
                    S360Controlls.BasicControls.S360TextBox txt = FindVisualChildren <S360Controlls.BasicControls.S360TextBox>(uccheque).Where(S => S.Name == "txtCqNo").FirstOrDefault();
                    txt.Text = string.Empty;
                    txt.Focus();
                    return;
                }
                if (!decimal.TryParse(CurrentChequeInwardModel.ChqAmount.ToString(), out Amt))
                {
                    WPFCustomMessageBox.CustomMessageBox.ShowOK("Invalid Amount", "Warning", "OK");
                    S360Controlls.BasicControls.S360TextBox txt = FindVisualChildren <S360Controlls.BasicControls.S360TextBox>(uccheque).Where(S => S.Name == "txtAmt").FirstOrDefault();
                    txt.Text = string.Empty;
                    txt.Focus();
                    return;
                }
                if (Amt <= 0)
                {
                    WPFCustomMessageBox.CustomMessageBox.ShowOK("Invalid Amount", "Warning", "OK");
                    S360Controlls.BasicControls.S360TextBox txt = FindVisualChildren <S360Controlls.BasicControls.S360TextBox>(uccheque).Where(S => S.Name == "txtAmt").FirstOrDefault();
                    txt.Text = string.Empty;
                    txt.Focus();
                    return;
                }

                if (this._chequeList == null)
                {
                    _chequeList = new ObservableCollection <ChequeInwardsModel>();
                }
                CurrentChequeInwardModel.User      = LoginBusinessLogic.GetUserByID(S360Configuration.Instance.UserID).Username;
                CurrentChequeInwardModel.EnteredBy = S360Model.S360Configuration.Instance.UserID;
                CurrentChequeInwardModel.Login_ID  = S360Model.S360Configuration.Instance.LoginID;

                business = new ChequeBusinessLogic();
                CurrentChequeInwardModel = ConvertToCheque(business.SaveChequeTemp(ConvertToCheque(CurrentChequeInwardModel, true)
                                                                                   as CHQ_Cheques_Master_Temp), false) as ChequeInwardsModel;
                CurrentChequeInwardModel.SerialNo = ChequeList.Count + 1;

                ChequeList.Add(CurrentChequeInwardModel);
            }
            catch (Exception ex)
            {
                throw new S360Exceptions.S360Exception(ex.Message, ex.InnerException);
            }
            CurrentChequeInwardModel = null;
            business = null;
        }
        private void ExecuteSaveChqCommand(object sender)
        {
            View.Cheque.UC_ChequeEditScreen uccheque = sender as View.Cheque.UC_ChequeEditScreen;
            ChequeBusinessLogic             chequeBussiness;

            try
            {
                ControlValidationStatus status = ValidateControls.ValidateAllControls(uccheque);
                if (status != null && !status.isValid)
                {
                    WPFCustomMessageBox.CustomMessageBox.ShowOK(status.ValidationMessage, "S360 Application", "OK");
                    return;
                }
                decimal chequeNo = 0;
                decimal Amt      = 0;
                decimal.TryParse(CurrentChequeInwardModel.ChequeNo, out chequeNo);
                if (string.IsNullOrEmpty(CurrentChequeInwardModel.ChequeNo) || chequeNo <= 0)
                {
                    WPFCustomMessageBox.CustomMessageBox.ShowOK("Invalid Cq. No", "Warning", "OK");
                    S360Controlls.BasicControls.S360TextBox txt = FindVisualChildren <S360Controlls.BasicControls.S360TextBox>(uccheque).Where(S => S.Name == "txtCqNo").FirstOrDefault();
                    txt.Text = string.Empty;
                    txt.Focus();
                    return;
                }
                if (!decimal.TryParse(CurrentChequeInwardModel.ChqAmount.ToString(), out Amt))
                {
                    WPFCustomMessageBox.CustomMessageBox.ShowOK("Invalid Amount", "Warning", "OK");
                    S360Controlls.BasicControls.S360TextBox txt = FindVisualChildren <S360Controlls.BasicControls.S360TextBox>(uccheque).Where(S => S.Name == "txtAmt").FirstOrDefault();
                    txt.Text = string.Empty;
                    txt.Focus();
                    return;
                }
                if (Amt <= 0)
                {
                    WPFCustomMessageBox.CustomMessageBox.ShowOK("Invalid Amount", "Warning", "OK");
                    S360Controlls.BasicControls.S360TextBox txt = FindVisualChildren <S360Controlls.BasicControls.S360TextBox>(uccheque).Where(S => S.Name == "txtAmt").FirstOrDefault();
                    txt.Text = string.Empty;
                    txt.Focus();
                    return;
                }

                chequeBussiness = new ChequeBusinessLogic();
                CHQ_Cheques_Master model = new CHQ_Cheques_Master()
                {
                    Student_ID   = CurrentChequeInwardModel.Student_ID,
                    Bank         = CurrentChequeInwardModel.Bank,
                    ChequeNo     = CurrentChequeInwardModel.ChequeNo,
                    Cheque_ID    = CurrentChequeInwardModel.Cheque_ID,
                    ChqAmount    = CurrentChequeInwardModel.ChqAmount,
                    ChqStatus_ID = CurrentChequeInwardModel.ChqStatus_ID,
                    EnteredBy    = CurrentChequeInwardModel.EnteredBy,
                    //EnteredBy = S360Configuration.Instance.UserID,
                    EnteredOn  = CurrentChequeInwardModel.EnteredOn,
                    InwardDate = CurrentChequeInwardModel.InwardDate,
                    IsActive   = CurrentChequeInwardModel.IsActive,
                    Login_ID   = S360Configuration.Instance.LoginID,
                    Remarks    = CurrentChequeInwardModel.Remarks,
                    Section_ID = CurrentChequeInwardModel.Section_ID
                };
                chequeBussiness.UpdateCheque(model);

                CurrentChequeInwardModel = new ChequeInwardsModel()
                {
                    RegNo       = SelectedCheque.RegNo,
                    StudentName = SelectedCheque.StudentName,
                    Student_ID  = SelectedCheque.Student_ID,
                    Section     = SelectedCheque.Section,
                    Section_ID  = SelectedCheque.Section_ID
                };

                IEnumerable <CHQ_Cheques_Master> cheques = chequeBussiness.GetAllCheques().Where(C => C.Student_ID == CurrentChequeInwardModel.Student_ID &&
                                                                                                 C.ChqStatus_ID == 1 /*Cheque Recieved*/ && C.IsActive == true);

                ChequeList.Clear();
                int serialNo = 1;
                foreach (CHQ_Cheques_Master chq in cheques)
                {
                    this.ChequeList.Add(ConvertToCheque(chq, serialNo++));
                }
                this.SelectedCheque = null;
            }
            catch (Exception ex)
            {
                throw new S360Exceptions.S360Exception(ex.Message, ex.InnerException);
            }
            finally
            {
                //ExecuteClearCommand(null);
                chequeBussiness = null;
            }
        }