コード例 #1
0
        public void Atualizar(ForecastET forecast)
        {
            _forecastRepository.Update(forecast);
            var forecastAnoSeguinte = _forecastRepository
                                      .BuscarPorIdComIncludes(forecast.IdCelula, forecast.IdCliente, forecast.IdServico, forecast.NrAno + 1);

            if (forecast.DataAniversario != null && forecast.DataAniversario.Value.Year > forecast.NrAno)
            {
                if (forecastAnoSeguinte == null)
                {
                    forecastAnoSeguinte = CriarEntidadeForecastDoAnoSeguinte
                                              (forecast, AtribuirValoresDosMesesParaAnoSeguinteEdicao);
                    _forecastRepository.Adicionar(forecastAnoSeguinte);
                }
                else
                {
                    AtualizarEntidadeForecastAnoSeguinte(forecast, forecastAnoSeguinte);
                    _forecastRepository.Update(forecastAnoSeguinte);
                }

                var forecastSegundoAnoSeguinte = _forecastRepository
                                                 .BuscarPorIdComIncludes(forecastAnoSeguinte.IdCelula, forecastAnoSeguinte.IdCliente,
                                                                         forecastAnoSeguinte.IdServico, forecastAnoSeguinte.NrAno + 1);
                if (forecastSegundoAnoSeguinte == null)
                {
                    forecastSegundoAnoSeguinte = CriarEntidadeForecastDoAnoSeguinte
                                                     (forecastAnoSeguinte, AtribuirValoresDosMesesParaAnoSeguinteEdicao);
                    _forecastRepository.Adicionar(forecastSegundoAnoSeguinte);
                }
                else
                {
                    AtualizarEntidadeForecastAnoSeguinte(forecastAnoSeguinte, forecastSegundoAnoSeguinte);
                    _forecastRepository.Update(forecastSegundoAnoSeguinte);
                }
            }

            //if (forecast != null &&  forecast.ValorForecast != null && forecast.ValorForecast.VlPercentual != null)
            //{
            //    forecast.ValorForecast.VlPercentual = forecast.ValorForecast.VlPercentual * 100;
            //}

            //if (forecastAnoSeguinte != null && forecastAnoSeguinte.ValorForecast != null && forecastAnoSeguinte.ValorForecast.VlPercentual != null)
            //{
            //    forecastAnoSeguinte.ValorForecast.VlPercentual = forecastAnoSeguinte.ValorForecast.VlPercentual * 100;
            //}

            _unitOfWork.Commit();
        }