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")); }
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; } }
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; } }