public ActionResult cuentaDeRequerimientos(FechasModel proyecto) { TempData.Keep(); string cedCliente = TempData["clientId"] as string; int? cedula = Convert.ToInt32(cedCliente); if (proyecto.codigoProy == 0) { TempData["requirementsData"] = db.requerimientosFinalizadosEncurso(cedula, null).ToList(); } else { TempData["requirementsData"] = db.requerimientosFinalizadosEncurso(cedula, proyecto.codigoProy).ToList(); } return(View()); }
public ActionResult ProjectRequirementsState(FechasModel proyecto) { TempData.Keep(); string cedCliente = TempData["clientId"] as string; int? cedula = Convert.ToInt32(cedCliente); if (proyecto.codigoProy == 0) { TempData["requirementsInfo"] = db.requerimientosDeUnProyecto(cedula, null).ToList(); } else { TempData["requirementsInfo"] = db.requerimientosDeUnProyecto(cedula, proyecto.codigoProy).ToList(); } return(View()); }
public ActionResult EmployeesDates(FechasModel fechas) { if (fechas.Fecha1 == null || fechas.Fecha2 == null || fechas.Fecha2 < fechas.Fecha1) { TempData.Keep(); return(View()); } else { TempData.Keep(); var empl = db.DiasDisponiblesEmpleado(fechas.Fecha1, fechas.Fecha2).ToList(); //lista principal, sin fechas int size = empl.Count(); var empl2 = db.PeriodosDeDisponibilidadEmpleado(fechas.Fecha1, fechas.Fecha2).ToList(); //lista con las fechas int size2 = empl2.Count(); //variables temporales //bool created = false; bool done; int counter = 0; int counter2; int counter3; int times = 0; int counter4; string cedula = "000000000"; DateTime [] periodos; if (size2 > 0) { periodos = new DateTime[size2 * 2]; //para maximo *2 } else { periodos = new DateTime[2]; //para maximo *2 } TempData["nulo"] = periodos[0]; //primer ciclo, controla por cedula while (counter < size2) { if (empl2[counter].cedulaPK != cedula) //se guarda el periodo la primera vez que se ve la cedula { cedula = empl2[counter].cedulaPK; periodos[0] = empl2[counter].Fecha1.Value; periodos[1] = empl2[counter].Fecha2.Value; times = 2; } else // { counter2 = 0; while (counter2 < times) //se recorre por cada par de fechas actualmente en periodos { if (empl2[counter].Fecha1.Value > periodos[counter2] && empl2[counter].Fecha2.Value < periodos[counter2 + 1]) //inicia y termina durante { counter4 = times; while (counter4 > counter2) //movemos todos los valores dos lugares a la derecha { periodos[counter4 + 2] = periodos[counter4]; counter4--; } periodos[counter2 + 1] = empl2[counter].Fecha1.Value; periodos[counter2 + 2] = empl2[counter].Fecha2.Value; times += 2; } else if (empl2[counter].Fecha1.Value <= periodos[counter2] && empl2[counter].Fecha2.Value > periodos[counter2] && empl2[counter].Fecha2.Value < periodos[counter2 + 1]) //inicia antes, termina durante { periodos[counter2] = empl2[counter].Fecha2.Value; } else if (empl2[counter].Fecha1.Value <= periodos[counter2] && empl2[counter].Fecha2.Value >= periodos[counter2 + 1]) //inicia antes, termina despues { counter4 = counter2; while (counter4 < times) //movemos todos los valores dos a la izquierda { periodos[counter4] = periodos[counter4 + 2]; counter4++; } times -= 2; } else if (empl2[counter].Fecha1.Value > periodos[counter2] && empl2[counter].Fecha1.Value < periodos[counter2 + 1] && empl2[counter].Fecha2.Value >= periodos[counter2 + 1]) //inicia durante, termina despues { periodos[counter2 + 1] = empl2[counter].Fecha1.Value; } counter2 += 2; } } if ((counter + 1) == size2 || empl2[counter + 1].cedulaPK != cedula) // es el ultimo valor para este empleado y se guarda { done = false; counter3 = 0; while (done == false && counter3 < size) { if (empl[counter3].cedulaPK == cedula) { empl[counter3].fechas = new DateTime[size2 * 2]; periodos.CopyTo(empl[counter3].fechas, 0); done = true; } counter3++; } //se limpia el array periodos for (int i = 0; i < times; i++) { periodos[i] = periodos[size2 * 2 - 1]; } } counter++; } TempData["empl"] = empl; TempData["fechas"] = fechas; return(View()); } }
public ActionResult KnowledgesReport(FechasModel fechas) { TempData.Keep(); TempData["reporteConocimientos"] = db.ReporteConocimientos(fechas.conocimiento).ToList(); return(View()); }
public ActionResult requerimientosDesarrollador(FechasModel modelo) { TempData.Keep(); // Para mantener los datos TempData["req"] = new empleadosController().GetEmployeeByProyect(modelo.codigoProy); return(View()); // Regresar a la vista }