public void DeleteScheduleBenefitRecord(string benefitId, string bsId)
        {
            try
            {
                //Step 1 Code to delete the object from the database
                ScheduleBenefits s = new ScheduleBenefits();
                s.bsId      = Convert.ToInt32(bsId);
                s.benefitId = Convert.ToInt32(benefitId);



                PostRequest <ScheduleBenefits> req = new PostRequest <ScheduleBenefits>();
                req.entity = s;
                PostResponse <ScheduleBenefits> r = _benefitsService.ChildDelete <ScheduleBenefits>(req);
                if (!r.Success)
                {
                    X.MessageBox.ButtonText.Ok = Resources.Common.Ok;
                    Common.errorMessage(r);
                    return;
                }
                else
                {
                    //Step 2 :  remove the object from the store
                    ScheduleBenefitsStore.Reload();

                    //Step 3 : Showing a notification for the user
                    Notification.Show(new NotificationConfig
                    {
                        Title = Resources.Common.Notification,
                        Icon  = Icon.Information,
                        Html  = Resources.Common.RecordDeletedSucc
                    });
                }
            }
            catch (Exception ex)
            {
                //In case of error, showing a message box to the user
                X.MessageBox.ButtonText.Ok = Resources.Common.Ok;
                X.Msg.Alert(Resources.Common.Error, Resources.Common.ErrorDeletingRecord).Show();
            }
        }
        protected void SaveNewScheduleBenefitRecord(object sender, DirectEventArgs e)
        {
            //Getting the id to check if it is an Add or an edit as they are managed within the same form.


            string           obj = e.ExtraParams["values"];
            ScheduleBenefits b   = JsonConvert.DeserializeObject <ScheduleBenefits>(obj);
            //if (!b.isChecked)
            //{
            //    DeleteScheduleBenefitRecord(b.benefitId.ToString(), bsId.Text);
            //    this.ScheduleBenefitWindow.Close();
            //    return;
            //}


            string id = e.ExtraParams["id"];

            // Define the object to add or edit as null

            //if (string.IsNullOrEmpty(b.benefitId.ToString()))
            //{

            try
            {
                //New Mode
                //Step 1 : Fill The object and insert in the store
                PostRequest <ScheduleBenefits> request = new PostRequest <ScheduleBenefits>();

                request.entity      = b;
                request.entity.bsId = Convert.ToInt32(bsId.Text);
                PostResponse <ScheduleBenefits> r = _benefitsService.ChildAddOrUpdate <ScheduleBenefits>(request);


                //check if the insert failed
                if (!r.Success)    //it maybe be another condition
                {
                    //Show an error saving...
                    X.MessageBox.ButtonText.Ok = Resources.Common.Ok;
                    Common.errorMessage(r);
                    return;
                }
                else
                {
                    //Add this record to the store
                    ScheduleBenefitsStore.Reload();

                    //Display successful notification
                    Notification.Show(new NotificationConfig
                    {
                        Title = Resources.Common.Notification,
                        Icon  = Icon.Information,
                        Html  = Resources.Common.RecordSavingSucc
                    });

                    this.ScheduleBenefitWindow.Close();
                    //RowSelectionModel sm = this.GridPanel1.GetSelectionModel() as RowSelectionModel;
                    //sm.DeselectAll();
                    //sm.Select(b.recordId.ToString());
                }
            }
            catch (Exception ex)
            {
                //Error exception displaying a messsage box
                X.MessageBox.ButtonText.Ok = Resources.Common.Ok;
                X.Msg.Alert(Resources.Common.Error, Resources.Common.ErrorSavingRecord).Show();
            }



            //else
            //{
            //    //Update Mode

            //    try
            //    {
            //        //getting the id of the record
            //        PostRequest<BenefitsSchedule> request = new PostRequest<BenefitsSchedule>();
            //        request.entity = b;
            //        PostResponse<BenefitsSchedule> r = _benefitsService.ChildAddOrUpdate<BenefitsSchedule>(request);                      //Step 1 Selecting the object or building up the object for update purpose

            //        //Step 2 : saving to store

            //        //Step 3 :  Check if request fails
            //        if (!r.Success)//it maybe another check
            //        {
            //            X.MessageBox.ButtonText.Ok = Resources.Common.Ok;
            //          Common.errorMessage(r);
            //            return;
            //        }
            //        else
            //        {


            //            ModelProxy record = this.Store1.GetById(id);
            //            BasicInfoTab.UpdateRecord(record);
            //            record.Commit();
            //            Notification.Show(new NotificationConfig
            //            {
            //                Title = Resources.Common.Notification,
            //                Icon = Icon.Information,
            //                Html = Resources.Common.RecordUpdatedSucc
            //            });
            //            this.EditRecordWindow.Close();


            //        }

            //    }
            //    catch (Exception ex)
            //    {
            //        X.MessageBox.ButtonText.Ok = Resources.Common.Ok;
            //        X.Msg.Alert(Resources.Common.Error, Resources.Common.ErrorUpdatingRecord).Show();
            //    }
            //}
        }