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)); }
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); }
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)); }
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)); }
public ActionResult Minhasreceitas() { ReceitasViewModel vm = new ReceitasViewModel() { GetReceitas = _repositorio.ListarTodasReceitasPorUsuario(AccountRepositorio.RetornaIdUsuarioLogado()) }; return(View(vm)); }
public HttpResponseMessage Post(ReceitasViewModel receitasViewModel) { if (ModelState.IsValid) { _receitasApp.Add(receitasViewModel); return(Request.CreateResponse(HttpStatusCode.Created, receitasViewModel)); } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); }
public void Update(ReceitasViewModel receitasViewModel) { var receita = Mapper.Map <ReceitasViewModel, Receitas>(receitasViewModel); BeginTransaction(); _receitasService.Add(receita); //Log _logReceitasDespesasService.AddLog("Cadastro", GetLog(receita)); Commit(); }
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)); }
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"); }
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."); }