コード例 #1
0
        public bool Edit(AmigoViewModel amigo, Guid id)
        {
            ValidationResult _result = new AmigoValidation().Validate(amigo);

            if (!_result.IsValid)
            {
                throw new ApiException(_result.GetErrors(), ApiErrorCodes.MODNOTVALD);
            }

            Amigo _amigo = _repository.GetById(id);

            if (_amigo == null)
            {
                throw new ApiException(ApiErrorCodes.INVAMIGO);
            }

            _amigo = _mapper.Map(amigo, _amigo);

            _repository.Update(_amigo);

            if (!_uow.Commit())
            {
                throw new ApiException(ApiErrorCodes.ERROPBD);
            }

            return(true);
        }
コード例 #2
0
        public void Update(AmigoViewModel amigoViewModel)
        {
            var amigo = _mapper.Map <AmigoViewModel, Amigo>(amigoViewModel);

            _amigoRepository.Update(amigo);
            _amigoRepository.SaveChanges();
        }
コード例 #3
0
        public bool Create(AmigoViewModel amigo, Guid usuarioId)
        {
            if (!_repositoryUsuario.ExistsWithId(usuarioId))
            {
                throw new ApiException(ApiErrorCodes.INVUSU);
            }

            ValidationResult _result = new AmigoValidation().Validate(amigo);

            if (!_result.IsValid)
            {
                throw new ApiException(_result.GetErrors(), ApiErrorCodes.MODNOTVALD);
            }

            Amigo _amigo = _mapper.Map <Amigo>(amigo);

            _amigo.SetCreatorId(usuarioId);

            _repository.Create(_amigo);

            if (!_uow.Commit())
            {
                throw new ApiException(ApiErrorCodes.ERROPBD);
            }

            return(true);
        }
コード例 #4
0
        public ActionResult Cadastrar(AmigoViewModel dadosTela)
        {
            //Tomar cuidado com validações em JavaScript, se o usuário estiver mal intencionado ele vai desativar
            //O JavaScript (Para todas as validações) e o cara vai burlar e vai conseguir dar um POST
            //Temos que bloquear a execução caso algum campo esteja inválido
            //E no ModelState que ficam quais campos foram preenchidos e inclusive as mensagens
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("HACKER", "Então você quer dar uma de Hacker seu puto?");
                return(View());
            }

            var amigoTabela = Mapper.Map <AmigoViewModel, Amigo>(dadosTela);

            _servicoAmigo.CadastrarAmigo(amigoTabela);
            _servicoAmigo.PesquisarAmigos()

            //Temos duas formas de mandar os dados pra tela as duarmas formas sao temporarias
            //ViewBag - Pra mandar informações pra propria tela
            //Se escreveu Return View() = Viewbag

            //TempData - Pra mandar informações pra outra tela
            //Se escreveu RedirectionToAction() = TempData

            TempData.Add("Sucesso", "Cadastrado com sucesso");
            return(RedirectToAction("Listar"));
        }
コード例 #5
0
        public void AmigoController_AdicionarAmigoComSucesso()
        {
            //Arrange
            var amigoViewModel        = new AmigoViewModel();
            var registrarAmigoCommand = new RegistrarAmigoCommand("Amigo mocado", "*****@*****.**", Guid.NewGuid());

            _mapper.Setup(a => a.Map <RegistrarAmigoCommand>(amigoViewModel)).Returns(registrarAmigoCommand);

            _mockedAmigoAppService = new AmigoAppService(_mediatrHandler.Object, new Mock <IAmigoRepository>().Object, _mapper.Object, _mockedUser.Object);

            var amigoController = new AmigoController(
                _mockedAmigoAppService,
                _mockedUser.Object,
                _domainNotificationHandler.Object,
                _mediatrHandler.Object)
            {
                TempData = new TempDataDictionary(new Mock <HttpContext>().Object, new Mock <ITempDataProvider>().Object)
            };

            //Act
            var result = amigoController.Create(amigoViewModel);

            //Assert
            Assert.IsType <RedirectToActionResult>(result);
            Assert.Matches("Index", ((RedirectToActionResult)result).ActionName);
        }
コード例 #6
0
        public List <AmigoViewModel> DemonstraAmigos()
        {
            try
            {
                db.ClearParameters();

                String cmd = "SELECT * FROM dbo.Amigo";

                DataTable             dt        = db.ExecuteR(System.Data.CommandType.Text, cmd);
                List <AmigoViewModel> lstAmigos = new List <AmigoViewModel>();

                foreach (DataRow dr in dt.Rows)
                {
                    AmigoViewModel Amigos = new AmigoViewModel();
                    Amigos.ID_Amigo = Convert.ToInt32(dr["ID_Amigo"]);
                    Amigos.NM_Amigo = Convert.ToString(dr["NM_Amigo"]);

                    lstAmigos.Add(Amigos);
                }

                return(lstAmigos);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
コード例 #7
0
        public HttpResponseMessage ManterAmigo(AmigoViewModel model)
        {
            try
            {
                if (model != null)
                {
                    var amigo = Mapper.Map <AmigoViewModel, Amigo>(model);

                    if (amigo.AmigoId > 0)
                    {
                        var amigoBD = _amigoService.RecuperarPorId(amigo.AmigoId);
                        amigoBD.Nome     = model.Nome;
                        amigoBD.Apelido  = model.Apelido;
                        amigoBD.Telefone = model.Telefone;
                        amigoBD.Email    = model.Email;

                        _amigoService.Atualizar(amigoBD);
                    }
                    else
                    {
                        amigo.Ativo = true;
                        _amigoService.Adicionar(amigo);
                    }
                }

                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK);
                return(response);
            }
            catch (Exception ex)
            {
                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message);
                return(response);
            }
        }
