private async Task ImportHardwareAsync(InputFileChangeEventArgs e)
        {
            if (!e.File.ContentType.Equals("text/xml", StringComparison.OrdinalIgnoreCase))
            {
                return;
            }

            var buffer = new byte[e.File.Size];

            using (var stream = e.File.OpenReadStream())
            {
                await stream.ReadAsync(buffer);
            }

            var file = new FileModel
            {
                FileName    = e.File.Name,
                ContentType = e.File.ContentType,
                Content     = buffer,
                Size        = e.File.Size
            };

            await HttpClient.PostJsonAsync($"/api/hardware/import/{Id}", file);

            Contract = await HttpClient.GetFromJsonAsync <ContractDetailVm>($"api/contract/{Id}");
        }
Beispiel #2
0
        public ContractDetail()
        {
            InitializeComponent();

            _viewModel = new ContractDetailVm();

            BindingContext = _viewModel;
        }
        private async Task AddHardware()
        {
            var parameters = new ModalParameters();

            parameters.Add("ContractId", Id);

            var modalForm = Modal.Show <AddHardwareModal>("Новое оборудование", parameters);
            var result    = await modalForm.Result;

            if (!result.Cancelled)
            {
                Contract = await HttpClient.GetFromJsonAsync <ContractDetailVm>($"api/contract/{Id}");
            }
        }
        private async Task EditSoftware(int id)
        {
            var software = await HttpClient.GetFromJsonAsync <SoftwareDto>($"api/software/{id}");

            var parameters = new ModalParameters();

            parameters.Add("Software", software);

            var modalWindow = Modal.Show <UpdateSoftwareModal>("Редактирование ПО", parameters);

            var result = await modalWindow.Result;

            if (!result.Cancelled)
            {
                Contract = await HttpClient.GetFromJsonAsync <ContractDetailVm>($"api/contract/{Id}");
            }
        }
        private async Task EditHardware(int id)
        {
            var options = new JsonSerializerOptions {
                Converters = { new HardwareConverter() }
            };

            var hardware = await HttpClient.GetFromJsonAsync <HardwareVm>($"api/hardware/{id}", options);

            var parameters = new ModalParameters();

            parameters.Add("Hardware", hardware);

            var modalWindow = Modal.Show <UpdateHardwareModal>("Редактирование оборудования", parameters);

            var result = await modalWindow.Result;

            if (!result.Cancelled)
            {
                Contract = await HttpClient.GetFromJsonAsync <ContractDetailVm>($"api/contract/{Id}");
            }
        }
        protected override async Task OnParametersSetAsync()
        {
            var client = HttpClientFactory.CreateClient("ServerAPI.NonAuthorized");

            Contract = await client.GetFromJsonAsync <ContractDetailVm>($"api/contract/{Id}");
        }
        private async Task DeleteSoftware(int id)
        {
            await HttpClient.DeleteAsync($"api/software/{id}");

            Contract = await HttpClient.GetFromJsonAsync <ContractDetailVm>($"api/contract/{int.Parse(Id)}");
        }