示例#1
0
        //Retorna Mes i any dels processos a executar...
        private Dates _GetMesAny()
        {
            Dates _dates = new Dates();

            if (DateTime.Now.Month == 1)
            {
                _dates.Mes = 12;
                _dates.Any = DateTime.Now.Year - 1;
            }
            else
            {
                _dates.Mes = DateTime.Now.Month - 1;
                _dates.Any = DateTime.Now.Year;
            }
            return(_dates);
        }
示例#2
0
        private string _CuerpoMensaje(ValuesEnvioEmail _Email)
        {
            string                _Res              = "";
            var                   context           = new ExpensesEF.Entities();
            var                   _DataMesAnterior  = new Dates();
            var                   _Data2MesosEnrera = new Dates();
            AspNetUsers           _Usuari;
            SummaryTotal_Mensual  _SummaryMensual;
            SummaryTotal_Mensual  _SummaryMensual2MesosEnrera;
            SummaryRegalo_Mensual _SummaryRegaloMensual;
            decimal               _MaxGastoMensual;
            string                _Header;

            try
            {
                _DataMesAnterior  = _GetMesAny();
                _Data2MesosEnrera = _GetMesAnterior();

                _Usuari = context.AspNetUsers.Where(x => x.Id == _Email.idUser).FirstOrDefault();
                _Header = context.ValuesEnvioEmail.Where(x => x.idUser == _Usuari.Id).FirstOrDefault().Header;

                _SummaryMensual             = context.SummaryTotal_Mensual.Where(x => x.idUser == _Usuari.Id && x.Mes == _DataMesAnterior.Mes && x.Año == _DataMesAnterior.Any).FirstOrDefault();
                _SummaryMensual2MesosEnrera = context.SummaryTotal_Mensual.Where(x => x.idUser == _Usuari.Id && x.Mes == _Data2MesosEnrera.Mes && x.Año == _Data2MesosEnrera.Any).FirstOrDefault();
                _SummaryRegaloMensual       = context.SummaryRegalo_Mensual.Where(x => x.idUser == _Usuari.Id && x.Mes == _DataMesAnterior.Mes && x.Año == _DataMesAnterior.Any).FirstOrDefault();
                _MaxGastoMensual            = context.SummaryTotal_Mensual.Where(x => x.idUser == _Usuari.Id && x.Año == _Data2MesosEnrera.Any).Max(x => x.GastoTotal);

                //Primera linea del mail
                _Res = String.Format(Resources.Descripciones.mailLinea1, _Header);

                //Linea on enviem el total de gasto del mes anterior
                if (_Email.TotalGastadoMesAnterior == true)
                {
                    if (_SummaryMensual != null)
                    {
                        _Res += String.Format(Resources.Descripciones.mailTotalGastadoMesAnterior, _GetMesLetras(_SummaryMensual.Mes), _SummaryMensual.GastoTotal);
                        _Res += _MejoraGastoRespecto2MesesAtras(_SummaryMensual, _SummaryMensual2MesosEnrera);
                        _Res += _VerMaximoGastoAnual(_SummaryMensual, _MaxGastoMensual);
                        _Res += _GastoMedioMensual(_SummaryMensual, _Usuari.Id, _SummaryMensual.Mes, _Data2MesosEnrera);
                        _Res += _GastoMaximoDia(_SummaryMensual, _Usuari.Id);
                        _Res += _AhorroDelMes(_SummaryMensual, _SummaryMensual2MesosEnrera, _Usuari.Id);
                        _Res += _TiposGastos(_SummaryMensual, _Usuari.Id);
                        _Res += _GruposGastos(_SummaryMensual, _Usuari.Id);
                        _Res += _TotalGastosAnual(_SummaryMensual, _Usuari.Id);
                    }
                    else
                    {
                        _Res = Resources.Descripciones.mailNoGasto;
                    }
                }

                /*
                 * //Linea d'estalvi respecte gastos
                 * if (_Email.AhorroMesAnterior == true && _SummaryMensual != null && _SummaryMensual.AhorroFinDeMes != 0)
                 * {
                 *  _Res += String.Format(Resources.Descripciones.mailAhorroMesAnterior, _SummaryMensual.AhorroFinDeMes);
                 * }
                 *
                 * //Linea de regals el mes anterior
                 * if (_Email.RegalosMesAnterior == true && _SummaryRegaloMensual != null)
                 * {
                 *  _Res += String.Format(Resources.Descripciones.mailRegaloMesAnterior, _SummaryRegaloMensual.Valor);
                 * }
                 */
                _Res += Resources.Descripciones.mailBottom;
            }
            catch (Exception _ex)
            {
            }
            return(_Res);
        }
示例#3
0
        private string _GastoMedioMensual(SummaryTotal_Mensual _GastoMesAnterior, string _Usuari, int MesActual, Dates _Data2MesosEnrera)
        {
            string  _Res = "";
            decimal valorDiferencia, valorDivActualMayor, valorDivActualMenor, _MediaGastoMensualAnual;
            var     context = new ExpensesEF.Entities();

            try
            {
                _MediaGastoMensualAnual = Math.Round((context.SummaryTotal_Mensual.Where(x => x.idUser == _Usuari && x.Año == _Data2MesosEnrera.Any).Sum(x => x.GastoTotal)) / MesActual);

                if (_GastoMesAnterior.Mes > 1)
                {
                    valorDiferencia = Math.Abs(_GastoMesAnterior.GastoTotal - _MediaGastoMensualAnual);

                    valorDivActualMenor = Math.Abs((Math.Round((_GastoMesAnterior.GastoTotal / _MediaGastoMensualAnual) * 100) - 100));
                    valorDivActualMayor = 100 - (Math.Round((_MediaGastoMensualAnual / _GastoMesAnterior.GastoTotal) * 100));

                    if (_GastoMesAnterior.GastoTotal > _MediaGastoMensualAnual)
                    {
                        _Res = string.Format(Resources.Descripciones.mailGastoMedioMensualMayorMedia, _MediaGastoMensualAnual, valorDiferencia, valorDivActualMayor);
                    }

                    if (_GastoMesAnterior.GastoTotal == _MediaGastoMensualAnual)
                    {
                        _Res = string.Format(Resources.Descripciones.mailGastoMedioMensualIgualMedia, _MediaGastoMensualAnual);
                    }

                    if (_GastoMesAnterior.GastoTotal < _MediaGastoMensualAnual)
                    {
                        _Res = string.Format(Resources.Descripciones.mailGastoMedioMensualMenorMedia, _MediaGastoMensualAnual, valorDiferencia, valorDivActualMenor);
                    }
                }
            }
            catch (Exception _ex) { }

            return(_Res);
        }