Пример #1
0
        public ActionResult CodesCampArt(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var usuario = db.Usuarios.Where(u => u.NombreUsuario == User.Identity.Name).FirstOrDefault();

            movimiento = "Generando Códigos";
            MovementsHelper.MovimientosBitacora(usuario.UsuarioId, modulo, movimiento);

            if (usuario == null)
            {
                return(RedirectToAction("Index"));
            }

            var response = MovementsHelper.GenerarCodigos(id);

            if (response.Succeeded)
            {
                var campaña = db.Campañas.Where(x => x.CampañaId == id).FirstOrDefault();

                var codigosMateriales = db.Database.SqlQuery <CodigosMaterialesTotal>("spGetMaterialesCodigosCampaña @CampañaId",
                                                                                      new SqlParameter("@CampañaId", id)).ToList();

                var codigosMaterialesOrdenes = db.Database.SqlQuery <CodigosMaterialesTotalOrdenes>("spGetMaterialesOrdenes @CampañaId",
                                                                                                    new SqlParameter("@CampañaId", id)).ToList();

                var vacio = "";

                var folder = Server.MapPath("~/Content/Archivos/");

                using (StreamWriter streamWriter = new StreamWriter(folder + "Materiales" + campaña.Nombre + ".txt"))
                {
                    foreach (var codigo in codigosMateriales)
                    {
                        var linea = "INSERT INTO Articulos (Codigo, Descripcion, SistemaImpresion,MedExtendida,Sustrato,Tintas,Laminado_FV,Corte,MatPegue,InfAdicional) VALUES ('" + codigo.Codigo + "', '" + codigo.ArticuloKFC.ToUpper() + "', '" + vacio + "', '" + vacio + "', '" + vacio + "', '" + vacio + "', '" + vacio + "', '" + vacio + "', '" + vacio + "', '" + codigo.ArticuloKFC.ToUpper() + "')";
                        streamWriter.WriteLine(linea);
                    }
                }

                using (StreamWriter streamWriter = new StreamWriter(folder + "Materiales" + campaña.Nombre + ".txt", false, Encoding.GetEncoding(1252)))
                {
                    foreach (var codigo in codigosMateriales)
                    {
                        var linea = "INSERT INTO Articulos (Codigo, Descripcion, SistemaImpresion,MedExtendida,Sustrato,Tintas,Laminado_FV,Corte,MatPegue,InfAdicional) VALUES ('" + codigo.Codigo + "', '" + codigo.ArticuloKFC.ToUpper() + "', '" + vacio + "', '" + vacio + "', '" + vacio + "', '" + vacio + "', '" + vacio + "', '" + vacio + "', '" + vacio + "', '" + codigo.ArticuloKFC.ToUpper() + "')";
                        streamWriter.WriteLine(linea);
                    }
                }

                var tiendas = db.Database.SqlQuery <spTiendasActivas>("spGetRestaurantesActivos").ToList();
                var i       = 1;

                using (StreamWriter streamWriter = new StreamWriter(folder + "Tiendas" + campaña.Nombre + ".txt", false, Encoding.GetEncoding(1252)))
                {
                    foreach (var tienda in tiendas)
                    {
                        var linea = "INSERT INTO Tiendas (Id, Secuencia, Tienda, Region, Ciudad, IdCampana) VALUES (" + tienda.CCoFranquicia.ToUpper() + ", " + i + ", '" + tienda.CCoFranquicia.ToUpper() + " / " + tienda.Restaurante.ToUpper() + "', '" + tienda.Region.ToUpper() + "', '" + tienda.Ciudad.ToUpper() + "', " + Convert.ToInt32(campaña.Nombre) + ")";
                        streamWriter.WriteLine(linea);

                        i = i + 1;
                    }
                }

                using (StreamWriter streamWriter = new StreamWriter(folder + "Ordenes" + campaña.Nombre + ".txt", false, Encoding.GetEncoding(1252)))
                {
                    foreach (var codigo in codigosMaterialesOrdenes)
                    {
                        var linea = "INSERT INTO Ordenes (CAMPANA, IDTIENDA, IDARTICULO, CANTIDAD) VALUES ('" + campaña.Descripcion.ToUpper() + "', '" + codigo.CCoFranquicia.ToUpper() + "', '" + codigo.Codigo + "', " + codigo.Cantidad + ")";
                        streamWriter.WriteLine(linea);
                    }
                }

                movimiento = "Generar Códigos " + campaña.CampañaId + " " + campaña.Nombre + " / " + campaña.Descripcion;
                MovementsHelper.MovimientosBitacora(usuario.UsuarioId, modulo, movimiento);

                return(Json(new { success = true, message = "CODIGOS GENERADOS" }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { success = true, message = response.Message }, JsonRequestBehavior.AllowGet));
            }
        }