示例#1
0
        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));
        }
示例#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());
        }