Ejemplo n.º 1
0
        public HttpResponseMessage PostMensalidade(ReceitasViewModel receitasViewModel)
        {
            var cache = Configuration.CacheOutputConfiguration().GetCacheOutputProvider(Request);

            cache.RemoveStartsWith(Configuration.CacheOutputConfiguration().MakeBaseCachekey((ClienteController c) => c.GetClientes()));

            DateTime today = DateTime.Today;

            receitasViewModel.SubCategoriaFinanceiraId = new Guid("0d57c87d-3bd9-420b-ab98-123fdb75a269");
            receitasViewModel.CategoriaFinanceiraId    = new Guid("1c1278df-f5a5-4407-a0c4-bdbb71c362b1");
            receitasViewModel.DataEmissao    = DateTime.Now;
            receitasViewModel.DataVencimento = new DateTime(today.Year, today.Month, 10);
            if (ModelState.IsValid)
            {
                var result = _receitasApp.AddMensalidade(receitasViewModel);

                if (!result.IsValid)
                {
                    foreach (var validationAppError in result.Erros)
                    {
                        ModelState.AddModelError(string.Empty, validationAppError.Message);
                    }
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
                }
                return(Request.CreateResponse(HttpStatusCode.Created, receitasViewModel));
            }
            return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
        }
Ejemplo n.º 2
0
        public ValidationAppResult AddMensalidade(ReceitasViewModel receitasViewModel)
        {
            var mensalidade = Mapper.Map <ReceitasViewModel, Receitas>(receitasViewModel);

            BeginTransaction();

            var result = _receitasService.AddMensalidade(mensalidade);

            if (!result.IsValid)
            {
                return(DomainToApplicationResult(result));
            }

            //Atualiza situacao do cliente caso a mensalidade que esta sendo paga se refere ao mês atual
            var today = DateTime.Now;

            if (receitasViewModel.MesReferencia >= today.Month && receitasViewModel.AnoReferencia >= today.Year && receitasViewModel.DataPagamento != null)
            {
                var cliente = _clienteService.GetByIdMensalidade(receitasViewModel.ClienteId);
                if (cliente.IsAtivo)
                {
                    cliente.Situacao = "Regular";
                    _clienteService.Update(cliente);

                    _logSistemaService.AddLog("Cliente", cliente.ClienteId, "Update", "Alteração da situacao para: REGULAR. Adicionado mensalidade: " + mensalidade.ReceitasId);
                }
            }

            _logReceitasDespesasService.AddLog("Cadastro", GetLog(mensalidade));

            Commit();

            return(DomainToApplicationResult(result));
        }
        public void Put_DeveAtualizarInformacaoSolicitada()
        {
            var receitasCadastradas = cadastrarReceitas();

            var context = CreateTestContext();

            context.AddRange(receitasCadastradas);
            context.SaveChanges();

            var receitaViewModel = new ReceitasViewModel()
            {
                Title       = "Tgas",
                Description = "Isso é um teste",
            };
            var controller = new ReceitasController(context);
            var result     = controller.Put(2, receitaViewModel);

            var receitas = result.Value;

            receitas
            .Title
            .Should()
            .Be(receitaViewModel.Title);

            receitas
            .Description
            .Should()
            .Be(receitaViewModel.Description);
        }
Ejemplo n.º 4
0
        public ValidationAppResult UpdateMensalidade(ReceitasViewModel mensalidadeViewModel)
        {
            var mensalidade = Mapper.Map <ReceitasViewModel, Receitas>(mensalidadeViewModel);

            BeginTransaction();

            var result = _receitasService.AddMensalidade(mensalidade);

            if (!result.IsValid)
            {
                return(DomainToApplicationResult(result));
            }

            Commit();


            BeginTransaction();
            //Verifica se existe alguma mensalidade com mes e ano maior ou igual a data atual
            var  today             = DateTime.Now;
            bool existeMensalidade = false;
            var  cliente           = _clienteService.GetByIdMensalidade(mensalidadeViewModel.ClienteId);

            foreach (var mensalidades in GetMensalidadesCliente(mensalidadeViewModel.ClienteId))
            {
                if (mensalidades.MesReferencia >= today.Month && mensalidades.AnoReferencia >= today.Year)
                {
                    existeMensalidade = true;
                }
            }
            if (cliente.IsAtivo)
            {
                if (existeMensalidade && cliente.Situacao != "Regular" && mensalidade.DataPagamento != null)
                {
                    cliente.Situacao = "Regular";
                    _clienteService.Update(cliente);
                    _logSistemaService.AddLog("Cliente", cliente.ClienteId, "Update",
                                              "Alteração da situacao para: REGULAR. Atualizado mensalidade: " + mensalidade.ReceitasId);
                }
                else if ((!existeMensalidade && cliente.Situacao != "Pendente"))
                {
                    cliente.Situacao = "Pendente";
                    _clienteService.Update(cliente);
                    _logSistemaService.AddLog("Cliente", cliente.ClienteId, "Update",
                                              "Alteração da situacao para: PENDENTE. Atualizado mensalidade: " + mensalidade.ReceitasId);
                }
                else if (existeMensalidade && mensalidade.DataPagamento == null)  //Existe mensalidade mas não existe data de pagamento (não está quitado) - status para pendente
                {
                    cliente.Situacao = "Pendente";
                    _clienteService.Update(cliente);
                    _logSistemaService.AddLog("Cliente", cliente.ClienteId, "Update",
                                              "Alteração da situacao para: PENDENTE. Atualizado mensalidade: " + mensalidade.ReceitasId);
                }
            }

            _logReceitasDespesasService.AddLog("Cadastro", GetLog(mensalidade));
            Commit();

            return(DomainToApplicationResult(result));
        }
