コード例 #1
0
        //Mirem els gastos dels dos darrers mesos i veiem si hi ha hahut millora
        private string _MejoraGastoRespecto2MesesAtras(SummaryTotal_Mensual _GastoMesAnterior, SummaryTotal_Mensual _Gasto2MesesAtras)
        {
            string  _Res = "";
            decimal valorDivActualMayor;
            decimal valorDivActualMenor;
            decimal valorDiferencia;

            if (_Gasto2MesesAtras != null)
            {
                //_GastoMesAnterior.GastoTotal = 15000;
                //_Gasto2MesesAtras.GastoTotal = 5000;

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


                if (_GastoMesAnterior.GastoTotal > _Gasto2MesesAtras.GastoTotal)
                {
                    _Res = string.Format(Resources.Descripciones.mailGastoRespecto2MesesAtrasMas, valorDiferencia, valorDivActualMenor, _GetMesLetras(_Gasto2MesesAtras.Mes));
                }

                if (_GastoMesAnterior.GastoTotal == _Gasto2MesesAtras.GastoTotal)
                {
                    _Res = Resources.Descripciones.mailGastoRespecto2MesesAtrasIgual;
                }

                if (_GastoMesAnterior.GastoTotal < _Gasto2MesesAtras.GastoTotal)
                {
                    _Res = string.Format(Resources.Descripciones.mailGastoRespecto2MesesAtrasMenos, valorDiferencia, valorDivActualMayor, _GetMesLetras(_Gasto2MesesAtras.Mes));
                }
            }
            return(_Res);
        }
コード例 #2
0
        private string _VerMaximoGastoAnual(SummaryTotal_Mensual _GastoMesAnterior, decimal _MaxGasto)
        {
            string _Res = "";

            if (_GastoMesAnterior.GastoTotal == _MaxGasto && _GastoMesAnterior.Mes > 1)
            {
                _Res = String.Format(Resources.Descripciones.mailMaximoGastadoporMes, _GetMesLetras(_GastoMesAnterior.Mes));
            }
            return(_Res);
        }
コード例 #3
0
        private string _GastoMaximoDia(SummaryTotal_Mensual _SummaryMensual, string _Usuari)
        {
            int    i    = 0;
            string _Res = "";
            Gasto  _Gasto;
            string idGasto;

            string[] _infoDiaConMasGasto;
            string[] _idsGastos;


            var context = new ExpensesEF.Entities();

            //Info del día on més s'ha gastat
            System.Data.Entity.Core.Objects.ObjectParameter myInfoExpensesDay = new System.Data.Entity.Core.Objects.ObjectParameter("Res", typeof(string));
            context.spGetInfoDiaMaxGastoMes(_SummaryMensual.Año, _SummaryMensual.Mes, _Usuari, myInfoExpensesDay);
            _infoDiaConMasGasto = myInfoExpensesDay.Value.ToString().Split('|');

            //Si el dia és >0 hi ha hagut un dia amb gasto màxim
            if (int.Parse(_infoDiaConMasGasto[0]) > 0)
            {
                _Res += string.Format(Resources.Descripciones.mailDiaMasGasto, _infoDiaConMasGasto[0], _infoDiaConMasGasto[1]);

                _idsGastos = _infoDiaConMasGasto[2].Split(',');
                while (i < _idsGastos.Length)
                {
                    idGasto = _idsGastos[i];
                    _Gasto  = context.Gasto.Where(x => x.idGasto.ToString() == idGasto).FirstOrDefault();
                    i       = i + 1;

                    if (i == _idsGastos.Length)
                    {
                        if (i == 1)
                        {
                            _Res += "\"" + _Gasto.Concepto + "\"";
                        }
                        else
                        {
                            _Res  = _Res.Substring(0, _Res.Length - 2);
                            _Res += Resources.Descripciones.y + "\"" + _Gasto.Concepto + "\"";
                        }
                    }
                    else
                    {
                        _Res += "\"" + _Gasto.Concepto + "\"" + ", ";
                    }
                }
                _Res += ").";
            }

            return(_Res);
        }
