예제 #1
0
        public static DetalleAnualDto ToDto(DataTable dt)
        {
            var dto = new DetalleAnualDto();

            foreach (DataRow dr in dt.Rows)
            {
                dto       = new DetalleAnualDto();
                dto.Error = dr["Error"].ToString();

                if (dto.Error == "")
                {
                    dto.Anio       = (dr["Ano"] != DBNull.Value ? Int32.Parse(dr["Ano"].ToString()) : 0);
                    dto.Enero      = (dr["01"] != DBNull.Value ? Int32.Parse(dr["01"].ToString()) : 0);
                    dto.Febrero    = (dr["02"] != DBNull.Value ? Int32.Parse(dr["02"].ToString()) : 0);
                    dto.Marzo      = (dr["03"] != DBNull.Value ? Int32.Parse(dr["03"].ToString()) : 0);
                    dto.Abril      = (dr["04"] != DBNull.Value ? Int32.Parse(dr["04"].ToString()) : 0);
                    dto.Mayo       = (dr["05"] != DBNull.Value ? Int32.Parse(dr["05"].ToString()) : 0);
                    dto.Junio      = (dr["06"] != DBNull.Value ? Int32.Parse(dr["06"].ToString()) : 0);
                    dto.Julio      = (dr["07"] != DBNull.Value ? Int32.Parse(dr["07"].ToString()) : 0);
                    dto.Agosto     = (dr["08"] != DBNull.Value ? Int32.Parse(dr["08"].ToString()) : 0);
                    dto.Septiembre = (dr["09"] != DBNull.Value ? Int32.Parse(dr["09"].ToString()) : 0);
                    dto.Octubre    = (dr["10"] != DBNull.Value ? Int32.Parse(dr["10"].ToString()) : 0);
                    dto.Noviembre  = (dr["11"] != DBNull.Value ? Int32.Parse(dr["11"].ToString()) : 0);
                    dto.Diciembre  = (dr["12"] != DBNull.Value ? Int32.Parse(dr["12"].ToString()) : 0);
                    dto.Total      = dto.Enero + dto.Febrero + dto.Marzo + dto.Abril + dto.Mayo + dto.Junio + dto.Julio + dto.Agosto + dto.Septiembre + dto.Octubre + dto.Noviembre + dto.Diciembre;
                }
            }
            return(dto);
        }
예제 #2
0
        public DetalleAnualDto GetFlujosByYear(int year, string userId)
        {
            DateTime firstDay = new DateTime(year, 1, 1);


            List <decimal> ingresos = new List <decimal>();
            List <decimal> gastos   = new List <decimal>();

            for (var m = firstDay.Month; m <= 12; m++)
            {
                var ingresosPorMes = _context.FlujosMensuales
                                     .Where(fm => fm.Flujo.Fecha.Year == year)
                                     .Where(fm => fm.Flujo.ApplicationUserId == userId && fm.Flujo.TipoId == 1 && fm.MesId == m)
                                     .Select(fm => fm.Monto)
                                     .DefaultIfEmpty(0)
                                     .Sum();

                var gastosPorMes = _context.FlujosMensuales
                                   .Where(fm => fm.Flujo.Fecha.Year == year)
                                   .Where(fm => fm.Flujo.ApplicationUserId == userId && fm.Flujo.TipoId == 2 && fm.MesId == m)
                                   .Select(fm => fm.Monto)
                                   .DefaultIfEmpty(0)
                                   .Sum();

                ingresos.Add(ingresosPorMes);
                gastos.Add(gastosPorMes);
            }

            var detalle = new DetalleAnualDto()
            {
                Ingresos = ingresos,
                Gastos   = gastos
            };

            return(detalle);
        }