Beispiel #1
0
        public ActionResult Resumen()
        {
            var query = db.kpisinventariosexactitud.ToList().OrderBy(x => x.id).GroupBy(x => new { x.mes })
                        .Select(y => new kpisinventariosexactitud()
            {
                mes             = y.Key.mes,
                absoluto        = y.Sum(x => x.absoluto),
                valorinventario = y.Sum(x => x.valorinventario)
            });

            List <kpisinventariosexactitud> lista2 = new List <kpisinventariosexactitud>();

            foreach (var item in query)
            {
                kpisinventariosexactitud kpis = new kpisinventariosexactitud();
                kpis.mes             = item.mes;
                kpis.absoluto        = item.absoluto;
                kpis.valorinventario = item.valorinventario;

                decimal?value = kpis.absoluto;
                kpis.absolutoString = String.Format("{0:C}", value);

                decimal?value2 = kpis.valorinventario;
                kpis.valorString = String.Format("{0:C}", value2);

                if (item.valorinventario > 0)
                {
                    var    resultado         = ((decimal)item.valorinventario - (decimal)(int)item.absoluto) / (decimal)(int)item.valorinventario;
                    var    porcentajeRounded = resultado * 100;
                    double p = Convert.ToDouble(porcentajeRounded);
                    kpis.Porcentaje = String.Format("{0:0.0000}", p);
                }
                else
                {
                    kpis.Porcentaje = "0";
                }
                Totales();
                lista2.Add(kpis);
            }
            return(PartialView(lista2.ToList()));
        }
Beispiel #2
0
        public ActionResult ListaKpis()
        {
            var Draw          = Request.Form.GetValues("draw").FirstOrDefault();
            var Start         = Request.Form.GetValues("start").FirstOrDefault();
            var Length        = Request.Form.GetValues("length").FirstOrDefault();
            var SortColumn    = Request.Form.GetValues("columns[" + Request.Form.GetValues("order[0][column]").FirstOrDefault() + "][data]").FirstOrDefault();
            var SortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault();

            var Mes  = Request.Form.GetValues("columns[1][search][value]").FirstOrDefault();
            var Area = Request.Form.GetValues("columns[2][search][value]").FirstOrDefault();

            int PageSize = Length != null?Convert.ToInt32(Length) : 0;

            int Skip = Start != null?Convert.ToInt32(Start) : 0;

            int TotalRecords = 0;

            try
            {
                List <kpisinventariosexactitud> listaKPIS = new List <kpisinventariosexactitud>();

                using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString()))
                {
                    con.Open();

                    string sql = "exec [dbo].[SP_KPISINVENTARIOSEXACTITUD_PARAMETROSOPCIONALES] @mes, @area";

                    var query = new SqlCommand(sql, con);


                    if (Mes != "")
                    {
                        query.Parameters.AddWithValue("@mes", Mes);
                    }
                    else
                    {
                        query.Parameters.AddWithValue("@mes", DBNull.Value);
                    }

                    if (Area != "")
                    {
                        query.Parameters.AddWithValue("@area", Area);
                    }
                    else
                    {
                        query.Parameters.AddWithValue("@area", DBNull.Value);
                    }

                    using (var dr = query.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            // facturas
                            var kpis = new kpisinventariosexactitud();

                            kpis.id              = Convert.ToInt32(dr["id"]);
                            kpis.mes             = dr["mes"].ToString();
                            kpis.subinventario   = dr["subinventario"].ToString();
                            kpis.absoluto        = Convert.ToDecimal(dr["absoluto"]);
                            kpis.valorinventario = Convert.ToDecimal(dr["valorinventario"]);

                            listaKPIS.Add(kpis);
                        }
                    }
                }

                if (!(string.IsNullOrEmpty(SortColumn) && string.IsNullOrEmpty(SortColumnDir)))
                {
                    listaKPIS = listaKPIS.OrderBy(SortColumn + " " + SortColumnDir).ToList();
                }

                TotalRecords = listaKPIS.ToList().Count();
                var NewItems = listaKPIS.Skip(Skip).Take(PageSize == -1 ? TotalRecords : PageSize).ToList();

                return(Json(new { draw = Draw, recordsFiltered = TotalRecords, recordsTotal = TotalRecords, data = NewItems }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception _ex)
            {
                Console.WriteLine(_ex.Message.ToString());
                ViewBag.Error = "Ha ocurrido un error. Contacte al administrador del sistema";
                return(RedirectToAction("Error500", "Errores"));
            }
        }