public IActionResult Create(Doadora doadora) { _animalRepository.Salvar(doadora); var doadoraId = doadora.Id; //Realiza a inclusão se existirem itens if (doadora.DoadoraProprietariosJson != null) { //Processo de inclusão de itens List <DoadoraProprietario> lista = JsonConvert.DeserializeObject <List <DoadoraProprietario> >(doadora.DoadoraProprietariosJson); if (lista.Count > 0) { for (int i = 0; i < lista.Count; i++) { if (lista[i].Id == 0) { DoadoraProprietario objLista = new DoadoraProprietario(); objLista.DoadoraId = doadoraId; objLista.ProprietarioId = lista[i].ProprietarioId; objLista.Data = DateTime.Now; _context.DoadoraProprietarios.Add(objLista); _context.SaveChanges(); } } } } return(RedirectToAction("Index")); }
public IActionResult Edit(Tratamento tratamento) { if (ModelState.IsValid) { _tratamentoRepository.Editar(tratamento); //Processo de inclusão de serviços if (tratamento.TratamentoServicosJson != null) { List <TratamentoServico> listaTratamentoServico = JsonConvert.DeserializeObject <List <TratamentoServico> >(tratamento.TratamentoServicosJson); for (int i = 0; i < listaTratamentoServico.Count; i++) { if (listaTratamentoServico[i].Id == 0) { TratamentoServico objTratamentoServico = new TratamentoServico(); objTratamentoServico.TratamentoId = listaTratamentoServico[i].TratamentoId; objTratamentoServico.ServicoId = listaTratamentoServico[i].ServicoId; objTratamentoServico.Valor = listaTratamentoServico[i].Valor; objTratamentoServico.Data = listaTratamentoServico[i].Data; objTratamentoServico.ValorOriginal = GetValorOriginal(listaTratamentoServico[i].ServicoId); _context.TratamentoServicos.Add(objTratamentoServico); } } } _context.SaveChanges(); return(RedirectToAction("Index")); } return(View(tratamento)); }
//[ValidateAntiForgeryToken] public IActionResult Create(Garanhao garanhao) { try { _animalGaranhaoRepository.Salvar(garanhao); var idTemp = garanhao.Id; //Realiza a inclusão se existirem itens if (garanhao.TabelaItensJson != null) { //Processo de inclusão de itens List <GaranhaoProprietario> lista = JsonConvert.DeserializeObject <List <GaranhaoProprietario> >(garanhao.TabelaItensJson); if (lista.Count > 0) { for (int i = 0; i < lista.Count; i++) { if (lista[i].Id == 0) { GaranhaoProprietario objLista = new GaranhaoProprietario(); objLista.GaranhaoId = idTemp; objLista.ProprietarioId = lista[i].ProprietarioId; objLista.Data = DateTime.Now; _context.GaranhaoProprietarios.Add(objLista); _context.SaveChanges(); } } } } } catch (Exception ex) { return(BadRequest($"Erro:n{ex.Message}")); } return(RedirectToAction("Index")); }
public ActionResult Create(Empresa empresa) { try { // TODO: Add insert logic here _context.Empresas.Add(empresa); _context.SaveChanges(); return(RedirectToAction(nameof(Index))); } catch { return(View()); } }
public IActionResult AddEndereco(int id) { //https://www.talkingdotnet.com/handle-ajax-requests-in-asp-net-core-razor-pages/ //http://binaryintellect.net/articles/16ecfe49-98df-4305-b53f-2438d836f0d0.aspx string retorno = null; { MemoryStream stream = new MemoryStream(); Request.Body.CopyTo(stream); stream.Position = 0; using (StreamReader reader = new StreamReader(stream)) { string requestBody = reader.ReadToEnd(); if (requestBody.Length > 0) { var obj = JsonConvert.DeserializeObject <ProprietarioEndereco>(requestBody); ProprietarioEndereco ObjTabela = JsonConvert.DeserializeObject <ProprietarioEndereco>(requestBody); //Verifica se o Proprietário já esta adicionado à Doadora int count = _context.ProprietarioEnderecos .Where(a => a.EnderecoTipo == ObjTabela.EnderecoTipo && a.ProprietarioId == ObjTabela.ProprietarioId).Count(); if (count == 0) { _context.ProprietarioEnderecos.Add(ObjTabela); _context.SaveChanges(); retorno = "NOVO"; return(new JsonResult(retorno)); } else { retorno = "EXISTE"; return(new JsonResult(retorno)); } } } } return(new JsonResult(retorno)); }
public ActionResult Create(Usuario usuario) { try { // TODO: Add insert logic here var keyNew = Salt.GeneratePassword(10); var password = Salt.EncodePassword(usuario.Senha, keyNew); usuario.Senha = password; usuario.Salt = keyNew; _context.Usuarios.Add(usuario); _context.SaveChanges(); return(RedirectToAction(nameof(Index))); } catch { return(View()); } }
public void Editar(Proprietario proprietario) { _webProjVetContext.Entry(proprietario).State = Microsoft.EntityFrameworkCore.EntityState.Modified; _webProjVetContext.SaveChanges(); }
public void Editar(ProprietarioEndereco proprietarioEndereco) { _context.Entry(proprietarioEndereco).State = Microsoft.EntityFrameworkCore.EntityState.Modified; _context.SaveChanges(); }
public void Editar(Receptora animal) { _webProjVetContext.Entry(animal).State = Microsoft.EntityFrameworkCore.EntityState.Modified; _webProjVetContext.SaveChanges(); }
public IActionResult Create(Faturamento faturamento) { string mes = faturamento.DataApuracao.Value.Month.ToString().PadLeft(2, '0'); string ano = faturamento.DataApuracao.Value.Year.ToString(); //string referencia = mes + "/" + ano; string referencia = faturamento.Referencia; Faturamento objFaturamento = new Faturamento(); int FaturaId = 0; //Verifica se já existe faturamento para o proprietário para o mês de referência //int FaturaId = RetornaFatura(faturamento.ProprietarioId, referencia); /* * if (FaturaId == null) * { * //Cria o registro de faturamento * * objFaturamento.ProprietarioId = faturamento.ProprietarioId; * objFaturamento.Valor = "0,00"; * objFaturamento.Situacao = FaturamentoSituacao.PENDENTE; * objFaturamento.Data = DateTime.Now; * objFaturamento.Referencia = faturamento.Referencia; * * _context.Faturamentos.Add(objFaturamento); * _context.SaveChanges(); * * FaturaId = objFaturamento.Id; * }*/ List <AnimaisServicos> listServicoProprietario = new List <AnimaisServicos>(); #region Identifica os serviços realizados para animais vinculados em Proprietários para o período. if (faturamento.ProprietarioId != 0) { listServicoProprietario = (from p in _context.Proprietarios join ap in _context.AnimaisProprietarios on p.Id equals ap.ProprietarioId join a in _context.Animais on ap.AnimaisId equals a.Id join aass in _context.AnimaisServicos on a.Id equals aass.AnimaisId where aass.Data.ToString("MM/yyyy") == referencia && p.Id == faturamento.ProprietarioId && aass.Data <= faturamento.DataApuracao && p.Situacao == Situacao.ATIVO && ap.DataAquisicao <= faturamento.DataApuracao && ap.DataValidade > faturamento.DataApuracao && aass.Faturamento == "N" && aass.ServicoSituacao == ServicoSituacao.REALIZADO select new AnimaisServicos { Id = aass.Id } ).Distinct().ToList(); } else { listServicoProprietario = (from p in _context.Proprietarios join ap in _context.AnimaisProprietarios on p.Id equals ap.ProprietarioId join a in _context.Animais on ap.AnimaisId equals a.Id join aass in _context.AnimaisServicos on a.Id equals aass.AnimaisId where aass.Data.ToString("MM/yyyy") == referencia && aass.Data <= faturamento.DataApuracao && p.Situacao == Situacao.ATIVO && ap.DataAquisicao <= faturamento.DataApuracao && ap.DataValidade > faturamento.DataApuracao && aass.Faturamento == "N" && aass.ServicoSituacao == ServicoSituacao.REALIZADO select new AnimaisServicos { Id = aass.Id } ).Distinct().ToList(); } #endregion //Inicia o processo apenas se existirem serviços lançados em animais que possuem proprietário if (listServicoProprietario.Count > 0) { foreach (var item in listServicoProprietario) { AnimaisServicos ObjAnimaisServicos = _context.AnimaisServicos.FirstOrDefault(s => s.Id == item.Id); if (listServicoProprietario.Count > 0) { //Verifica se o animal possui proprietário apto para cobrança de acordo com a data de realização do serviço. List <Proprietario> LstProprietario = (from ap in _context.AnimaisProprietarios join p in _context.Proprietarios on ap.ProprietarioId equals p.Id join a in _context.Animais on ap.AnimaisId equals a.Id join aass in _context.AnimaisServicos on a.Id equals aass.AnimaisId where aass.Id == item.Id && ap.AnimaisId == ObjAnimaisServicos.AnimaisId && p.Situacao == Situacao.ATIVO && ap.DataAquisicao <= ObjAnimaisServicos.Data && ap.DataValidade > ObjAnimaisServicos.Data && aass.Faturamento == "N" && aass.ServicoSituacao == ServicoSituacao.REALIZADO select p).ToList(); int totalProprietario = LstProprietario.Count(); //Quando o animal do serviço realizado possui mais de um proprietário realiza loop para rateio do serviço que será faturado. if (totalProprietario >= 2) { for (int i = 0; i < LstProprietario.Count(); i++) { //Verifica se existe fatura o Proprietário para referência informada FaturaId = RetornaFatura(LstProprietario[i].Id, referencia); FaturamentoServicos faturamentoServicos = new FaturamentoServicos(); faturamentoServicos.ProprietarioId = LstProprietario[i].Id; faturamentoServicos.AnimaisServicosId = ObjAnimaisServicos.Id; faturamentoServicos.AnimaisId = ObjAnimaisServicos.AnimaisId; faturamentoServicos.ServicoId = ObjAnimaisServicos.ServicoId; decimal valor = ((Convert.ToDecimal(ObjAnimaisServicos.ValorTotal) / 100) / totalProprietario); //faturamentoServicos.Valor = Decimal.Round((valor), 2).ToString(); faturamentoServicos.Valor = Convert.ToDecimal(valor).ToString(); faturamentoServicos.DataFaturamento = DateTime.Now; //DateTime dataReferenciaFormatada = Convert.ToDateTime(faturamento.Referencia); faturamentoServicos.Referencia = referencia; faturamentoServicos.FaturamentoId = FaturaId; faturamentoServicos.DoadoraId = ObjAnimaisServicos.DoadoraId; faturamentoServicos.GaranhaoId = ObjAnimaisServicos.GaranhaoId; faturamentoServicos.ReceptoraId = ObjAnimaisServicos.ReceptoraId; faturamentoServicos.SemenId = ObjAnimaisServicos.SemenId; //Adiciona o serviço que passou pelo rateio na lista de serviços do proprietário. _context.FaturamentoServicos.Add(faturamentoServicos); _context.SaveChanges(); } } else { //Verifica se existe fatura o Proprietário para referência informada FaturaId = RetornaFatura(LstProprietario[0].Id, referencia); FaturamentoServicos faturamentoServicos = new FaturamentoServicos(); faturamentoServicos.ProprietarioId = LstProprietario[0].Id; faturamentoServicos.AnimaisServicosId = ObjAnimaisServicos.Id; faturamentoServicos.AnimaisId = ObjAnimaisServicos.AnimaisId; faturamentoServicos.ServicoId = ObjAnimaisServicos.ServicoId; faturamentoServicos.Valor = (Convert.ToDecimal(ObjAnimaisServicos.ValorTotal) / 100).ToString(); faturamentoServicos.DataFaturamento = DateTime.Now; //DateTime dataReferenciaFormatada = Convert.ToDateTime(faturamento.Referencia); faturamentoServicos.Referencia = referencia; faturamentoServicos.FaturamentoId = FaturaId; faturamentoServicos.DoadoraId = ObjAnimaisServicos.DoadoraId; faturamentoServicos.GaranhaoId = ObjAnimaisServicos.GaranhaoId; faturamentoServicos.ReceptoraId = ObjAnimaisServicos.ReceptoraId; faturamentoServicos.SemenId = ObjAnimaisServicos.SemenId; _context.FaturamentoServicos.Add(faturamentoServicos); _context.SaveChanges(); } } //Atualiza o serviço realizado no animal para item incluído no processo de faturamento. ObjAnimaisServicos.Faturamento = "S"; _context.AnimaisServicos.Update(ObjAnimaisServicos); _context.SaveChanges(); } } //Após o processo de validação e rateio dos serviços do proprietário devem ser criadas as informações na tabela Faturamento //e atualizar os vinculos com a tabela faturamentoservicos. List <Faturamento> LstFaturamento = (from fs in _context.FaturamentoServicos join p in _context.Proprietarios on fs.ProprietarioId equals p.Id //where fs.Referencia.ToString("MM/yyyy") == faturamento.Referencia where fs.Referencia == referencia group fs by fs.Proprietario into g select new Faturamento { Proprietario = g.Key, Valor = g.Sum(s => Convert.ToDecimal(s.Valor) / 100).ToString(), Situacao = FaturamentoSituacao.PENDENTE, Referencia = g.First().Referencia } ).ToList(); //////////////////////////Processo de Faturamento das Diárias/////////////////////////////////////////////// /// List <AnimaisEntrada> listEntradasProprietario = new List <AnimaisEntrada>(); #region Identifica as entradas para animais vinculados em Proprietários para o período. if (faturamento.ProprietarioId != 0) { listEntradasProprietario = (from p in _context.Proprietarios join ap in _context.AnimaisProprietarios on p.Id equals ap.ProprietarioId join a in _context.Animais on ap.AnimaisId equals a.Id join aa in _context.AnimaisEntradas on a.Id equals aa.AnimaisId where p.Id == faturamento.ProprietarioId && p.Situacao == Situacao.ATIVO && aa.DiariaSituacao != DiariaSituacao.CANCELADA && ap.DataAquisicao < faturamento.DataApuracao && ap.DataValidade >= faturamento.DataApuracao && aa.DataUltimaApuracao < faturamento.DataApuracao group aa by aa.Id into agroup select new AnimaisEntrada { Id = agroup.First().Id }).ToList(); } else { listEntradasProprietario = (from p in _context.Proprietarios join ap in _context.AnimaisProprietarios on p.Id equals ap.ProprietarioId join a in _context.Animais on ap.AnimaisId equals a.Id join aa in _context.AnimaisEntradas on a.Id equals aa.AnimaisId where p.Situacao == Situacao.ATIVO && ap.DataAquisicao < faturamento.DataApuracao && ap.DataValidade >= faturamento.DataApuracao && aa.DiariaSituacao != DiariaSituacao.CANCELADA && aa.DataUltimaApuracao < faturamento.DataApuracao group aa by aa.Id into agroup select new AnimaisEntrada { Id = agroup.First().Id }).ToList(); } #endregion //Inicia o processo se encontrar lançamentos de diárias para animais que possuem proprietário if (listEntradasProprietario.Count > 0) { foreach (var item in listEntradasProprietario) { //Verifica as informações de datas que devem ser cobradas para cada proprietário do animal. var dadosFat = (from ap in _context.AnimaisProprietarios join a in _context.Animais on ap.AnimaisId equals a.Id join ae in _context.AnimaisEntradas on a.Id equals ae.AnimaisId where ae.Id == item.Id && Convert.ToDateTime(ap.DataValidade.ToString("MM/yyyy")) > Convert.ToDateTime(referencia) select ap ).ToList(); List <DadosProprietarioEntrada> objDados = new List <DadosProprietarioEntrada>(); foreach (var iFat in dadosFat) { DateTime PrimeiroDiadoMes = DateTime.Parse("01/" + referencia); DadosProprietarioEntrada objDadosProprietario = new DadosProprietarioEntrada(); objDadosProprietario.DataAquisicao = iFat.DataAquisicao; objDadosProprietario.DataUltimaApuracao = (DateTime)iFat.DataUltimaApuracao; objDadosProprietario.ProprietarioId = (int)iFat.ProprietarioId; if (PrimeiroDiadoMes > iFat.DataUltimaApuracao) { objDadosProprietario.Dias = faturamento.DataApuracao.Value.Subtract(PrimeiroDiadoMes).Days; } else { objDadosProprietario.Dias = faturamento.DataApuracao.Value.Subtract((DateTime)iFat.DataUltimaApuracao).Days; } objDados.Add(objDadosProprietario); } //Processo para definir o fator de divisão para o proprietário. AnimaisEntrada ObjAnimaisEntradas = _context.AnimaisEntradas.FirstOrDefault(s => s.Id == item.Id); //Procura os proprietárioas associados ao animal que estão ativos no periodo de faturamento //Periodo de faturamento igual à data ultimo faturamento ou data de aquisição menos data faturamento List <AnimaisProprietario> LstProprietarioTeste = (from ap in _context.AnimaisProprietarios join a in _context.Animais on ap.AnimaisId equals a.Id where a.Id == ObjAnimaisEntradas.AnimaisId && Convert.ToDateTime(ap.DataValidade.ToString("MM/yyyy")) > Convert.ToDateTime(referencia) select ap ).ToList(); //Verifica se o animal possui proprietário apto para cobrança de acordo com a data de realização do serviço. List <Proprietario> LstProprietario = (from ap in _context.AnimaisProprietarios join p in _context.Proprietarios on ap.ProprietarioId equals p.Id join a in _context.Animais on ap.AnimaisId equals a.Id join aa in _context.AnimaisEntradas on a.Id equals aa.AnimaisId where aa.Id == item.Id && ap.AnimaisId == ObjAnimaisEntradas.AnimaisId && p.Situacao == Situacao.ATIVO && ap.DataAquisicao < faturamento.DataApuracao && ap.DataValidade >= faturamento.DataApuracao select p).ToList(); int totalProprietario = LstProprietario.Count(); if (totalProprietario > 0) { //Quando o animal do serviço realizado possui mais de um proprietário realiza loop para rateio do serviço que será faturado. if (totalProprietario >= 2) { for (int i = 0; i < LstProprietario.Count(); i++) { //Verifica se existe fatura o Proprietário para referência informada FaturaId = RetornaFatura(LstProprietario[i].Id, referencia); FaturamentoEntradas faturamentoEntradas = new FaturamentoEntradas(); faturamentoEntradas.ProprietarioId = LstProprietario[i].Id; faturamentoEntradas.AnimaisEntradasId = ObjAnimaisEntradas.Id; faturamentoEntradas.AnimaisId = ObjAnimaisEntradas.AnimaisId; faturamentoEntradas.ServicoId = ObjAnimaisEntradas.ServicoId; decimal diaria = ((Convert.ToDecimal(ObjAnimaisEntradas.Valor) / 100) / totalProprietario); faturamentoEntradas.Diaria = diaria; //Verificar a data de aquisição do animal pelo proprietário //Calcular a quantidade de dias do mes ainda não apurados de acordo com a data de apuração informada. //Dias => data apuração informada - data ultima apuração DateTime?data1 = ObjAnimaisEntradas.DataUltimaApuracao; DateTime?data2 = faturamento.DataApuracao; TimeSpan?totalDias = data2 - data1; int dias = totalDias.Value.Days; faturamentoEntradas.Dias = dias; faturamentoEntradas.Valor = (diaria * dias).ToString(); faturamentoEntradas.DataFaturamento = DateTime.Now; faturamentoEntradas.Referencia = referencia; faturamentoEntradas.FaturamentoId = FaturaId; //Adiciona o serviço que passou pelo rateio na lista de serviços do proprietário. _context.FaturamentoEntradas.Add(faturamentoEntradas); AnimaisProprietario ObjAnimaisProprietarios = (from ap in _context.AnimaisProprietarios where ap.ProprietarioId == LstProprietario[i].Id select ap).FirstOrDefault(); ObjAnimaisProprietarios.DataUltimaApuracao = faturamento.DataApuracao; _context.AnimaisProprietarios.Update(ObjAnimaisProprietarios); _context.SaveChanges(); } } else if (totalProprietario == 1) { //Verifica se existe fatura o Proprietário para referência informada FaturaId = RetornaFatura(LstProprietario[0].Id, referencia); FaturamentoEntradas faturamentoEntradas = new FaturamentoEntradas(); faturamentoEntradas.ProprietarioId = listEntradasProprietario[0].Id; faturamentoEntradas.AnimaisEntradasId = ObjAnimaisEntradas.Id; faturamentoEntradas.AnimaisId = ObjAnimaisEntradas.AnimaisId; faturamentoEntradas.ServicoId = ObjAnimaisEntradas.ServicoId; decimal diaria = (Convert.ToDecimal(ObjAnimaisEntradas.Valor) / 100); faturamentoEntradas.Diaria = diaria; //Calcular a quantidade de dias do mes ainda não apurados de acordo com a data de apuração informada. //Dias => data apuração informada - data ultima apuração DateTime?data1 = ObjAnimaisEntradas.DataUltimaApuracao; DateTime?data2 = faturamento.DataApuracao; TimeSpan?totalDias = data2 - data1; int dias = totalDias.Value.Days; faturamentoEntradas.Dias = dias; faturamentoEntradas.Valor = (diaria * dias).ToString(); faturamentoEntradas.DataFaturamento = DateTime.Now; faturamentoEntradas.Referencia = referencia; faturamentoEntradas.FaturamentoId = FaturaId; //Adiciona o serviço que passou pelo rateio na lista de serviços do proprietário. _context.FaturamentoEntradas.Add(faturamentoEntradas); AnimaisProprietario ObjAnimaisProprietarios = (from ap in _context.AnimaisProprietarios where ap.ProprietarioId == LstProprietario[0].Id select ap).FirstOrDefault(); ObjAnimaisProprietarios.DataUltimaApuracao = faturamento.DataApuracao; _context.AnimaisProprietarios.Update(ObjAnimaisProprietarios); _context.SaveChanges(); } //Atualiza o serviço realizado no animal para item incluído no processo de faturamento. ObjAnimaisEntradas.DataUltimaApuracao = faturamento.DataApuracao; _context.AnimaisEntradas.Update(ObjAnimaisEntradas); _context.SaveChanges(); } } } //Atualiza o faturamento apenas se existerem registros de entradas ou serviços if (listServicoProprietario.Count > 0 || listEntradasProprietario.Count > 0) { AtualizaFaturamento(FaturaId); } return(RedirectToAction("Index")); }
public IActionResult Create(Animais animais) { _animalRepository.Salvar(animais); var animaisId = animais.Id; //Realiza a inclusão se existirem itens if (animais.AnimaisProprietariosJson != null) { //Processo de inclusão de itens List <DoadoraProprietario> lista = JsonConvert.DeserializeObject <List <DoadoraProprietario> >(animais.AnimaisProprietariosJson); if (lista.Count > 0) { for (int i = 0; i < lista.Count; i++) { if (lista[i].Id == 0) { AnimaisProprietario objLista = new AnimaisProprietario(); objLista.AnimaisId = animaisId; objLista.ProprietarioId = lista[i].ProprietarioId; objLista.DataInclusao = DateTime.Now; _context.AnimaisProprietarios.Add(objLista); _context.SaveChanges(); } } } } //return RedirectToAction("Index"); return(RedirectToRoute(new { Controller = "Animal", Action = "Edit", id = animais.Id })); }
public void Salvar(Servico servico) { _webProjVetContext.Servicos.Add(servico); _webProjVetContext.SaveChanges(); }
public void Editar(Tratamento tratamento) { _webProjVetContext.Entry(tratamento).State = Microsoft.EntityFrameworkCore.EntityState.Modified; _webProjVetContext.SaveChanges(); }
public void Editar(Garanhao animalGaranhao) { _webProjVetContext.Entry(animalGaranhao).State = Microsoft.EntityFrameworkCore.EntityState.Modified; _webProjVetContext.SaveChanges(); }