コード例 #8
0
        public AmigoViewModel GetAmigoById(int id)
        {
            try
            {
                db.ClearParameters();
                db.AddParameters("@Id", id);

                String cmd = "SELECT * FROM dbo.Amigo WHERE ID_Amigo = @Id";

                DataTable      dt     = db.ExecuteR(System.Data.CommandType.Text, cmd);
                AmigoViewModel amigos = null;

                foreach (DataRow dr in dt.Rows)
                {
                    AmigoViewModel _amigo = new AmigoViewModel();
                    _amigo.ID_Amigo = Convert.ToInt32(dr["ID_Amigo"]);
                    _amigo.NM_Amigo = Convert.ToString(dr["NM_Amigo"]);

                    amigos = _amigo;
                }

                return(amigos);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
コード例 #9
0
        public AmigoViewModel Adicionar(AmigoViewModel obj)
        {
            var mappedModel = Mapper.Map <AmigoViewModel, Amigo>(obj);

            var addedModel = _service.Adicionar(mappedModel);

            return(Mapper.Map <Amigo, AmigoViewModel>(addedModel));
        }
コード例 #10
0
        public RedirectToRouteResult Cadastrar(AmigoViewModel dadosTela)
        {
            var dadosTabela = TypeAdapter.Adapt <AmigoViewModel, AmigoDTO>(dadosTela);

            _negocio.Cadastrar(dadosTabela);

            return(RedirectToAction("Listar"));
        }
コード例 #11
0
        public RedirectToRouteResult Cadastrar(AmigoViewModel model)
        {
            var amigo = TypeAdapter.Adapt <AmigoViewModel, AmigoDTO>(model);

            _amigoBusiness.Cadastrar(amigo);

            return(RedirectToAction("Listar"));
        }
コード例 #12
0
        public AmigoViewModel Atualizar(AmigoViewModel obj)
        {
            var mappedModel = Mapper.Map <AmigoViewModel, Amigo>(obj);

            var updateModel = _service.Atualizar(mappedModel);

            return(Mapper.Map <Amigo, AmigoViewModel>(updateModel));
        }
コード例 #13
0
        public ActionResult Editar(AmigoViewModel dadosTela)
        {
            var amigoTabela = Mapper.Map <AmigoViewModel, Amigo>(dadosTela);

            _servicoAmigo.AtualizarAmigo(amigoTabela);

            TempData.Add("Sucesso", "Alterado com sucesso");
            return(RedirectToAction("Listar"));
        }
コード例 #14
0
        public IActionResult Put([FromBody] AmigoViewModel model)
        {
            if (!ModelState.IsValid)
            {
                NotificarErroModelInvalida();
                return(View(model));
            }

            return(Response(model));
        }
コード例 #15
0
        public ActionResult Create(AmigoViewModel amigo)
        {
            if (ModelState.IsValid)
            {
                r.CriarAmigo(amigo);
                return(RedirectToAction("Index"));
            }

            return(View(amigo));
        }
コード例 #16
0
        public ActionResult Edit(AmigoViewModel amigoViewModel)
        {
            if (ModelState.IsValid)
            {
                _amigoAppService.Update(amigoViewModel);
                return(RedirectToAction("Index"));
            }

            return(View());
        }
コード例 #17
0
        public async Task <IActionResult> Edit([Bind("ID,Nome")] AmigoViewModel amigo)
        {
            if (ModelState.IsValid)
            {
                await _context.SalvarAsync(_mapper.Map <Amigo>(amigo));

                return(RedirectToAction(nameof(Index)));
            }
            return(View(amigo));
        }
コード例 #18
0
        public ActionResult Edit(AmigoViewModel amigo)
        {
            if (ModelState.IsValid)
            {
                r.UpdateAmigo(amigo);
                return(RedirectToAction("Index"));
            }

            return(View(amigo));
        }
コード例 #19
0
        public async Task <ActionResult <AmigoViewModel> > Adicionar(AmigoViewModel amigoViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            await _amigoService.Adicionar(_mapper.Map <Amigo>(amigoViewModel));

            return(CustomResponse(amigoViewModel));
        }
コード例 #20
0
        public async Task <AmigoViewModel> Edit(AmigoViewModel model)
        {
            var amigoUrl = API.Amigo.PutAmigo(_enderecoRemoto);

            var authorizationToken = await GetUserTokenAsync();

            var response = await _apiClient.PutAsync(amigoUrl, model, authorizationToken);

            response.EnsureSuccessStatusCode();

            return(model);
        }
コード例 #21
0
        public IActionResult Post([FromBody] AmigoViewModel model)
        {
            if (!ModelState.IsValid)
            {
                NotificarErroModelInvalida();
                return(View(model));
            }

            _amigoAppService.Adicionar(model);

            return(Response(model));
        }
コード例 #22
0
        public IActionResult Create(AmigoViewModel amigo)
        {
            if (!Request.Headers.TryGetValue(ControllersConstants.UsuarioId, out StringValues uId) ||
                !Guid.TryParse(uId, out Guid usuarioId))
            {
                throw new ApiException(ApiErrorCodes.INVUSU);
            }

            bool _result = _service.Create(amigo, usuarioId);

            return(Ok(_result));
        }
コード例 #23
0
        public ActionResult Edit([Bind(Include = "AmigoId,Nome,Sobrenome,Apelido")] AmigoViewModel amigoVm)
        {
            if (ModelState.IsValid)
            {
                var amigo   = Mapper.Map <Amigo>(amigoVm);
                var usuario = UsuarioBusiness.ConsultaUsuario(User.Identity.Name);
                amigo.UsuarioId = usuario.UsuarioId;
                AmigoBusiness.Salvar(amigo);
                return(RedirectToAction("Index"));
            }

            return(View(amigoVm));
        }
コード例 #24
0
        public ActionResult Visualizar(int codigo)
        {
            AmigoViewModel modelVM = new AmigoViewModel();

            var model = _amigoService.RecuperarPorId(codigo);

            if (model != null)
            {
                modelVM = Mapper.Map <Amigo, AmigoViewModel>(model);
            }

            return(View(modelVM));
        }
コード例 #25
0
        public IActionResult Create(AmigoViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }
            _appService.Register(viewModel);

            if (IsValidOperation())
            {
                ViewBag.Sucesso = "Jogo Incluido!";
            }

            return(View(viewModel));
        }
コード例 #26
0
        public ActionResult Cadastrar()
        {
            var sexosTabela = _servicoAmigo.ListarSexo();
            var civisTabela = _servicoAmigo.ListarCivis();

            //Ligamos o processo de conversao do AutoMapper
            var sexoTela  = Mapper.Map <IEnumerable <Sexo>, IEnumerable <SexoViewModel> >(sexosTabela);
            var civisTela = Mapper.Map <IEnumerable <EstadoCivil>, IEnumerable <EstadoCivilViewModel> >(civisTabela);

            //Pra poder descer os dados pra tela (Listas) metodo que substitui o ViewBag
            var amigoTela = new AmigoViewModel();

            amigoTela.ListaSexos = new SelectList(sexosTabela, "Codigo", "Descricao");
            amigoTela.ListaCivis = new SelectList(civisTabela, "Codigo", "Descricao");
            return(View(amigoTela));
        }
コード例 #27
0
        public IActionResult Edit(AmigoViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            _appService.Update(viewModel);

            if (IsValidOperation())
            {
                ViewBag.Sucesso = "Jogo Salvo!";
            }

            return(View(viewModel));
        }
コード例 #28
0
        public ActionResult Edit(AmigoViewModel model)
        {
            if (!ModelState.IsValid)
            {
                NotificarErroModelInvalida();
                return(View(model));
            }

            _amigoAppService.Atualizar(model);

            TempData["RetornoPost"] = OperacaoValida()
                ? "success,Amigo atualizado com sucesso!"
                : "error,Amigo não atualizado! Verifique as mensagens";

            return(RedirectToAction(nameof(Index)));
        }
コード例 #29
0
        public async Task Amigo_RealizarCadastro_DeveExecutarComSucesso()
        {
            // Arrange
            AmigoViewModel _amigo = _testsFixture.GerarAmigoValido();
            await _testsFixture.RealizarLogin(_testsFixture.GetLoginValido());

            _testsFixture.Client.AtribuirToken(_testsFixture.UsuarioToken);
            _testsFixture.Client.AtribuirUsuarioId(_testsFixture.UsuarioId.ToString());

            // Act
            HttpResponseMessage _response = await _testsFixture.Client.PostAsync(_baseEndpoint, new StringContent(ExtensionMethodHelpers.ToJson(_amigo),
                                                                                                                  Encoding.UTF8,
                                                                                                                  "application/json"));

            // Assert
            _response.EnsureSuccessStatusCode();
        }
コード例 #30
0
        public async Task <ActionResult <AmigoViewModel> > Atualizar(Guid id, [FromBody] AmigoViewModel amigoViewModel)
        {
            if (id != amigoViewModel.AmigoId)
            {
                NotificarErro("O id informado não é o mesmo que foi passado");
                return(CustomResponse(amigoViewModel));
            }

            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            await _amigoService.Atualizar(_mapper.Map <Amigo>(amigoViewModel));

            return(CustomResponse(amigoViewModel));
        }