예제 #1
0
 internal CapacidadeProducaoDiaria(Glass.Data.Model.CapacidadeProducaoDiaria model)
 {
     _capacidade = model;
     _setores    = model.Data.Ticks != 0 ?
                   CapacidadeProducaoDiariaSetorDAO.Instance.ObtemPelaData(model.Data) :
                   new Glass.Data.Model.CapacidadeProducaoDiariaSetor[0];
     _classificacoes = model.Data.Ticks != 0 ?
                       ServiceLocator.Current.GetInstance <Glass.PCP.Negocios.ICapacidadeProducaoDiariaClassificacaoFluxo>().ObtemPelaData(model.Data) :
                       new Glass.PCP.Negocios.Entidades.CapacidadeDiariaProducaoClassificacao[0];
 }
예제 #2
0
        /// <summary>
        /// Salva as alterações na tabela de log
        /// </summary>
        /// <param name="data"></param>
        /// <param name="capacidades"></param>
        /// <param name="capatidadesAntigas"></param>
        private void RegistraLog(DateTime data, IEnumerable <Entidades.CapacidadeDiariaProducaoClassificacao> capacidades, IList <Entidades.CapacidadeDiariaProducaoClassificacao> capatidadesAntigas)
        {
            var idsClassificacoes = string.Join(",", capacidades.GroupBy(f => f.IdClassificacaoRoteiroProducao).Select(f => f.Key.ToString()).ToArray());
            var classificacoes    = ServiceLocator.Current.GetInstance <Negocios.IClassificacaoRoteiroProducaoFluxo>().ObtemClassificacoes(idsClassificacoes);

            string capacidadesAntigasLog = "", capacidadesNovasLog = "";

            foreach (var c in capacidades)
            {
                var capacidadeAntiga = capatidadesAntigas
                                       .Where(f => f.Data == c.Data && f.IdClassificacaoRoteiroProducao == c.IdClassificacaoRoteiroProducao)
                                       .FirstOrDefault();

                if (capacidadeAntiga.Capacidade != c.Capacidade)
                {
                    var descricaoClassificacao = classificacoes
                                                 .Where(f => f.IdClassificacaoRoteiroProducao == c.IdClassificacaoRoteiroProducao)
                                                 .Select(f => f.Descricao)
                                                 .FirstOrDefault();

                    capacidadesAntigasLog += descricaoClassificacao + ": " + capacidadeAntiga.Capacidade + ", ";
                    capacidadesNovasLog   += descricaoClassificacao + ": " + c.Capacidade + ", ";
                }
            }

            capacidadesAntigasLog = capacidadesAntigasLog.Trim().Trim(',');
            capacidadesNovasLog   = capacidadesNovasLog.Trim().Trim(',');

            var logAntigo = new Glass.Data.Model.CapacidadeProducaoDiaria()
            {
                Data = data,
                DadosClassificacao = capacidadesAntigasLog
            };

            var logNovo = new Glass.Data.Model.CapacidadeProducaoDiaria()
            {
                Data = data,
                DadosClassificacao = capacidadesNovasLog
            };

            Glass.Data.DAL.LogAlteracaoDAO.Instance.LogCapacidadeProducaoDiaria(logAntigo, logNovo);
        }