public ActionResult agregar_nuevo_material(solicitudMaterialModels servicio)
 {
     ModelState.Clear();
     if (!materialYaExistente(servicio))//material no solicitado
     {
         List<solicitudMaterialModels> listaAgregadosMaterialSolicitado = (List<solicitudMaterialModels>)Session["listaAgregadosMaterialSolicitado"];
         listaAgregadosMaterialSolicitado.Add(servicio);
         Session["listaAgregadosMaterialSolicitado"] = listaAgregadosMaterialSolicitado;
         ViewBag.listaAgregadosMaterialSolicitado = Session["listaAgregadosMaterialSolicitado"];
         int rut_jefe_cuadrilla = 123456789;
         ViewBag.NumeroOrden = solicitudMaterialModels.generarNumeroOrden(rut_jefe_cuadrilla);
         ViewBag.MaterialesAsignados = solicitudMaterialModels.generarMaterialesAsignados(rut_jefe_cuadrilla);
         ViewBag.SolicitudDeMateriales = solicitudMaterialModels.generarSolicitudDeMateriales(rut_jefe_cuadrilla);
         ViewBag.respuestaPost = "El tipo de material " + servicio.tipo + " se  agregado a la lista de solicitudes de manera satisfactoria";
         ViewBag.tipoRespuestaPos = "informacion";
         return View();
     }
     else {
         ViewBag.listaAgregadosMaterialSolicitado = Session["listaAgregadosMaterialSolicitado"];
         int rut_jefe_cuadrilla = 123456789;
         ViewBag.NumeroOrden = solicitudMaterialModels.generarNumeroOrden(rut_jefe_cuadrilla);
         ViewBag.MaterialesAsignados = solicitudMaterialModels.generarMaterialesAsignados(rut_jefe_cuadrilla);
         ViewBag.SolicitudDeMateriales = solicitudMaterialModels.generarSolicitudDeMateriales(rut_jefe_cuadrilla);
         ViewBag.respuestaPost = "El tipo de material " + servicio.tipo + " ya se ha sido solicitada";
         ViewBag.tipoRespuestaPos = "advertencia";
         return View();
     }
 }
 public ActionResult agregar_nuevo_material(solicitudMaterialModels servicio)
 {
     ModelState.Clear();
     int precioInt;
     if (!Int32.TryParse(servicio.cantidad, out precioInt))
     {
         ModelState.AddModelError("cantidad", "La cantidad ingresada debe ser un numero entero positivo");
     }
     else if (Convert.ToInt32(servicio.cantidad)<=0)
     {
         ModelState.AddModelError("cantidad", "La cantidad ingresada debe ser un numero entero positivo");
     }
     if (servicio.id == null || servicio.id == "-10")
     {
         ModelState.AddModelError("tipo", "ingresa un material valido");
     }
     if (ModelState.IsValid)
     {
         if (!materialYaExistente(servicio))//material no solicitado
         {
             List<solicitudMaterialModels> listaAgregadosMaterialSolicitado = (List<solicitudMaterialModels>)Session["listaAgregadosMaterialSolicitado"];
             listaAgregadosMaterialSolicitado.Add(servicio);
             Session["listaAgregadosMaterialSolicitado"] = listaAgregadosMaterialSolicitado;
             ViewBag.listaAgregadosMaterialSolicitado = Session["listaAgregadosMaterialSolicitado"];
             int rut_jefe_cuadrilla = Convert.ToInt32(User.Identity.Name);
             ViewBag.NumeroOrden = solicitudMaterialModels.generarNumeroOrden(rut_jefe_cuadrilla);
             ViewBag.MaterialesAsignados = materialSolicitado.getSolicitudMaterial(rut_jefe_cuadrilla, User.Identity.Name);
             ViewBag.SolicitudDeMateriales = solicitudMaterialModels.generarSolicitudDeMateriales(rut_jefe_cuadrilla);
             ViewBag.respuestaPost = "El tipo de material " + servicio.tipo + " se  agregado a la lista de solicitudes de manera satisfactoria";
             ViewBag.tipoRespuestaPos = "informacion";
             return View();
         }
         else
         {
             ViewBag.listaAgregadosMaterialSolicitado = Session["listaAgregadosMaterialSolicitado"];
             int rut_jefe_cuadrilla = Convert.ToInt32(User.Identity.Name);
             ViewBag.NumeroOrden = solicitudMaterialModels.generarNumeroOrden(rut_jefe_cuadrilla);
             ViewBag.MaterialesAsignados = materialSolicitado.getSolicitudMaterial(rut_jefe_cuadrilla, User.Identity.Name);
             ViewBag.SolicitudDeMateriales = solicitudMaterialModels.generarSolicitudDeMateriales(rut_jefe_cuadrilla);
             ViewBag.respuestaPost = "El tipo de material " + servicio.tipo + " ya se ha sido solicitada";
             ViewBag.tipoRespuestaPos = "advertencia";
             return View();
         }
     }
     else {
         ViewBag.listaAgregadosMaterialSolicitado = Session["listaAgregadosMaterialSolicitado"];
         int rut_jefe_cuadrilla = Convert.ToInt32(User.Identity.Name);
         ViewBag.NumeroOrden = solicitudMaterialModels.generarNumeroOrden(rut_jefe_cuadrilla);
         ViewBag.MaterialesAsignados = materialSolicitado.getSolicitudMaterial(rut_jefe_cuadrilla, User.Identity.Name);
         ViewBag.SolicitudDeMateriales = solicitudMaterialModels.generarSolicitudDeMateriales(rut_jefe_cuadrilla);
         return View();
     }
 }
 public ActionResult solicitarMaterial(solicitudMaterialModels servicio, string btn_agregar_servicio, string btn_solicitar)
 {
     if (btn_agregar_servicio != null)//agregamos nuevo servicio
     {
         return (agregar_nuevo_material(servicio));
     }
     else if (btn_solicitar != null)
     {
         return guardar_solicitud();
     } else
     {
         return (eliminar_nuevo_material(servicio));
     }
 }
 public bool materialYaExistente(solicitudMaterialModels servicio)
 {
     List<solicitudMaterialModels> listaAgregadosMaterialSolicitado = (List<solicitudMaterialModels>)Session["listaAgregadosMaterialSolicitado"];
     if (listaAgregadosMaterialSolicitado == null)
     {
         Session["listaAgregadosMaterialSolicitado"] = new List<solicitudMaterialModels>();
         return false;
     }
     else
     {
         for (int i = 0; i < listaAgregadosMaterialSolicitado.Count; i++)
         {
             if (listaAgregadosMaterialSolicitado[i].id == servicio.id)
             {
                 return true;
             }
         }
         return false;
     }
 }
 public ActionResult eliminar_nuevo_material(solicitudMaterialModels servicio)
 {
     ModelState.Clear();
     int rut_jefe_cuadrilla = 123456789;
     string nombreParam = "", valorParam = "", id = "";
     NameValueCollection col = Request.Params;
     for (int i = 0; i < Request.Params.Count; i++)
     {
         nombreParam = col.GetKey(i);
         if (nombreParam.Contains("eliminar_")) {
             valorParam = col.Get(i);
             id = nombreParam.Substring("eliminar_".Length);
             break;
         }
     }
     if (id != "")
     {
         List<solicitudMaterialModels> listaAgregadosMaterialSolicitado = (List<solicitudMaterialModels>)Session["listaAgregadosMaterialSolicitado"];
         for (int i = 0; i < listaAgregadosMaterialSolicitado.Count; i++)
         {
             if (listaAgregadosMaterialSolicitado[i].id == id)
             {
                 listaAgregadosMaterialSolicitado.RemoveAt(i);
                 ViewBag.listaAgregadosMaterialSolicitado = Session["listaAgregadosMaterialSolicitado"];
                 ViewBag.NumeroOrden = solicitudMaterialModels.generarNumeroOrden(rut_jefe_cuadrilla);
                 ViewBag.MaterialesAsignados = solicitudMaterialModels.generarMaterialesAsignados(rut_jefe_cuadrilla);
                 ViewBag.SolicitudDeMateriales = solicitudMaterialModels.generarSolicitudDeMateriales(rut_jefe_cuadrilla);
                 ViewBag.respuestaPost = servicio.tipo + " eliminado de manera satisfactoria";
                 ViewBag.tipoRespuestaPos = "informacion";
                 return View();
             }
         }
     }
     else {
         ViewBag.listaAgregadosMaterialSolicitado = Session["listaAgregadosMaterialSolicitado"];
         ViewBag.NumeroOrden = solicitudMaterialModels.generarNumeroOrden(rut_jefe_cuadrilla);
         ViewBag.MaterialesAsignados = solicitudMaterialModels.generarMaterialesAsignados(rut_jefe_cuadrilla);
         ViewBag.SolicitudDeMateriales = solicitudMaterialModels.generarSolicitudDeMateriales(rut_jefe_cuadrilla);
         ViewBag.respuestaPost = "Error al eliminar " + servicio.tipo;
         ViewBag.tipoRespuestaPos = "advertencia";
         return View();
     }
     ViewBag.listaAgregadosMaterialSolicitado = Session["listaAgregadosMaterialSolicitado"];
     ViewBag.NumeroOrden = solicitudMaterialModels.generarNumeroOrden(rut_jefe_cuadrilla);
     ViewBag.MaterialesAsignados = solicitudMaterialModels.generarMaterialesAsignados(rut_jefe_cuadrilla);
     ViewBag.SolicitudDeMateriales = solicitudMaterialModels.generarSolicitudDeMateriales(rut_jefe_cuadrilla);
     return View();
 }