public IEnumerable<IResult> ButtonSampleTestViewRecord(object source, RoutedEventArgs args)
 {
     if (AppLib.IsAuthorized(SysLib.GetOptionName(ModuleNames.Samples), true)) {
         BusyOn("Loading Order...");
         GetSampleRequest getOrderRequest = new GetSampleRequest(Convert.ToInt32(((Sample)source).Pk));
         yield return getOrderRequest;
         if (getOrderRequest.Error != null) {
             yield return new HandleExceptionResult(getOrderRequest.Error);
             BusyOff();
             yield break;
         }
         BusyOff();
         if (getOrderRequest.Result.IsNotNull()) {
             Shell.Value.CloseOverlays();
             Events.Value.Publish(new EventShowSample() { Sample = getOrderRequest.Result.Clone(), RegionDetail = SamplesRegionDetail.Tests });
         }
     }
 }
 public IEnumerable<IResult> SchedulerShowRecord(object sender, EventArgs e)
 {
     AppAppointment showApp = ((AppointmentItemProxy)sender).Appointment as AppAppointment;
     if (showApp != null) {
         if (showApp.RecordSource.IsNotNull() && showApp.RecordId.IsNotNull()) {
             switch ((ModelNamesEnum)showApp.RecordSource) {
                 case ModelNamesEnum.User:
                     break;
                 case ModelNamesEnum.Client:
                     if (AppLib.IsAuthorized(SysLib.GetOptionName(ModuleNames.Clients), true)) {
                         BusyOn("Loading Client...");
                         GetClientRequest getClientRequest = new GetClientRequest((int)showApp.RecordId);
                         yield return getClientRequest;
                         if (getClientRequest.Error != null) {
                             yield return new HandleExceptionResult(getClientRequest.Error);
                             BusyOff();
                             yield break;
                         }
                         BusyOff();
                         if (getClientRequest.Result.IsNotNull()) {
                             CloseNotification();
                             Events.Value.Publish(new EventShowClient());
                             Events.Value.Publish(new EventLoadClient() { Client = getClientRequest.Result });
                         }
                     }
                     break;
                 case ModelNamesEnum.Role:
                     break;
                 case ModelNamesEnum.Contact:
                     break;
                 case ModelNamesEnum.Address:
                     break;
                 case ModelNamesEnum.Note:
                     break;
                 case ModelNamesEnum.Price:
                     break;
                 case ModelNamesEnum.Priority:
                     break;
                 case ModelNamesEnum.Complaint:
                     break;
                 case ModelNamesEnum.Order:
                     if (AppLib.IsAuthorized(SysLib.GetOptionName(ModuleNames.Samples), true)) {
                         BusyOn("Loading Order...");
                         GetSampleRequest getOrderRequest = new GetSampleRequest((int)showApp.RecordId);
                         yield return getOrderRequest;
                         if (getOrderRequest.Error != null) {
                             yield return new HandleExceptionResult(getOrderRequest.Error);
                             BusyOff();
                             yield break;
                         }
                         BusyOff();
                         if (getOrderRequest.Result.IsNotNull()) {
                             CloseNotification();
                             Events.Value.Publish(new EventShowSample() { Sample = getOrderRequest.Result });
                         }
                     }
                     break;
                 case ModelNamesEnum.Sample:
                     break;
                 default:
                     break;
             }
         }
     }
 }
        public IEnumerable<IResult> ViewOrder(object source, RoutedEventArgs args)
        {
            if (AppLib.IsAuthorized(SysLib.GetOptionName(ModuleNames.Samples), true))
            {
                BusyOn("Loading Order...");

                var request = new GetSampleRequest((source as Order).Id.Value);
                yield return request;

                if (request.Error != null)
                {
                    yield return new HandleExceptionResult(request.Error);
                    BusyOff();
                    yield break;
                }

                BusyOff();

                //if (request.Result.IsNotNull())
                //{
                    //Shell.Value.CloseOverlays();
                    //Events.Value.Publish(new EventShowOrder() { Order = request.Result.Clone(), RegionDetail = OrdersRegionDetail.Samples });
                //}
            }
        }