Example #1
0
        public List <TotalPointAndPriceDTO> SW_GetTotalPriceReports(int year)
        {
            var           result   = new List <TotalPointAndPriceDTO>();
            StringBuilder allQuery = new StringBuilder();
            var           query    = @"select * from  [GetTotalPrice](@P_year) ";

            allQuery.Append(query);

            using (var connection = new SqlConnection(ConnectionStrings.ConnectionString))
            {
                connection.Open();

                using (var command = new SqlCommand(allQuery.ToString(), connection))
                {
                    SqlParameter pyear = new SqlParameter("@P_year", SqlDbType.Int);
                    pyear.Value = year;
                    command.Parameters.Add(pyear);
                    var reader = command.ExecuteReader();

                    while (reader.Read())
                    {
                        TotalPointAndPriceDTO totalPointAndPriceDTO = new TotalPointAndPriceDTO()
                        {
                            INOUT_EVType     = reader.GetInt32OrDefaultValue(0),
                            UserName         = reader.GetStringOrEmpty(1),
                            CustomerFullName = reader.GetStringOrEmpty(2),
                            Year             = reader.GetInt32OrDefaultValue(3),
                            January          = reader.GetDecimalOrDefaultValue2(4),
                            February         = reader.GetDecimalOrDefaultValue2(5),
                            March            = reader.GetDecimalOrDefaultValue2(6),
                            April            = reader.GetDecimalOrDefaultValue2(7),
                            May       = reader.GetDecimalOrDefaultValue2(8),
                            June      = reader.GetDecimalOrDefaultValue2(9),
                            July      = reader.GetDecimalOrDefaultValue2(10),
                            August    = reader.GetDecimalOrDefaultValue2(11),
                            September = reader.GetDecimalOrDefaultValue2(12),
                            October   = reader.GetDecimalOrDefaultValue2(13),
                            November  = reader.GetDecimalOrDefaultValue2(14),
                            December  = reader.GetDecimalOrDefaultValue2(15),
                        };


                        totalPointAndPriceDTO.Average = GetAverage(totalPointAndPriceDTO);

                        result.Add(totalPointAndPriceDTO);
                    }
                }
                connection.Close();
            }

            return(result);
        }
Example #2
0
        public decimal GetAverage(TotalPointAndPriceDTO item)
        {
            int     k            = 0;
            decimal averageTotal = 0;

            if (item.January.HasValue)
            {
                k++;
                averageTotal = averageTotal + (int)item.January;
            }
            if (item.February.HasValue)
            {
                k++;
                averageTotal = averageTotal + (int)item.February;
            }
            if (item.March.HasValue)
            {
                k++;
                averageTotal = averageTotal + (int)item.March;
            }
            if (item.April.HasValue)
            {
                k++;
                averageTotal = averageTotal + (int)item.April;
            }
            if (item.May.HasValue)
            {
                k++;
                averageTotal = averageTotal + (int)item.May;
            }

            if (item.June.HasValue)
            {
                k++;
                averageTotal = averageTotal + (int)item.June;
            }
            if (item.July.HasValue)
            {
                k++;
                averageTotal = averageTotal + (int)item.July;
            }
            if (item.August.HasValue)
            {
                k++;
                averageTotal = averageTotal + (int)item.August;
            }
            if (item.September.HasValue)
            {
                k++;
                averageTotal = averageTotal + (int)item.September;
            }
            if (item.October.HasValue)
            {
                k++;
                averageTotal = averageTotal + (int)item.October;
            }
            if (item.November.HasValue)
            {
                k++;
                averageTotal = averageTotal + (int)item.November;
            }
            if (item.December.HasValue)
            {
                k++;
                averageTotal = averageTotal + (int)item.December;
            }

            decimal average = averageTotal / (k == 0 ? 1 : k);

            return(average);
        }