public IHttpActionResult PostFuncionarioFerias(FuncionarioFerias funcionarioFerias) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (funcionarioFerias.QtdaDias <= 0) { return(Ok()); } db.FuncionarioFerias.Add(funcionarioFerias); try { db.SaveChanges(); } catch (DbUpdateException) { if (FuncionarioFeriasExists(funcionarioFerias.MatriculaFuncionario, funcionarioFerias.CodMesOrcamento)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = funcionarioFerias.MatriculaFuncionario }, new FuncionarioFeriasDTO(funcionarioFerias))); }
//Persistir e inserir um novo registro private bool inserir(FuncionarioFerias OContaBancaria) { OContaBancaria.setDefaultInsertValues <FuncionarioFerias>(); db.FuncionarioFerias.Add(OContaBancaria); db.SaveChanges(); return(OContaBancaria.id > 0); }
//Definir se é um insert ou update e enviar o registro para o banco de dados public bool salvar(FuncionarioFerias OContaBancaria) { if (OContaBancaria.id == 0) { return(this.inserir(OContaBancaria)); } else { return(this.atualizar(OContaBancaria)); } }
public IHttpActionResult GetFuncionarioFerias(string matricula, int codMes) { FuncionarioFerias funcionarioFerias = db.FuncionarioFerias.Find(matricula, codMes); if (funcionarioFerias == null) { return(NotFound()); } return(Ok(new FuncionarioFeriasDTO(funcionarioFerias))); }
public FuncionarioFeriasDTO(FuncionarioFerias f) { if (f == null) { return; } MatriculaFuncionario = f.MatriculaFuncionario; CodMesOrcamento = f.CodMesOrcamento; QtdaDias = f.QtdaDias; if (f.MesOrcamento != null) { Mes = f.MesOrcamento.Mes; } }
public IHttpActionResult DeleteFuncionarioFerias(string matricula, int codMes) { FuncionarioFerias funcionarioFerias = db.FuncionarioFerias.Find(matricula, codMes); if (funcionarioFerias == null) { return(NotFound()); } FuncionarioFeriasDTO f = new FuncionarioFeriasDTO(funcionarioFerias); db.FuncionarioFerias.Remove(funcionarioFerias); db.SaveChanges(); return(Ok(f)); }
//Persistir e atualizar um registro existente private bool atualizar(FuncionarioFerias OContaBancaria) { //Localizar existentes no banco FuncionarioFerias dbContaBancaria = this.carregar(OContaBancaria.id); //Configurar valores padrão OContaBancaria.setDefaultUpdateValues <FuncionarioFerias>(); //Atualizacao da Empresa var ContaBancariaEntry = db.Entry(dbContaBancaria); ContaBancariaEntry.CurrentValues.SetValues(OContaBancaria); ContaBancariaEntry.ignoreFields <FuncionarioFerias>(new string[] { "idFuncionario" }); db.SaveChanges(); return(OContaBancaria.id > 0); }
public IHttpActionResult PutFuncionarioFerias(string matricula, int codMes, FuncionarioFerias funcionarioFerias) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (matricula != funcionarioFerias.MatriculaFuncionario || codMes != funcionarioFerias.CodMesOrcamento) { return(BadRequest()); } if (!FuncionarioFeriasExists(matricula, codMes)) { return(NotFound()); } if (funcionarioFerias.QtdaDias <= 0) { db.Entry(funcionarioFerias).State = EntityState.Deleted; } else { db.Entry(funcionarioFerias).State = EntityState.Modified; } try { db.SaveChanges(); } catch (Exception e) { return(InternalServerError(e)); } return(StatusCode(HttpStatusCode.NoContent)); }
public void Delete(FuncionarioFerias funcionarioFerias) { _context.FuncionarioFerias.Remove(funcionarioFerias); }
public void Update(FuncionarioFerias funcionarioFerias) { _context.FuncionarioFerias.AddOrUpdate(funcionarioFerias); }
public void Add(FuncionarioFerias funcionarioFerias) { _context.FuncionarioFerias.Add(funcionarioFerias); }
//O valor do Convênio Médico e do Convênio Odontológico será um valor aberto, na base. //As premissas serão somente para novas contratações public static IEnumerable <CalculoEventoBase> CalculaFuncionarioCiclo(Funcionario func, Ciclo ciclo) { Contexto db = new Contexto(); List <CalculoEventoBase> lista = new List <CalculoEventoBase>(); PAT pat = db.PAT.Find(func.CargaHoraria, func.SindicatoCod); if (pat == null) { throw new PATNaoCadastradaException(); } Encargos encargos = db.Encargos.Find(func.EmpresaCod); if (encargos == null) { throw new EncargosNaoEncontradosException(); } //db.Database.ExecuteSqlCommand("insert into CalculoEventoBase (CodEvento, MatriculaFuncionario, CodMesOrcamento, Valor) select CodEvento, MatriculaFuncionario, CodMesOrcamento, Valor from ValoresAbertosBase a inner join MesOrcamento b on a.CodMesOrcamento = b.Codigo where MatriculaFuncionario = {0} and b.CicloCod = {1}", func.Matricula, ciclo.Codigo); float baseEncargos = 0; float somaHEs, somaHNs; float salario = func.Salario, salarioBase = func.Salario; float valorConvMed = func.ValorConvMedico; float valorConvOdo = func.ValorConvOdontologico; float passe = func.Filial.Cidade.VTPasse; float frete = func.Filial.Cidade.VTFretadoValor; int qtdaPasses = db.CargaHoraria.Find(func.CargaHoraria).QtdaPassesDiario; foreach (MesOrcamento m in ciclo.MesesOrcamento) { int ano = m.Mes.Year, mes = m.Mes.Month; int qtdaDias = db.QtdaDias.Find(mes, func.CodEscalaTrabalho).Qtda; //Reajustes Reajuste reajSal = db.Reajuste.Find(ano, mes, func.SindicatoCod); ReajConvenioMed reajMed = db.ReajConvenioMed.Find(ano, mes, func.ConvenioMedCod); ReajConvenioOdo reajOdo = db.ReajConvenioOdo.Find(ano, func.CodConvenioOdo, mes); ReajVTFretado reajVTFretado = db.ReajVTFretado.Find(ano, func.CidadeNome, mes); ReajVTPasse reajVTPasse = db.ReajVTPasse.Find(ano, func.CidadeNome, mes); if (reajSal != null) { salarioBase *= (float)(reajSal.PercentualReajuste + 1); if (salarioBase < reajSal.PisoSalarial) { salarioBase = reajSal.PisoSalarial; } } if (reajMed != null) { valorConvMed *= (float)(reajMed.PercentualReajuste + 1); } if (reajOdo != null) { valorConvOdo *= (reajOdo.PercentualReajuste + 1); } if (reajVTFretado != null) { frete *= (float)(reajVTFretado.PercentualReajuste + 1); } if (reajVTPasse != null) { passe *= (float)(reajVTPasse.PercentualReajuste + 1); } //Horas Extras List <HEBase> hes = db.HEBase .Where(x => x.FuncionarioMatricula == func.Matricula && x.CodMesOrcamento == m.Codigo) .ToList(); //Horas Noturnas List <AdNoturnoBase> hns = db.AdNoturnoBase .Where(x => x.FuncionarioMatricula == func.Matricula && x.CodMesOrcamento == m.Codigo) .ToList(); FuncionarioFerias ferias = func.FuncionarioFerias.Where(x => x.CodMesOrcamento == m.Codigo).FirstOrDefault(); if (ferias == null) { salario = salarioBase; } else { salario = salarioBase * (30 - ferias.QtdaDias) / 30; //Encontra salário proporcional aos dias trabalhados } // ********************** SALÁRIOS E ADICIONAIS ********************** CalculoEventoBase calculoSalario = new CalculoEventoBase { CodEvento = "SALARIO", MatriculaFuncionario = func.Matricula, CodMesOrcamento = m.Codigo, Valor = salario }; lista.Add(calculoSalario); CalculoEventoBase calculoPeric = new CalculoEventoBase { Valor = 0 }; if (func.Periculosidade) { calculoPeric.CodEvento = "PERICUL"; calculoPeric.MatriculaFuncionario = func.Matricula; calculoPeric.CodMesOrcamento = m.Codigo; calculoPeric.Valor = (float)(salario * 0.3); lista.Add(calculoPeric); } CalculoEventoBase calculoAdCondutor = new CalculoEventoBase { Valor = 0 }; if (func.AdCondutor) { calculoAdCondutor.CodEvento = "ADI-COND"; calculoAdCondutor.MatriculaFuncionario = func.Matricula; calculoAdCondutor.CodMesOrcamento = m.Codigo; calculoAdCondutor.Valor = (float)(salario * 0.1); lista.Add(calculoAdCondutor); } somaHEs = 0; hes.ForEach(x => { somaHEs += salario / func.CargaHoraria * x.QtdaHoras * x.PercentualHoras / 100; lista.Add(new CalculoEventoBase { CodEvento = "HE-" + x.PercentualHoras.ToString(), MatriculaFuncionario = func.Matricula, CodMesOrcamento = m.Codigo, Valor = somaHEs }); }); somaHNs = 0; hns.ForEach(x => { somaHNs = salario / x.PercentualHoras / 100 / func.CargaHoraria * x.QtdaHoras; lista.Add(new CalculoEventoBase { CodEvento = "AD-N-" + x.PercentualHoras.ToString(), MatriculaFuncionario = func.Matricula, CodMesOrcamento = m.Codigo, Valor = somaHNs }); }); //BASE DE ENCARGOS baseEncargos = calculoSalario.Valor + calculoPeric.Valor + calculoAdCondutor.Valor + somaHEs + somaHNs; // ********************** BENEFÍCIOS ********************** float vtDescontado = 0; if (func.VTFretadoFlag) { vtDescontado = frete - (float)(salarioBase * 0.6); if (vtDescontado > 0) { lista.Add(new CalculoEventoBase { CodEvento = "VT-FRETE", MatriculaFuncionario = func.Matricula, CodMesOrcamento = m.Codigo, Valor = vtDescontado }); } } else { vtDescontado = (passe * qtdaDias) - (float)(salarioBase * 0.6); if (vtDescontado > 0) { lista.Add(new CalculoEventoBase { CodEvento = "VT-PASSE", MatriculaFuncionario = func.Matricula, CodMesOrcamento = m.Codigo, Valor = vtDescontado }); } } lista.Add(new CalculoEventoBase { CodEvento = "PAT", MatriculaFuncionario = func.Matricula, CodMesOrcamento = m.Codigo, Valor = pat.Valor * pat.Percentual }); lista.Add(new CalculoEventoBase { CodEvento = "AUX-CRE", MatriculaFuncionario = func.Matricula, CodMesOrcamento = m.Codigo, Valor = func.AuxCreche }); lista.Add(new CalculoEventoBase { CodEvento = "PREV-PRI", MatriculaFuncionario = func.Matricula, CodMesOrcamento = m.Codigo, Valor = func.PrevidenciaPrivada }); lista.Add(new CalculoEventoBase { CodEvento = "CONV-MED", MatriculaFuncionario = func.Matricula, CodMesOrcamento = m.Codigo, Valor = func.ValorConvMedico }); lista.Add(new CalculoEventoBase { CodEvento = "CONV-ODO", MatriculaFuncionario = func.Matricula, CodMesOrcamento = m.Codigo, Valor = func.ValorConvOdontologico }); // ********************** ENCARGOS ********************** lista.Add(new CalculoEventoBase { CodEvento = "INSS", MatriculaFuncionario = func.Matricula, CodMesOrcamento = m.Codigo, Valor = baseEncargos * encargos.INSS }); lista.Add(new CalculoEventoBase { CodEvento = "INCRA", MatriculaFuncionario = func.Matricula, CodMesOrcamento = m.Codigo, Valor = baseEncargos * encargos.INCRA }); lista.Add(new CalculoEventoBase { CodEvento = "SAL-EDU", MatriculaFuncionario = func.Matricula, CodMesOrcamento = m.Codigo, Valor = baseEncargos * encargos.SalEducacao }); lista.Add(new CalculoEventoBase { CodEvento = "SENAI", MatriculaFuncionario = func.Matricula, CodMesOrcamento = m.Codigo, Valor = baseEncargos * encargos.Senai }); lista.Add(new CalculoEventoBase { CodEvento = "SEBRAE", MatriculaFuncionario = func.Matricula, CodMesOrcamento = m.Codigo, Valor = baseEncargos * encargos.Sebrae }); lista.Add(new CalculoEventoBase { CodEvento = "SESI", MatriculaFuncionario = func.Matricula, CodMesOrcamento = m.Codigo, Valor = baseEncargos * encargos.SESI }); } return(lista); }
public void Update(FuncionarioFerias funcionarioFerias) { //TODO: Validar dados _funcionarioFeriasRepository.Update(funcionarioFerias); }
public void Add(FuncionarioFerias funcionarioFerias) { //TODO: Validar dados _funcionarioFeriasRepository.Add(funcionarioFerias); }