public void Editar(OrdemServicoRemoto obj) { IOrdemServicoRemotoNegocio umaOrdemServicoRemotaBus = new OrdemServicoRemotoBUS(Conexao.Instacia, this.empresa, this.filial); OrdemServicoRemoto objAnterior = umaOrdemServicoRemotaBus.Consultar(obj.OrdemServico.Codigo); this._business.Editar(obj.OrdemServico); this._repository.Editar(obj); IMetaNegocio umaMetaNegocio = new MetaBUS(this._connection, this.empresa, this.filial); List<Meta> lista = umaMetaNegocio.Listar(obj.OrdemServico.Projeto); DateTime dataOrdemServico = Convert.ToDateTime(obj.OrdemServico.Data); IOrdemServicoRepositorio umOrdemServicoDAO = new OrdemServicoDAO(this._connection); foreach (var meta in lista) { if (meta.Indicador.Codigo == 1) { DateTime horasAcimaDeCemAtual = new DateTime(); horasAcimaDeCemAtual = horasAcimaDeCemAtual.AddHours(Convert.ToInt32(obj.Total.Split(':')[0])); horasAcimaDeCemAtual = horasAcimaDeCemAtual.AddMinutes(Convert.ToInt32(obj.Total.Split(':')[1])); TimeSpan ticksAtual = new TimeSpan(horasAcimaDeCemAtual.Ticks); double totalAtual = ticksAtual.TotalHours; DateTime horasAcimaDeCemAnterior = new DateTime(); horasAcimaDeCemAnterior = horasAcimaDeCemAnterior.AddHours(Convert.ToInt32(objAnterior.Total.Split(':')[0])); horasAcimaDeCemAnterior = horasAcimaDeCemAnterior.AddMinutes(Convert.ToInt32(objAnterior.Total.Split(':')[1])); TimeSpan ticksAnterior = new TimeSpan(horasAcimaDeCemAnterior.Ticks); double totalAnterior = ticksAnterior.TotalHours; if (totalAtual > totalAnterior) { umOrdemServicoDAO.AcrescentarNaMeta ( ano: dataOrdemServico.Year, mes: dataOrdemServico.Month, meta: meta.Codigo, funcionario: obj.OrdemServico.Funcionario.Codigo, indicador: meta.Indicador.Codigo, totalHoras: totalAtual - totalAnterior ); } else { umOrdemServicoDAO.DecrementarNaMeta ( ano: dataOrdemServico.Year, mes: dataOrdemServico.Month, meta: meta.Codigo, funcionario: obj.OrdemServico.Funcionario.Codigo, indicador: meta.Indicador.Codigo, totalHoras: totalAnterior - totalAtual ); } } } }
private void VerificaOsRemota(ref OrdemServico umaOS, Usuario usuario) { if (umaOS.Inicio.Equals("00:00") && umaOS.Fim.Equals("00:00")) { IOrdemServicoRemotoNegocio umaOrdemServicoRemotaBus = new OrdemServicoRemotoBUS(Conexao.Instacia, usuario.Funcionario.Empresa, usuario.Funcionario.Filial); OrdemServicoRemoto umaOsRemota = umaOrdemServicoRemotaBus.Consultar(umaOS.Codigo); umaOS.DataDe = umaOsRemota.DataInicio.ToString("dd/MM/yyyy"); umaOS.DataAte = umaOsRemota.DataFim.ToString("dd/MM/yyyy"); umaOS.Total = umaOsRemota.Total; umaOS.Remoto = true; } }