コード例 #4
0
        //lògica de l'estalvi a fi de mes
        private string _AhorroDelMes(SummaryTotal_Mensual _GastoMesAnterior, SummaryTotal_Mensual _Gasto2MesosEnrera, string _Usuari)
        {
            string  _Res = "";
            decimal _AhorroMes;
            var     context = new ExpensesEF.Entities();

            try
            {
                _AhorroMes = context.SummaryTotal_Mensual.Where(x => x.idUser == _Usuari && x.Año == _GastoMesAnterior.Año && x.Mes == _GastoMesAnterior.Mes).FirstOrDefault().AhorroFinDeMes.GetValueOrDefault();


                if (_AhorroMes > 0)
                {
                    _Res = string.Format(Resources.Descripciones.mailAhorroMesMayor, _AhorroMes);

                    if (_Gasto2MesosEnrera.AhorroFinDeMes > 0)
                    {
                        _Res += string.Format(Resources.Descripciones.mailAhorroMesMayorY2MesesMayor, _GetMesLetras(_Gasto2MesosEnrera.Mes), _Gasto2MesosEnrera.AhorroFinDeMes);
                    }
                    else
                    {
                        _Res += string.Format(Resources.Descripciones.mailAhorroMesMayorY2MesesMenorOIgual, _GetMesLetras(_Gasto2MesosEnrera.Mes), Math.Abs(_Gasto2MesosEnrera.AhorroFinDeMes.GetValueOrDefault()));
                    }
                }
                if (_AhorroMes == 0)
                {
                    _Res = string.Format(Resources.Descripciones.mailAhorroMesIgual);
                }
                if (_AhorroMes < 0)
                {
                    _Res = string.Format(Resources.Descripciones.mailAhorroMesMenor, Math.Abs(_AhorroMes));

                    if (_Gasto2MesosEnrera.AhorroFinDeMes > 0)
                    {
                        _Res += string.Format(Resources.Descripciones.mailAhorroMesMenorY2MesesMayor);
                    }
                    else
                    {
                        _Res += string.Format(Resources.Descripciones.mailAhorroMesMenorY2MesesMenorOIgual);
                    }
                }
            }
            catch (Exception _ex)
            {
            }
            return(_Res);
        }
コード例 #5
0
        //Total gasto Anual
        private string _TotalGastosAnual(SummaryTotal_Mensual _GastoMesAnterior, string _Usuari)
        {
            string  _Res = "";
            var     context = new ExpensesEF.Entities();
            decimal _TotalAnualAcumulado, _TotalAnualAcumuladoAnyoAnterior, diferencia;

            try
            {
                _TotalAnualAcumulado = context.SummaryTotal_Mensual.Where(x => x.idUser == _Usuari && x.Año == _GastoMesAnterior.Año).Sum(x => x.GastoTotal);
                if (_GastoMesAnterior.Mes == 12)
                {
                    //El darrer mes de l'any, només treiem el total.
                    _Res += string.Format(Resources.Descripciones.mailTotalGastadoAnual, _TotalAnualAcumulado);
                }
                else
                {
                    _Res += string.Format(Resources.Descripciones.mailTotalGastado, _TotalAnualAcumulado);

                    _TotalAnualAcumuladoAnyoAnterior = context.SummaryTotal_Mensual.Where(x => x.idUser == _Usuari && x.Año == _GastoMesAnterior.Año - 1 && x.Mes <= _GastoMesAnterior.Mes).Sum(x => x.GastoTotal);
                    diferencia = Math.Abs(_TotalAnualAcumulado - _TotalAnualAcumuladoAnyoAnterior);

                    if (_TotalAnualAcumuladoAnyoAnterior < _TotalAnualAcumulado)
                    {
                        _Res = string.Format(Resources.Descripciones.mailTotalGastadoAnyoAnteriorMenos, _TotalAnualAcumulado, _TotalAnualAcumuladoAnyoAnterior, diferencia);
                    }

                    if (_TotalAnualAcumuladoAnyoAnterior == _TotalAnualAcumulado)
                    {
                        _Res = string.Format(Resources.Descripciones.mailTotalGastadoAnyoAnteriorIgual, _TotalAnualAcumulado);
                    }

                    if (_TotalAnualAcumuladoAnyoAnterior > _TotalAnualAcumulado)
                    {
                        _Res = string.Format(Resources.Descripciones.mailTotalGastadoAnyoAnteriorMas, _TotalAnualAcumulado, _TotalAnualAcumuladoAnyoAnterior, diferencia);
                    }
                }
            }
            catch (Exception _ex)
            {}
            return(_Res);
        }
