public async Task <HttpRequestResult <PackingListViewInfoModel> > ValidClosePackingListAccessory(ValidClosePackingListAccessoryModel model) { return(await PostAsyncReceiveData <PackingListViewInfoModel, ValidClosePackingListAccessoryModel>( $"{ApiController}/valid-close-packing-list-accessory", model)); }
private async void ExecuteClosePackingListAccessory(ValidClosePackingListAccessoryModel model) { await _popupNavigation.PushAsync(new LoadingPopupPage()); var packingListViewInfo = await _boardingAccessoryService.ValidClosePackingListAccessory(model); if (packingListViewInfo.Response != null && packingListViewInfo.Response.Valid) { packingListViewInfo = await _boardingAccessoryService.ClosePackingListAccessory(Model.PackingListViewInfo.Id, new MacAddressModel(_wifiService.MacAddress)); await _popupNavigation.PopAllAsync(); if (packingListViewInfo.Response != null && packingListViewInfo.Response.Valid) { await _notificationService.NotifyAsync("Romaneio fechado.", SoundEnum.Alert); await NavigationService.GoBackAsync(); } else { var msg = ((packingListViewInfo.Response != null && !packingListViewInfo.Response.Valid) ? packingListViewInfo.Response.ExceptionMessage : "Não foi possivel completar a requisição."); await _notificationService.NotifyAsync(msg, SoundEnum.Erros); } } else if (packingListViewInfo.Response != null && !packingListViewInfo.Response.Valid) { await _popupNavigation.PopAllAsync(); switch (packingListViewInfo.Response.ExceptionCode) { case ExceptionCodeEnum.ExistsPacksUnread: await _notificationService.NotifyAsync(packingListViewInfo.Response.ExceptionMessage, SoundEnum.Alert); var ignoreBillOfLadings = model.IgnoreBillOfLadings.ToList(); ignoreBillOfLadings.Add(packingListViewInfo.Response.BillOfLadingId); ClosePackingListAccessory(new ValidClosePackingListAccessoryModel(model.PackingListAccessoryId, model.IgnoreAmountSealsSuperior, ignoreBillOfLadings, model.MacAddress)); break; case ExceptionCodeEnum.AmountSealsInferior: if (await _notificationService.AskQuestionAsync(packingListViewInfo.Response.ExceptionMessage, SoundEnum.Alert)) { await NavigationService.NavigateAsync("MaintenanceSealsInputPage", new NavigationParameters() { { "Title", "Solicitação" }, { "MaintenanceSealsInputModel", new MaintenanceSealsInputModel() { OnlyConference = false, PackingListAccessoryId = model.PackingListAccessoryId, TransportAccessoryDoors = packingListViewInfo.Response.TransportAccessoryDoors } }, { "CallBackData", new Dictionary <string, object>() { { "Model", model } } } } ); } break; case ExceptionCodeEnum.PackinglistAccessoryEmpty: await _notificationService.NotifyAsync(packingListViewInfo.Response.ExceptionMessage, SoundEnum.Alert); packingListViewInfo = await _boardingAccessoryService.DeletePackingListAccessory(Model.PackingListViewInfo.Id); if (packingListViewInfo.Response != null && !packingListViewInfo.Response.Valid) { await _notificationService.NotifyAsync(packingListViewInfo.Response.ExceptionMessage, SoundEnum.Erros); } break; default: await _notificationService.NotifyAsync(packingListViewInfo.Response.ExceptionMessage, SoundEnum.Erros); break; } } else { await _popupNavigation.PopAllAsync(); await _notificationService.NotifyAsync("A requisição não pode ser completada.", SoundEnum.Erros); } }