Ejemplo n.º 5
0
 public HttpResponseMessage Put(ReceitasViewModel receitasViewModel)
 {
     if (ModelState.IsValid)
     {
         _receitasApp.Update(receitasViewModel);
         return(Request.CreateResponse(HttpStatusCode.Created, "Update efetuado com sucesso!"));
     }
     return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
 }
Ejemplo n.º 6
0
        public ActionResult Minhasreceitas()
        {
            ReceitasViewModel vm = new ReceitasViewModel()
            {
                GetReceitas = _repositorio.ListarTodasReceitasPorUsuario(AccountRepositorio.RetornaIdUsuarioLogado())
            };

            return(View(vm));
        }
Ejemplo n.º 7
0
        public HttpResponseMessage Post(ReceitasViewModel receitasViewModel)
        {
            if (ModelState.IsValid)
            {
                _receitasApp.Add(receitasViewModel);

                return(Request.CreateResponse(HttpStatusCode.Created, receitasViewModel));
            }
            return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
        }
Ejemplo n.º 8
0
        public void Update(ReceitasViewModel receitasViewModel)
        {
            var receita = Mapper.Map <ReceitasViewModel, Receitas>(receitasViewModel);

            BeginTransaction();
            _receitasService.Add(receita);

            //Log
            _logReceitasDespesasService.AddLog("Cadastro", GetLog(receita));
            Commit();
        }
Ejemplo n.º 9
0
        public HttpResponseMessage PostAvaliacaoFisica(ReceitasViewModel receitasViewModel)
        {
            receitasViewModel.SubCategoriaFinanceiraId = new Guid("ecaac024-15bd-4ee0-8422-07d809bb1be9");
            receitasViewModel.CategoriaFinanceiraId    = new Guid("1c1278df-f5a5-4407-a0c4-bdbb71c362b1");
            if (ModelState.IsValid)
            {
                _receitasApp.Add(receitasViewModel);

                return(Request.CreateResponse(HttpStatusCode.Created, receitasViewModel));
            }
            return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
        }
Ejemplo n.º 10
0
        public void Add(ReceitasViewModel receitasViewModel)
        {
            var receita = Mapper.Map <ReceitasViewModel, Receitas>(receitasViewModel);

            BeginTransaction();
            receita.DataEmissao = DateTime.Now;
            _receitasService.Add(receita);

            ////Log
            _logReceitasDespesasService.AddLog("Cadastro", GetLog(receita));
            Commit();
        }
        public void Insert_DeveLancarUmaExeption()
        {
            var receitaViewModel = new ReceitasViewModel()
            {
                Title       = "Tesfzjsgfhzjsgfzkjas",
                Description = "Isso é um teste",
                Preparation = "Coxinha",
                Ingredients = "Teste1",
                ImageUrl    = "urlimagem"
            };
            var context    = CreateTestContext();
            var controller = new ReceitasController(context);

            Action act = () => controller.Post(receitaViewModel);

            act.Should().Throw <Exception>()
            .WithMessage("Erro");
        }
Ejemplo n.º 12
0
        public HttpResponseMessage PutMensalidade(ReceitasViewModel receita)
        {
            var cache = Configuration.CacheOutputConfiguration().GetCacheOutputProvider(Request);

            cache.RemoveStartsWith(Configuration.CacheOutputConfiguration().MakeBaseCachekey((ClienteController c) => c.GetClientes()));

            if (ModelState.IsValid)
            {
                var result = _receitasApp.UpdateMensalidade(receita);

                if (!result.IsValid)
                {
                    foreach (var validationAppError in result.Erros)
                    {
                        ModelState.AddModelError(string.Empty, validationAppError.Message);
                    }
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
                }
                return(Request.CreateResponse(HttpStatusCode.Created, receita));
            }
            return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
        }
        public void Put_DeveLancarUmaExeption()
        {
            var receitasCadastradas = cadastrarReceitas();

            var context = CreateTestContext();

            context.AddRange(receitasCadastradas);
            context.SaveChanges();

            var receitaViewModel = new ReceitasViewModel()
            {
                Title       = "Tesfzjsgfhzjsgffdszkjas",
                Description = "Isso é um teste",
                Preparation = "Coxinha",
                Ingredients = "Teste1",
                ImageUrl    = "urlimagem"
            };
            var controller = new ReceitasController(context);

            Action act = () => controller.Put(2, receitaViewModel);

            act.Should().Throw <Exception>()
            .WithMessage("Erro");
        }
        public void Insert_DeveInserirReceitaSolicitada()
        {
            var receitaViewModel = new ReceitasViewModel()
            {
                Title       = "Testaaaaabhnnfyhthyte",
                Description = "Isso é um teste",
                Preparation = "Coxinha",
                Ingredients = "Teste1",
                ImageUrl    = "urlimagem"
            };
            var context    = CreateTestContext();
            var controller = new ReceitasController(context);

            var result      = controller.Post(receitaViewModel);
            var receitaPost = result.Value;

            receitaPost
            .Should()
            .BeEquivalentTo(receitaViewModel, c => c.Excluding(r => r.Id));

            var receitaDoBanco = context.Receitas.FirstOrDefault(receita => receita.Id == receitaPost.Id);

            receitaDoBanco.Should().NotBeNull("Porque ela deve ser existente no banco de dados.");
        }