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
                             );
                    }
                }
            }
        }
Exemplo n.º 2
0
 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;
     }
 }