public override async Task SaveChanges()
        {
            var newItems = GetItemsBy(ObjectState.New);

            foreach (var newItem in newItems)
            {
                var solicitacaoDeCadastroDeFabricante = new SolicitacaoDeCadastroDeFabricante
                {
                    Id    = newItem.Id,
                    Nome  = newItem.Nome,
                    Marca = newItem.Marca,
                    Site  = newItem.Site,
                };

                try
                {
                    var resposta = await cadastroDeFabricantes.CadastraFabricante(solicitacaoDeCadastroDeFabricante);

                    SetStatus($"Novo fabricante '{resposta.Id}' cadastrado com sucesso.");
                }
                catch (Exception ex)
                {
                    SetStatus(ex.Message);
                }
            }

            //

            var modifiedItems = GetItemsBy(ObjectState.Modified);

            foreach (var modifiedItem in modifiedItems)
            {
                var solicitacaoDeCadastroDeFabricante = new SolicitacaoDeCadastroDeFabricante
                {
                    Id    = modifiedItem.Id,
                    Nome  = modifiedItem.Nome,
                    Marca = modifiedItem.Marca,
                    Site  = modifiedItem.Site,
                };

                try
                {
                    var resposta = await cadastroDeFabricantes.AtualizaFabricante(modifiedItem.Id, solicitacaoDeCadastroDeFabricante);

                    SetStatus($"Fabricante '{resposta.Id}' atualizado com sucesso.");
                }
                catch (Exception ex)
                {
                    SetStatus(ex.Message);
                }
            }

            //

            var deletedItems = GetItemsBy(ObjectState.Deleted);

            foreach (var deletedItem in deletedItems)
            {
                try
                {
                    await cadastroDeFabricantes.ExcluiFabricante(deletedItem.Id);

                    SetStatus($"Fabricante '{deletedItem.Id}' excluído com sucesso.");
                }
                catch (Exception ex)
                {
                    SetStatus(ex.Message);
                }
            }
        }
Exemple #2
0
        public async Task <IRespostaDeCadastroDeFabricante> Post(SolicitacaoDeCadastroDeFabricante solicitacao)
        {
            var resposta = await cadastroDeFabricantes.CadastraFabricante(solicitacao);

            return(resposta);
        }