public JsonResult CrearSolicitudCompra(string referencias) { rsolicitudesrepuestos modelo = new rsolicitudesrepuestos(); listadosugerido[] listado = JsonConvert.DeserializeObject <listadosugerido[]>(referencias); for (int i = 0; i < listado.Length; i++) { int guardar = 0; for (int h = 0; h < listado[i].cant.Count; h++) { if (Convert.ToInt32(listado[i].cant[h]) > 0) { guardar = 1; } } if (guardar == 1) { modelo.bodega = listado[i].bod; modelo.fecha = DateTime.Now; modelo.usuario = Convert.ToInt32(Session["user_usuarioid"]); modelo.Detalle = "Solicitud realizada desde pedido sugerido"; modelo.tiposolicitud = 3; modelo.estado_solicitud = 1; modelo.tipo_compra = 2; modelo.cliente = Convert.ToInt32(Session["user_usuarioid"]); context.rsolicitudesrepuestos.Add(modelo); context.SaveChanges(); for (int j = 0; j < listado[i].refer.Count; j++) { if (Convert.ToInt32(listado[i].cant[j]) > 0) { string codigo = listado[i].refer[j]; icb_referencia buscar = context.icb_referencia.Where(x => x.modulo == "R" && x.ref_estado && x.ref_codigo == codigo).FirstOrDefault(); rdetallesolicitud detalle = new rdetallesolicitud { id_solicitud = modelo.id, referencia = buscar.ref_codigo, cantidad = Convert.ToInt32(listado[i].cant[j]), iva = buscar.por_iva != null?Convert.ToInt32(buscar.por_iva) : 0, valor = buscar.precio_venta, userid_creacion = Convert.ToInt32(Session["user_usuarioid"]), fecha_creacion = DateTime.Now, esta_pedido = 1 }; context.rdetallesolicitud.Add(detalle); } } } } int result = context.SaveChanges(); if (result > 0) { return(Json(true, JsonRequestBehavior.AllowGet)); } return(Json(false, JsonRequestBehavior.AllowGet)); }
public ActionResult Create(rsolicitudesrepuestos modelo, int?menu, string ot) { if (ModelState.IsValid) { var idorden = 0; bool convertir1 = int.TryParse(ot, out int num_ot); if (convertir1 == true) { idorden = num_ot; } tdetallerepuestosot orden = context.tdetallerepuestosot.Where(d => d.idorden == idorden).FirstOrDefault(); int contador = Convert.ToInt32(Request["listaReferencias"]); if (contador > 0) { modelo.fecha = DateTime.Now; modelo.usuario = Convert.ToInt32(Session["user_usuarioid"]); modelo.estado_solicitud = 1; if (!string.IsNullOrWhiteSpace(ot)) { bool convertir = int.TryParse(ot, out int numot); if (convertir == true) { modelo.id_ot = numot; } } if (idorden > 0) { orden.estadorepuesto = 3; context.Entry(orden).State = EntityState.Modified; context.SaveChanges(); } context.rsolicitudesrepuestos.Add(modelo); context.SaveChanges(); for (int i = 0; i < contador; i++) { string codigo = Request["codigoTabla" + i]; if (codigo != "") { rdetallesolicitud detalle = new rdetallesolicitud { id_solicitud = modelo.id, referencia = Request["codigoTabla" + i], cantidad = Convert.ToInt32(Request["cantidadTabla" + i]), iva = Convert.ToInt32(Request["ivaTabla" + i]), valor = Convert.ToDecimal(Request["precioTabla" + i], culturaInfo), userid_creacion = Convert.ToInt32(Session["user_usuarioid"]), fecha_creacion = DateTime.Now, esta_pedido = 1, }; context.rdetallesolicitud.Add(detalle); } } context.SaveChanges(); TempData["mensaje"] = "La solicitud se ha agregado exitosamente"; } else { TempData["mensaje_error"] = "Ingrese al menos una referencia"; } } ListasDesplegables(new rsolicitudesrepuestos()); var referencias = context.icb_referencia.Where(x => x.ref_estado && x.modulo == "R").Select(x => new { codigo = x.ref_codigo, descripcion = x.ref_codigo + " - " + x.ref_descripcion }).OrderBy(x => x.descripcion).ToList(); //ViewBag.codigo = new SelectList(referencias, "codigo", "descripcion"); BuscarFavoritos(menu); return(View()); }