Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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());
        }