コード例 #6
0
        //Per a cada tipo de gasto, ens diu el que ens hem gastat
        private string _TiposGastos(SummaryTotal_Mensual _GastoMesAnterior, string _Usuari)
        {
            string  _Res    = "";
            var     context = new ExpensesEF.Entities();
            decimal _TotalGastoMensual;
            List <SummaryPorTipoGasto_Mensual> _TiposGastosMensual;

            try
            {
                _TotalGastoMensual  = Math.Round(context.SummaryPorTipoGasto_Mensual.Where(x => x.idUser == _Usuari && x.Año == _GastoMesAnterior.Año && x.Mes == _GastoMesAnterior.Mes).Sum(x => x.Valor));
                _TiposGastosMensual = context.SummaryPorTipoGasto_Mensual.Where(x => x.idUser == _Usuari && x.Año == _GastoMesAnterior.Año && x.Mes == _GastoMesAnterior.Mes).ToList();

                //Miramos si ha gastado algo este mes...
                if (_TiposGastosMensual.Count > 0)
                {
                    _Res  = string.Format(Resources.Descripciones.mailTipoGastoCabecera, _GetMesLetras(_GastoMesAnterior.Mes));
                    _Res += "<table>";
                    foreach (SummaryPorTipoGasto_Mensual TipoGasto_Mensual in _TiposGastosMensual)
                    {
                        _Res += "<tr>";
                        _Res += "<td>";
                        _Res += context.TipoGastoTextosTraduccion.Where(x => x.idTipoGasto == TipoGasto_Mensual.idTipoGasto && x.idIdioma == _idIdioma).FirstOrDefault().Descripcion + ":&nbsp;";
                        _Res += "</td>";
                        _Res += "<td>";
                        _Res += "<b>" + (TipoGasto_Mensual.Valor) + "</b>" + "€&nbsp;";
                        _Res += "</td>";
                        _Res += "<td>";
                        _Res += "(" + Math.Round((TipoGasto_Mensual.Valor / _TotalGastoMensual) * 100) + "%)";
                        _Res += "</td>";
                        _Res += "</tr>";
                    }
                    _Res += "</table>";
                }
            }
            catch (Exception _ex)
            {
            }

            return(_Res);
        }
コード例 #7
0
        //mirem els grups de gastos
        private string _GruposGastos(SummaryTotal_Mensual _GastoMesAnterior, string _Usuari)
        {
            string  _Res = "";
            string  _GrupoGastoNombre = "";
            var     context           = new ExpensesEF.Entities();
            decimal _TotalGastoMensual;
            decimal _ValorResto;
            List <SummaryPorGrupoGasto_Mensual> _GrupoGastosMensual;

            try
            {
                _TotalGastoMensual  = (context.SummaryPorTipoGasto_Mensual.Where(x => x.idUser == _Usuari && x.Año == _GastoMesAnterior.Año && x.Mes == _GastoMesAnterior.Mes).Sum(x => x.Valor));
                _GrupoGastosMensual = context.SummaryPorGrupoGasto_Mensual.Where(x => x.idUser == _Usuari && x.Año == _GastoMesAnterior.Año && x.Mes == _GastoMesAnterior.Mes).ToList();

                //Miramos si ha habido algún grupo de gasto este mes...
                if (_GrupoGastosMensual.Count > 0)
                {
                    _Res       += string.Format(Resources.Descripciones.mailGrupoGastos, _GrupoGastosMensual.Count + 1);
                    _ValorResto = _TotalGastoMensual;
                    foreach (SummaryPorGrupoGasto_Mensual GrupoGasto_Mensual in _GrupoGastosMensual)
                    {
                        _GrupoGastoNombre = context.GrupoGastoTextosTraduccion.Where(x => x.idGrupoGasto == GrupoGasto_Mensual.idGrupoGasto && x.idIdioma == _idIdioma).FirstOrDefault().Descripcion + "&nbsp;";
                        _Res        += _GrupoGastoNombre + "(<b>" + GrupoGasto_Mensual.Valor + "€</b>), ";
                        _ValorResto -= GrupoGasto_Mensual.Valor;
                    }
                    _Res  = _Res.Substring(0, _Res.Length - 2);
                    _Res += string.Format(Resources.Descripciones.mailGrupoGastosResto, _ValorResto);
                }
                else
                {
                    _Res = Resources.Descripciones.mailNoGrupoGasto;
                }
            }
            catch (Exception _ex)
            {
            }

            return(_Res);
        }
コード例 #8
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);
        }