public void inst_manodeobra(vw_operaciones_vh opr, int idtec) { tdetallemanoobraot oprOt = db.tdetallemanoobraot.FirstOrDefault(x => x.idorden == opr.ot_id && x.idtempario == opr.codigo); if (oprOt == null) { //busco la informacion específica del tempario ttempario operacion = db.ttempario.Where(d => d.codigo == opr.codigo).FirstOrDefault(); tdetallemanoobraot operacionOt = new tdetallemanoobraot { costopromedio = 0, fecha = DateTime.Now, idorden = opr.ot_id, idtempario = opr.codigo, tiempo = Convert.ToDecimal(opr.tiempo), idtecnico = idtec, valorunitario = opr.precio_tempario != null ? opr.precio_tempario.Value : 0, pordescuento = 0, poriva = operacion.iva, estado = "1" }; db.tdetallemanoobraot.Add(operacionOt); if (!string.IsNullOrWhiteSpace(opr.referencia)) { icb_referencia referencia = db.icb_referencia.Where(d => d.ref_codigo == opr.referencia).FirstOrDefault(); tencabezaorden orden = db.tencabezaorden.Where(d => d.id == opr.ot_id).FirstOrDefault(); tdetallerepuestosot referenciaOT = new tdetallerepuestosot { costopromedio = 0, idorden = opr.ot_id, idrepuesto = opr.referencia, valorunitario = opr.precio_repuesto != null ? opr.precio_repuesto.Value : 0, pordescto = referencia != null?Convert.ToDecimal(referencia.por_dscto) : 0, poriva = referencia != null?Convert.ToDecimal(referencia.por_iva) : 0, cantidad = opr.cant_sistema, idtercero = orden.tercero, solicitado = false }; db.tdetallerepuestosot.Add(referenciaOT); } db.SaveChanges(); } }
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()); }