public void DeleteRecord(string index) { try { //Step 1 Code to delete the object from the database VacationSchedule s = new VacationSchedule(); s.recordId = index; s.name = ""; PostRequest <VacationSchedule> req = new PostRequest <VacationSchedule>(); req.entity = s; PostResponse <VacationSchedule> r = _branchService.ChildDelete <VacationSchedule>(req); if (!r.Success) { X.MessageBox.ButtonText.Ok = Resources.Common.Ok; X.Msg.Alert(Resources.Common.Error, r.Summary).Show(); return; } else { //Step 2 : remove the object from the store Store1.Remove(index); //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 SaveNewRecord(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 id = e.ExtraParams["id"]; string obj = e.ExtraParams["schedule"]; VacationSchedule b = JsonConvert.DeserializeObject <VacationSchedule>(obj); string pers = e.ExtraParams["periods"]; b.recordId = id; // Define the object to add or edit as null if (string.IsNullOrEmpty(id)) { try { //New Mode //Step 1 : Fill The object and insert in the store PostRequest <VacationSchedule> request = new PostRequest <VacationSchedule>(); request.entity = b; PostResponse <VacationSchedule> r = _branchService.ChildAddOrUpdate <VacationSchedule>(request); b.recordId = r.recordId; //check if the insert failed if (!r.Success)//it maybe be another condition { //Show an error saving... X.MessageBox.ButtonText.Ok = Resources.Common.Ok; X.Msg.Alert(Resources.Common.Error, r.Summary).Show(); return; } List <VacationSchedulePeriod> periods = JsonConvert.DeserializeObject <List <VacationSchedulePeriod> >(pers); PostResponse <VacationSchedulePeriod[]> result = AddPeriodsList(b.recordId, periods); if (!result.Success) { X.MessageBox.ButtonText.Ok = Resources.Common.Ok; X.Msg.Alert(Resources.Common.Error, result.Message).Show(); return; } else { //Add this record to the store this.Store1.Insert(0, b); //Display successful notification Notification.Show(new NotificationConfig { Title = Resources.Common.Notification, Icon = Icon.Information, Html = Resources.Common.RecordSavingSucc }); this.EditRecordWindow.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 { int index = Convert.ToInt32(id);//getting the id of the record PostRequest <VacationSchedule> modifyHeaderRequest = new PostRequest <VacationSchedule>(); modifyHeaderRequest.entity = b; PostResponse <VacationSchedule> r = _branchService.ChildAddOrUpdate <VacationSchedule>(modifyHeaderRequest); //Step 1 Selecting the object or building up the object for update purpose if (!r.Success) //it maybe another check { X.MessageBox.ButtonText.Ok = Resources.Common.Ok; X.Msg.Alert(Resources.Common.Error, Resources.Common.ErrorUpdatingRecord).Show(); return; } var deleteDesponse = _branchService.DeleteVacationSchedulePeriods(Convert.ToInt32(b.recordId)); if (!deleteDesponse.Success)//it maybe another check { X.MessageBox.ButtonText.Ok = Resources.Common.Ok; X.Msg.Alert(Resources.Common.Error, Resources.Common.ErrorUpdatingRecord).Show(); return; } List <VacationSchedulePeriod> periods = JsonConvert.DeserializeObject <List <VacationSchedulePeriod> >(pers); PostResponse <VacationSchedulePeriod[]> result = AddPeriodsList(b.recordId, periods); //Step 2 : saving to store //Step 3 : Check if request fails if (!result.Success)//it maybe another check { X.MessageBox.ButtonText.Ok = Resources.Common.Ok; X.Msg.Alert(Resources.Common.Error, result.Message).Show(); return; } else { ModelProxy record = this.Store1.GetById(index); 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(); } } }