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]; }
/// <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); }