public async Task<ActionResult> Nuevo([Bind(Include = "id,nombre,linea,ano_actual,acceso_coche,distancia_pie,o_acceso_coche,o_distancia_pie,lat,lon,tipo_cimentacion,referencia_catastral,observaciones,seguridad,suelo,tipo_foemp,num_cir,num_empalmes,a_mantenimiento,t_coordenadas,a_o_s,subCircuitos")] ApoyoForm apoyo) { if (ModelState.IsValid) { apoyo.id = Guid.NewGuid().ToString(); if (apoyo.t_coordenadas == 1) { Apoyo nuevo = new Apoyo(); Conexion db = new Conexion(); nuevo.id = apoyo.id; nuevo.nombre = apoyo.nombre; nuevo.linea = apoyo.linea; nuevo.ano_construccion = int.Parse(apoyo.ano_actual); nuevo.acceso_coche = apoyo.acceso_coche; nuevo.o_acceso_coche = apoyo.o_acceso_coche; nuevo.distancia_pie = apoyo.distancia_pie; nuevo.o_distancia_pie = apoyo.o_distancia_pie; nuevo.tipo_cimentacion = apoyo.tipo_cimentacion; nuevo.referencia_catastral = apoyo.referencia_catastral; nuevo.seguridad = apoyo.seguridad; nuevo.num_empalmes = apoyo.num_empalmes; nuevo.suelo = apoyo.suelo; nuevo.observaciones = apoyo.observaciones; nuevo.tipo_foemp = apoyo.tipo_foemp; nuevo.a_mantenimiento = apoyo.a_mantenimiento; nuevo.num_cir = apoyo.num_cir; nuevo.ubicacion = System.Data.Entity.Spatial.DbGeometry.PointFromText(string.Format("POINT({0} {1})", apoyo.lat, apoyo.lon), 4326).AsBinary(); if (apoyo.a_o_s == "0") { nuevo.amarre = true; nuevo.sustentacion = false; } else { nuevo.amarre = false; nuevo.sustentacion = true; } db.Apoyo.Add(nuevo); await db.SaveChangesAsync(); } else { bool nuevoA = new Apoyo().Insertar_UTM(apoyo); } Historial nuevoH = new Historial("Creó", User.Identity.GetUserId(), "Apoyo", apoyo.id, apoyo.nombre, Request.UserHostAddress); TempData["Mensaje"] = "Apoyo creado correctamente."; return RedirectToAction("Editar", "Apoyo", new {id= apoyo.id }); } TempData["Mensaje"] = "Error al crear la Apoyo."; return View(apoyo); }
public async Task<ActionResult> Programar([Bind(Include = "selectOperacion,selectLineas")] OperacionesProgramadas programar) { Operaciones operacion = db.Operaciones.First(m=>m.id == programar.selectOperacion); List<string> ids = new Apoyo().ApoyosAnomalia(operacion.anomalia, operacion.grado_anomalia); List<ApoyoLista> listaApoyos = db.ApoyoLista.Where(m => ids.Contains(m.id)).OrderBy(m=>m.nombre).ToList(); if(programar.selectLineas != null && programar.selectLineas.Count >0){ listaApoyos = listaApoyos.Where(m => programar.selectLineas.Contains(m.linea)).ToList(); } List<ApoyoLista> listTemp = new List<ApoyoLista>(); List<ApoyosProgramados> listaApoyosProgramados = new List<ApoyosProgramados>(); //FECHA DE MAÑANA DateTime uFecha = DateTime.Today.AddDays(1); OperacionesProgramadas nuevoOperacionesProgramadas = new OperacionesProgramadas(); nuevoOperacionesProgramadas.idoperacion = programar.selectOperacion; nuevoOperacionesProgramadas.fecha = DateTime.Now; nuevoOperacionesProgramadas.creadopor = User.Identity.GetUserId(); //Si hay apoyos a reparar if (listaApoyos.Count > 0) { //total de días de un equipo en realizar la operación int totalDias = listaApoyos.Count / operacion.rendimiento; //Si total de días es menor o igual a 24 que es el numero de días laborables. if (totalDias <= 24) { if (db.ApoyosProgramados.ToList() != null && db.ApoyosProgramados.ToList().Count > 0) { uFecha = db.ApoyosProgramados.OrderByDescending(m => m.end).Take(1).ToArray()[0].end; uFecha = uFecha.AddDays(1); } List<DateTime> listaFechas = new List<DateTime>(); while (listaFechas.Count < totalDias) { //Compruebo que las fechas no sean fin de semana if (uFecha.DayOfWeek != DayOfWeek.Saturday && uFecha.DayOfWeek != DayOfWeek.Sunday) { listaFechas.Add(uFecha); } //Aumento la fecha uFecha = uFecha.AddDays(1); } int indice = 0; //Recorro Lista de Fechas filtradas foreach (var e in listaFechas) { //Apoyos por fecha foreach (var f in listaApoyos.Skip(indice).Take(operacion.rendimiento)) { ApoyosProgramados nuevoApoyo = new ApoyosProgramados(); nuevoApoyo.start = e; nuevoApoyo.end = e; nuevoApoyo.idoperacionprogramada = nuevoOperacionesProgramadas.id; nuevoApoyo.idapoyo = f.id; listaApoyosProgramados.Add(nuevoApoyo); } indice = indice + operacion.rendimiento; } db.OperacionesProgramadas.Add(nuevoOperacionesProgramadas); await db.SaveChangesAsync(); db.ApoyosProgramados.AddRange(listaApoyosProgramados); await db.SaveChangesAsync(); }/*FIN IF SI ES MENOR DE 24 DIAS*/ else { //24 es la cantidad de días laborables en un mes int dias = operacion.tiempo_programacion * 24; //Total de apoyos por días (divido la cantidad de apoyos a operar entre el numero de dias laborables en el período de tiempo solicitado) decimal totalPDias1 = decimal.Divide(decimal.Parse(listaApoyos.Count.ToString()), decimal.Parse(dias.ToString())); int totalPDias = int.Parse(decimal.Ceiling(totalPDias1).ToString()); if (db.ApoyosProgramados.ToList() != null && db.ApoyosProgramados.ToList().Count > 0) { uFecha = db.ApoyosProgramados.OrderByDescending(m => m.end).Take(1).ToArray()[0].end; uFecha = uFecha.AddDays(1); } List<DateTime> listaFechas = new List<DateTime>(); while (listaFechas.Count < dias) { //Compruebo que las fechas no sean fin de semana if (uFecha.DayOfWeek != DayOfWeek.Saturday && uFecha.DayOfWeek != DayOfWeek.Sunday) { listaFechas.Add(uFecha); } //Aumento la fecha uFecha = uFecha.AddDays(1); } int indice = 0; //Recorro Lista de Fechas filtradas foreach (var e in listaFechas) { //Apoyos por fecha foreach (var f in listaApoyos.Skip(indice).Take(totalPDias)) { ApoyosProgramados nuevoApoyo = new ApoyosProgramados(); nuevoApoyo.start = e; nuevoApoyo.end = e; nuevoApoyo.idoperacionprogramada = nuevoOperacionesProgramadas.id; nuevoApoyo.idapoyo = f.id; listaApoyosProgramados.Add(nuevoApoyo); } indice = indice + totalPDias; } db.OperacionesProgramadas.Add(nuevoOperacionesProgramadas); await db.SaveChangesAsync(); db.ApoyosProgramados.AddRange(listaApoyosProgramados); await db.SaveChangesAsync(); } }/*FIN IF SI HAY APOYOS*/ TempData["Mensaje"] = "Operación Programada correctamente."; return View(new OperacionesProgramadas().Nuevo()); }
public async Task<ActionResult> Editar(string id) { try { ApoyoLista apoyo = await db.ApoyoLista.FindAsync(id); if (apoyo == null) { return HttpNotFound(); } bool comprobar =new Apoyo().ComprobarApoyo(id, User.Identity.GetUserId()); if (comprobar) { ApoyoForm editar = new ApoyoForm(apoyo); TempData["confirmacion"] = "Desea Eliminar esta Inspección?"; TempData["confirmacionD"] = "Desea Eliminar este Documento?"; return View(editar); } else { TempData["MensajeAP"] = "Prohibido el acceso a este Apoyo con tus credenciales"; return RedirectToAction("Index","Acceso"); //throw new HttpException(401, "Unauthorized"); } } catch (Exception e) { throw new HttpException(500, e.ToString()); } }
public ActionResult Inspeccion(string id) { Inspecciones inspeccion = new Inspecciones().Ver(id); bool comprobar = new Apoyo().ComprobarApoyo(inspeccion.apoyo.id, User.Identity.GetUserId()); if (!comprobar) { TempData["MensajeAP"] = "No tiene credenciales para realizar esta operación."; return RedirectToAction("Index", "Acceso"); } return View(inspeccion); }
public ActionResult Operaciones(string id) { bool comprobar = new Apoyo().ComprobarApoyo(id, User.Identity.GetUserId()); if (!comprobar) { TempData["MensajeAP"] = "No tiene credenciales para realizar esta operación."; return RedirectToAction("Index", "Acceso"); } return View(db.ListaInspeccionesProgramadas.Where(m=>m.id == id).ToList()); }
// POST: Apoyo/Eliminar/5 public async Task<ActionResult> Eliminar(string id) { Apoyo apoyo = await db.Apoyo.FindAsync(id); if (apoyo == null) { return HttpNotFound(); } bool comprobar = new Apoyo().ComprobarApoyo(id, User.Identity.GetUserId()); if (!comprobar) { TempData["MensajeAP"] = "No tiene credenciales para realizar esta operación."; return RedirectToAction("Index", "Acceso"); } db.Apoyo.Remove(apoyo); await db.SaveChangesAsync(); Historial nuevo = new Historial("Eliminó", User.Identity.GetUserId(), "Apoyo", apoyo.id, apoyo.nombre, Request.UserHostAddress); TempData["Mensaje"] = "Apoyo eliminado correctamente."; bool el = new Ficheros().EliminarDirectorio(5, id); return RedirectToAction("Index"); }
public async Task<ActionResult> EliminarFichero(string id) { Apoyo_Documentos eliminar = db.Apoyo_Documentos.SingleOrDefault(m => m.id == id); bool comprobar = new Apoyo().ComprobarApoyo(eliminar.apoyo_id, User.Identity.GetUserId()); if (!comprobar) { TempData["MensajeAP"] = "No tiene credenciales para realizar esta operación."; return RedirectToAction("Index", "Acceso"); } string id_r = await new Ficheros().EliminarFicheros(id, 5); TempData["Mensaje"] = "Documento eliminado correctamente."; return RedirectToAction("Editar", "Apoyo", new { id = id_r }); }
public async Task<ActionResult> Ficheros(string id) { bool comprobar = new Apoyo().ComprobarApoyo(id, User.Identity.GetUserId()); if (!comprobar) { TempData["MensajeAP"] = "No tiene credenciales para realizar esta operación."; return RedirectToAction("Index", "Acceso"); } Ficheros nuevo = new Ficheros(); await nuevo.SubirFicheros(Request.Files, id, "Apoyos", "Documentos", 5); return RedirectToAction("Editar", "Apoyo", new { id = id }); }
public async Task<ActionResult> Editar([Bind(Include = "id,nombre,linea,ano_actual,o_acceso_coche,o_distancia_pie,lat,lon,tipo_cimentacion,referencia_catastral,observaciones,seguridad,suelo,tipo_foemp,num_cir,num_empalmes,a_mantenimiento,t_coordenadas,a_o_s,subCircuitos")] ApoyoForm apoyo) { bool comprobar = new Apoyo().ComprobarApoyo(apoyo.id, User.Identity.GetUserId()); if (!comprobar) { TempData["MensajeAP"] = "No tiene credenciales para realizar esta operación."; return RedirectToAction("Index", "Acceso"); } if (ModelState.IsValid) { try { ///Si el tipo de coordenadas son Geográficas if (apoyo.t_coordenadas == 1) { bool editar = new Apoyo().U_Apoyo(apoyo); if (editar) { Historial nuevo = new Historial("Editó", User.Identity.GetUserId(), "Apoyo", apoyo.id, apoyo.nombre, Request.UserHostAddress); TempData["Mensaje"] = "Apoyo editado correctamente."; return RedirectToAction("Editar", "Apoyo", new { id = apoyo.id }); } else { TempData["Mensaje"] = "Error al editar la Apoyo."; return RedirectToAction("Editar", "Apoyo", new { id = apoyo.id }); } } else { bool editar = new Apoyo().UTM_E_Apoyo(apoyo); if (editar) { Historial nuevo = new Historial("Editó", User.Identity.GetUserId(), "Apoyo", apoyo.id, apoyo.nombre, Request.UserHostAddress); TempData["Mensaje"] = "Apoyo editado correctamente."; return RedirectToAction("Editar", "Apoyo", new { id = apoyo.id }); } else { TempData["Mensaje"] = "Error al editar la Apoyo."; return RedirectToAction("Editar", "Apoyo", new { id = apoyo.id }); } } }catch{ TempData["Mensaje"] = "Error al editar la Apoyo."; return RedirectToAction("Editar", "Apoyo", new { id = apoyo.id }); } } TempData["Mensaje"] = "Error al editar la Apoyo."; return RedirectToAction("Editar", "Apoyo", new { id = apoyo.id }); }
public JsonResult GetJsonDataApoyosGeoJson(string id) { var retorno = new Apoyo().ApoyosGeoJson(); return Json(retorno, JsonRequestBehavior.AllowGet); }