Example #1
0
        public ActionResult Delete(int semana)
        {
            List <kpisrecibo> lista = db.kpisrecibo.Where(x => x.wk == semana).ToList();

            foreach (var item in lista)
            {
                kpisrecibo kpi = db.kpisrecibo.Find(item.id);
                db.kpisrecibo.Remove(kpi);
                db.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }
Example #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 WK    = Request.Form.GetValues("columns[2][search][value]").FirstOrDefault();
            var Mes   = Request.Form.GetValues("columns[3][search][value]").FirstOrDefault();
            var Orden = Request.Form.GetValues("columns[5][search][value]").FirstOrDefault();

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

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

            int TotalRecords = 0;

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

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

                    string sql = "exec [dbo].[SP_KPISRECIBO_PARAMETROSOPCIONALES] @mes, @wk, @orden";

                    var query = new SqlCommand(sql, con);

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

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

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

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

                            kpis.id        = Convert.ToInt32(dr["id"]);
                            kpis.fecha     = Convert.ToDateTime(dr["fecha"]);
                            kpis.wk        = Convert.ToInt32(dr["wk"]);
                            kpis.mes       = dr["mes"].ToString();
                            kpis.proveedor = dr["proveedor"].ToString();
                            kpis.ordenguia = dr["ordenguia"].ToString();
                            kpis.descarga  = dr["descarga"].ToString();
                            kpis.fechahoradescargastring       = dr["fechahoradescarga"].ToString();
                            kpis.fechahoraingresosistemastring = dr["fechahoraingresosistema"].ToString();
                            kpis.tiempoaplicacionoracle        = dr["tiempoaplicacionoracle"].ToString();
                            kpis.evaluacioningreso             = dr["evaluacioningreso"].ToString();

                            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)
            {
                throw;
            }
        }
Example #3
0
        public ActionResult Resumen()
        {
            try
            {
                var kpi = from k in db.kpisrecibo
                          select new { k.id, evaluacion = k.evaluacioningreso, mes = k.mes };

                var listakpis = new List <kpisrecibo>();

                foreach (var item in kpi)
                {
                    kpisrecibo kpisplaneacion = new kpisrecibo();
                    kpisplaneacion.id  = item.id;
                    kpisplaneacion.mes = item.mes;
                    kpisplaneacion.evaluacioningreso = item.evaluacion;
                    listakpis.Add(kpisplaneacion);
                }

                var kpisAgrupados = from k in listakpis
                                    group k by k.mes into g
                                    select new GourpMeses <string, kpisrecibo>
                {
                    Key          = g.Key,
                    Values       = g,
                    TotalRecords = g.Count(x => x.evaluacioningreso.Contains("A Tiempo") || x.evaluacioningreso.Contains("Tarde")),
                    TotalOks     = g.Count(x => x.evaluacioningreso.Contains("A Tiempo")),
                    TotalDesv    = g.Count(x => x.evaluacioningreso.Contains("Tarde"))
                };

                List <kpisrecibo> lista = new List <kpisrecibo>();

                foreach (var item in kpisAgrupados)
                {
                    kpisrecibo kpisplaneacion = new kpisrecibo();
                    kpisplaneacion.mes       = item.Key;
                    kpisplaneacion.Total     = (int)item.TotalRecords;
                    kpisplaneacion.TotalOks  = (int)item.TotalOks;
                    kpisplaneacion.TotalDesv = (int)item.TotalDesv;

                    if (item.TotalOks > 0)
                    {
                        var porcentajeOk          = ((int)item.TotalOks / (decimal)(int)item.TotalRecords) * 100;
                        var porcentajeDesvRounded = Math.Round(porcentajeOk, 2);
                        kpisplaneacion.procentaje = porcentajeDesvRounded;
                    }
                    else
                    {
                        kpisplaneacion.procentaje = 0;
                    }

                    Totales();

                    lista.Add(kpisplaneacion);
                }

                return(PartialView(lista.ToList()));
            }
            catch (Exception)
            {
                throw;
            }
        }