Exemplo n.º 1
0
        // PUT api/PaintsAPI/5
        public HttpResponseMessage PutPaints(int id, Paints paints)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }

            if (id != paints.PaintId)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }

            db.Entry(paints).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, ex));
            }

            return(Request.CreateResponse(HttpStatusCode.OK));
        }
        /// <summary>
        /// Read method through StreamReadr
        /// </summary>
        /// <param name="filePath"></param>
        /// <returns></returns>
        public static List <IFigure> StreamRead(string filePath)
        {
            List <IFigure> figures = new List <IFigure>();

            StreamReader stream   = new StreamReader(filePath);
            XDocument    document = XDocument.Load(stream);
            XElement     xRoot    = document.Element("figures");

            foreach (XElement xe in xRoot.Elements("figure").ToList())
            {
                switch (xe.Element("material").Value)
                {
                case "Paper":
                    FiguresAdd(xe, figures, Material.Paper);
                    Paints paint = (Paints)int.Parse(xe.Element("color").Value);
                    PaintBrush.PaintFigure(figures[figures.Count - 1], paint);
                    break;

                case "Film":
                    FiguresAdd(xe, figures, Material.Film);
                    break;
                }
            }
            stream.Close();
            return(figures);
        }
Exemplo n.º 3
0
        // PUT api/PaintsAPI/5
        public HttpResponseMessage PutPaints(int id, Paints paints)
        {
            if (!ModelState.IsValid)
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
            }

            if (id != paints.PaintId)
            {
                return Request.CreateResponse(HttpStatusCode.BadRequest);
            }

            db.Entry(paints).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex);
            }

            return Request.CreateResponse(HttpStatusCode.OK);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Read method through XmlReader
        /// </summary>
        /// <param name="filePath"></param>
        /// <returns></returns>
        public static List <IFigure> XmlRead(String filePath)
        {
            List <IFigure> figures = new List <IFigure>();

            XmlReader reader = XmlReader.Create(filePath);

            while (reader.Read())
            {
                if (reader.Name == "material")
                {
                    String value = reader.ReadInnerXml();
                    switch (value)
                    {
                    case "Paper":
                        FiguresAdd(reader, figures, Material.Paper);
                        reader.Read();
                        Paints paint = (Paints)int.Parse(reader.ReadInnerXml());
                        PaintBrush.PaintFigure(figures[figures.Count - 1], paint);
                        break;

                    case "Film":
                        FiguresAdd(reader, figures, Material.Film);
                        break;
                    }
                }
            }
            reader.Close();
            return(figures);
        }
 /// <summary>
 /// Paint mathod
 /// </summary>
 /// <param name="newColor"></param>
 public void Paint(Paints newColor)
 {
     if (color != Paints.None)
     {
         throw new ImpossibleToPaintException();
     }
     color = newColor;
 }
Exemplo n.º 6
0
        public ActionResult DeleteConfirmed(int id)
        {
            Paints paints = db.Paints.Find(id);

            db.Paints.Remove(paints);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 /// <summary>
 /// Initializes a new instance of the RectanglePaper class, cutting from another figure
 /// </summary>
 /// <param name="figure"> Figure for cutting</param>
 /// <param name="b"> Width of a rectangle</param>
 /// <param name="a"> Height of a rectangle</param>
 public RectanglePaper(IFigure figure, double a, double b) : base(figure, a, b)
 {
     if (!(figure is Paper))
     {
         throw new CutException();
     }
     this.color = ((Paper)figure).GetColor();
 }
Exemplo n.º 8
0
 private void LoadPaintList()
 {
     Paints.Clear();
     foreach (Paint paint in PaintListFile.Read(PaintListPath))
     {
         Paints.Add(paint);
     }
 }
Exemplo n.º 9
0
 /// <summary>
 /// Method for paint figures
 /// </summary>
 /// <param name="figure"></param>
 /// <param name="color"></param>
 public static void PaintFigure(IFigure figure, Paints color)
 {
     if (!(figure is Paper))
     {
         throw new ImpossibleToPaintException();
     }
     ((Paper)figure).Paint(color);
 }
 /// <summary>
 /// Initializes a new instance of the CirclePaper class, cutting from another figure
 /// </summary>
 /// <param name="figure"> Figure for cutting</param>
 /// <param name="radius"> Circle radius</param>
 public CirclePaper(IFigure figure, double radius) : base(figure, radius)
 {
     if (!(figure is Paper))
     {
         throw new CutException();
     }
     this.color = ((Paper)figure).GetColor();
 }
        protected ConfigurationBaseViewModel(CarConfiguratorEntityContext context, bool onlySelectedAccessories = false,
                                             bool onlySelectedEngineSettings = false, bool onlySelectedPaints = false, bool onlySelectedRims = false)
        {
            var config   = SessionData.ActiveConfiguration;
            var carModel = context.CarModels.First(cur => cur.Id == config.CarModel.Id);

            //accessories
            Accessories = context.Accessories.ToList()
                          .Select(cur => new AccessoryViewModel(cur)
            {
                IsSelected = config.AccessoryIds.Contains(cur.Id)
            })
                          .OrderBy(cur => cur.Price)
                          .ToList();
            if (onlySelectedAccessories)
            {
                Accessories = Accessories.Where(cur => cur.IsSelected).ToList();
            }

            //engine settings
            EngineSettings = carModel.EngineSettings.ToList()
                             .Select(cur => new EngineSettingsViewModel(cur)
            {
                IsSelected = (cur.Id == config.EngineSettingsId)
            })
                             .OrderBy(cur => cur.Price)
                             .ToList();
            if (onlySelectedEngineSettings)
            {
                EngineSettings = EngineSettings.Where(cur => cur.IsSelected).ToList();
            }

            //paints
            Paints = context.Paints.ToList()
                     .Select(cur => new PaintViewModel(cur)
            {
                IsSelected = (cur.Id == config.PaintId)
            })
                     .OrderBy(cur => cur.Name)
                     .ToList();
            if (onlySelectedPaints)
            {
                Paints = Paints.Where(cur => cur.IsSelected).ToList();
            }

            //rims
            Rims = context.Rims.ToList()
                   .Select(cur => new RimViewModel(cur)
            {
                IsSelected = (cur.Id == config.RimId)
            })
                   .ToList();
            if (onlySelectedRims)
            {
                Rims = Rims.Where(cur => cur.IsSelected).ToList();
            }
        }
Exemplo n.º 12
0
        //
        // GET: /Paints/Delete/5

        public ActionResult Delete(int id = 0)
        {
            Paints paints = db.Paints.Find(id);

            if (paints == null)
            {
                return(HttpNotFound());
            }
            return(View(paints));
        }
Exemplo n.º 13
0
 public Mygame(int setwidth, int setheight, int i, Color l, Color d, Color b, Color g, Graphics gr)
 {
     width             = setwidth;
     height            = setheight;
     initialtime       = i;
     legacy            = new Deq <Generation>();
     currentgeneration = new Generation(width, height);
     paints            = new Paints(l, d, b, g);
     graph             = gr;
 }
Exemplo n.º 14
0
 public ActionResult Edit(Paints paints)
 {
     if (ModelState.IsValid)
     {
         db.Entry(paints).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(paints));
 }
Exemplo n.º 15
0
        public ActionResult Create(Paints paints)
        {
            if (ModelState.IsValid)
            {
                db.Paints.Add(paints);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            return View(paints);
        }
 public void AlphabeticPaintSort(bool ascending)
 {
     if (ascending)
     {
         Paints = new ObservableCollection <PaintStockViewModel>(Paints.OrderBy(x => x.Label).ToList());
     }
     else
     {
         Paints = new ObservableCollection <PaintStockViewModel>(Paints.OrderByDescending(x => x.Label).ToList());
     }
 }
Exemplo n.º 17
0
        // GET api/PaintsAPI/5
        public Paints GetPaints(int id)
        {
            Paints paints = db.Paints.Find(id);

            if (paints == null)
            {
                throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            return(paints);
        }
 public void FilledPaintSort(bool ascending)
 {
     if (ascending)
     {
         Paints = new ObservableCollection <PaintStockViewModel>(Paints.OrderBy(x => x.FilledLv));
     }
     else
     {
         Paints = new ObservableCollection <PaintStockViewModel>(Paints.OrderByDescending(x => x.FilledLv));
     }
 }
Exemplo n.º 19
0
        public ActionResult Create(Paints paints)
        {
            if (ModelState.IsValid)
            {
                db.Paints.Add(paints);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(paints));
        }
Exemplo n.º 20
0
 public ConfigurationOverviewPageViewModel(CarConfiguratorEntityContext context)
     : base(context, onlySelectedAccessories: true, onlySelectedEngineSettings: true, onlySelectedPaints: true, onlySelectedRims: true)
 {
     Configuration = new ConfigurationViewModel
     {
         Accessories    = Accessories,
         EngineSettings = EngineSettings.FirstOrDefault(),
         Paint          = Paints.FirstOrDefault(),
         Rims           = Rims.FirstOrDefault()
     };
     Configuration.InitPrice();
 }
Exemplo n.º 21
0
 public PaintList()
 {
     // マスターリスト読み込み
     if (!(bool)(System.ComponentModel.DesignerProperties.IsInDesignModeProperty.GetMetadata(typeof(System.Windows.DependencyObject)).DefaultValue))
     {
         LoadPaintList();
     }
     // フィルター項目 設定
     PaintFilter = new FilterList(Paints.Select(p => new Filter()
     {
         Maker = p.Maker, Series = p.Series
     }).Distinct().ToArray());
 }
Exemplo n.º 22
0
        // POST api/PaintsAPI
        public HttpResponseMessage PostPaints(Paints paints)
        {
            if (ModelState.IsValid)
            {
                db.Paints.Add(paints);
                db.SaveChanges();

                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, paints);
                response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = paints.PaintId }));
                return response;
            }
            else
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
            }
        }
Exemplo n.º 23
0
        // POST api/PaintsAPI
        public HttpResponseMessage PostPaints(Paints paints)
        {
            if (ModelState.IsValid)
            {
                db.Paints.Add(paints);
                db.SaveChanges();

                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, paints);
                response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = paints.PaintId }));
                return(response);
            }
            else
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
        }
Exemplo n.º 24
0
 public CustomCar getCustomCar()
 {
     return(new CustomCar()
     {
         baseCarId = BaseCarId,
         carClassHash = CarClassHash,
         id = Id,
         name = Name,
         paints = Paints.ToString().DeserializeObject <List <CustomPaintTrans> >(),
         performanceParts = PerformanceParts.ToString().DeserializeObject <List <PerformancePartTrans> >(),
         physicsProfileHash = PhysicsProfileHash,
         resalePrice = ResalePrice,
         skillModParts = SkillModParts.ToString().DeserializeObject <List <SkillModPartTrans> >(),
         skillModSlotCount = 6,
         vinyls = Vinyls.ToString().DeserializeObject <List <CustomVinylTrans> >(),
         visualParts = VisualParts.ToString().DeserializeObject <List <VisualPartTrans> >()
     });
 }
        public override void ModifyWorldGenTasks(List <GenPass> tasks, ref float totalWeight)
        {
            var   mymod          = (PaintedHillsMod)this.mod;
            float size           = mymod.Config.HueBlobMinimumTileRadius;
            float size_variance  = mymod.Config.HueBlobSizeVariance;
            float shape_variance = mymod.Config.HueBlobShapeVariance;
            int   idx            = tasks.FindIndex(genpass => genpass.Name.Equals("Micro Biomes"));

            if (idx != -1)
            {
                tasks.Insert(idx + 1, new PassLegacy("Painting Hills", delegate(GenerationProgress progress) {
                    progress.Message = "Painting Hills";

                    float chunk_size = 300f * 300f;
                    float chunks     = ((float)Main.maxTilesX * (float)Main.maxTilesY) / chunk_size;
                    chunks          *= mymod.Config.HueBlobQuantityMultiplier;

                    if (mymod.Config.DebugModeInfo)
                    {
                        ErrorLogger.Log("chunks: " + chunks);
                    }

                    for (int i = 0; i < chunks; i++)
                    {
                        int x, y;
                        var huemap  = new HueTileMap();
                        var colorer = new FadingColorer(huemap, Paints.None);
                        Paints hue  = ColorPicker.GetRandomColor();

                        huemap.FindRandomTile(out x, out y);
                        colorer.SetHue(hue);

                        if (mymod.Config.DebugModeInfo)
                        {
                            ErrorLogger.Log("  painting blob (" + (i + 1) + " of " + chunks + "): " + x + ", " + y + " " + ColorPicker.GetName(hue));
                        }

                        ShapePainter.PaintBlob(mymod, colorer, x, y, size, size_variance, shape_variance);

                        progress.Set((float)i / chunks);
                    }
                }));
            }
        }
Exemplo n.º 26
0
        // DELETE api/PaintsAPI/5
        public HttpResponseMessage DeletePaints(int id)
        {
            Paints paints = db.Paints.Find(id);

            if (paints == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            db.Paints.Remove(paints);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, ex));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, paints));
        }
Exemplo n.º 27
0
 public Colorer(HueTileMap huemap, Paints hue)
 {
     this.HueMap = huemap;
     this.Hue    = hue;
 }
Exemplo n.º 28
0
 public static string GetName(Paints hue)
 {
     return(Enum.GetNames(typeof(Paints))[(int)hue]);
 }
Exemplo n.º 29
0
 public FadingColorer(HueTileMap huemap, Paints hue) : base(huemap, hue)
 {
 }
Exemplo n.º 30
0
 public ActionResult Edit(Paints paints)
 {
     if (ModelState.IsValid)
     {
         db.Entry(paints).State = EntityState.Modified;
         db.SaveChanges();
         return RedirectToAction("Index");
     }
     return View(paints);
 }
Exemplo n.º 31
0
        public static void PaintFlood(PaintedHillsMod mymod, Colorer colorer, int tile_x, int tile_y, Paints hue)
        {
            var peek = new Dictionary <int, ISet <int> >();

            peek[tile_x] = new HashSet <int>();
            peek[tile_x].Add(tile_y);

            do
            {
                foreach (int x in peek.Keys)
                {
                    foreach (int y in peek[x])
                    {
                        colorer.ColorTile(mymod, x, y);
                    }
                }

                int[] peek_x = peek.Keys.ToArray();
                foreach (int x in peek_x)
                {
                    int[] peek_y = peek[x].ToArray();

                    foreach (int y in peek_y)
                    {
                        AreaPainter.PeekAdjacentClearTiles(colorer.HueMap, peek, x, y);
                        peek[x].Remove(y);
                    }
                    if (peek[x].Count == 0)
                    {
                        peek.Remove(x);
                    }
                }
            } while(peek.Count > 0);
        }
Exemplo n.º 32
0
        public static void updatePersonaCar_car(int personaId, int userId, string packet, MySqlConnection connection, out string outPacket, out bool isGoodResponse)
        {
            XmlDocument packetParsing = new XmlDocument();
            packetParsing.LoadXml(packet);
            int carId = 0;

            var customCar = packetParsing.ChildNodes[0].ChildNodes[0];

            carId = Convert.ToInt32(customCar.ChildNodes[2].InnerText);

            PersonaCar carOrigData = new PersonaCar();

            bool personaHasCar = false;

            string sql = String.Format("SELECT PersonaCar.carId, PersonaCar.baseCar, PersonaCar.physicsProfileHash, PersonaCar.carClassHash, PersonaCar.rating, PersonaCar.resalePrice, PersonaCar.durability, PersonaCar.heat FROM PersonaCar LEFT JOIN Persona ON PersonaCar.personaId = Persona.personaId LEFT JOIN Users ON Persona.userId = Users.userId WHERE Users.userId = {0} AND Persona.personaId = {1} AND PersonaCar.carId = {2}", userId, personaId, carId);

            using (MySqlCommand command = new MySqlCommand(sql, connection))
            using (MySqlDataReader reader = command.ExecuteReader())
            {
                if (reader.HasRows)
                {
                    personaHasCar = true;
                    reader.Read();

                    carOrigData.baseCar = Convert.ToInt32(reader["baseCar"]);
                    carOrigData.physicsProfileHash = Convert.ToInt32(reader["physicsProfileHash"]);
                    carOrigData.carClassHash = Convert.ToInt32(reader["carClassHash"]);
                    carOrigData.rating = Convert.ToInt32(reader["rating"]);
                    carOrigData.resalePrice = Convert.ToInt32(reader["resalePrice"]);
                    carOrigData.durability = Convert.ToInt32(reader["durability"]);
                    carOrigData.heat = Convert.ToInt32(reader["heat"]);
                }
            }

            List<Paints> paints = new List<Paints>();
            List<PerformanceParts> performanceParts = new List<PerformanceParts>();
            List<Skills> skills = new List<Skills>();
            List<VisualParts> visualParts = new List<VisualParts>();
            List<Vinyls> vinyls = new List<Vinyls>();

            string car = "";

            if (personaHasCar)
            {
                //Paints
                foreach (XmlNode node in customCar.ChildNodes[6])
                {
                    Paints temp = new Paints();

                    temp.group = Convert.ToInt32(node.ChildNodes[0].InnerText);
                    temp.hue = Convert.ToInt32(node.ChildNodes[1].InnerText);
                    temp.sat = Convert.ToInt32(node.ChildNodes[2].InnerText);
                    temp.slot = Convert.ToInt32(node.ChildNodes[3].InnerText);
                    temp.var = Convert.ToInt32(node.ChildNodes[4].InnerText);

                    paints.Add(temp);
                }
                //PerformanceParts

                int slotIndex = 0;
                foreach (XmlNode node in customCar.ChildNodes[7])
                {
                    PerformanceParts temp = new PerformanceParts();

                    temp.slot = slotIndex;
                    temp.partHash = Convert.ToInt32(node.ChildNodes[0].InnerText);

                    slotIndex++;

                    performanceParts.Add(temp);
                }
                //Skills

                slotIndex = 0;
                foreach (XmlNode node in customCar.ChildNodes[12])
                {
                    Skills temp = new Skills();

                    temp.slot = slotIndex;
                    temp.skillHash = Convert.ToInt32(node.ChildNodes[1].InnerText);

                    slotIndex++;

                    skills.Add(temp);
                }
                //Vinyls

                foreach (XmlNode node in customCar.ChildNodes[15])
                {
                    Vinyls temp = new Vinyls();

                    temp.layer = Convert.ToInt32(node.ChildNodes[5].InnerText);

                    temp.vinylHash = Convert.ToInt32(node.ChildNodes[0].InnerText);
                    temp.hue1 = Convert.ToInt32(node.ChildNodes[1].InnerText);
                    temp.hue2 = Convert.ToInt32(node.ChildNodes[2].InnerText);
                    temp.hue3 = Convert.ToInt32(node.ChildNodes[3].InnerText);
                    temp.hue4 = Convert.ToInt32(node.ChildNodes[4].InnerText);

                    temp.mir = Convert.ToBoolean(node.ChildNodes[6].InnerText);
                    temp.rot = Convert.ToInt32(node.ChildNodes[7].InnerText);

                    temp.sat1 = Convert.ToInt32(node.ChildNodes[8].InnerText);
                    temp.sat2 = Convert.ToInt32(node.ChildNodes[9].InnerText);
                    temp.sat3 = Convert.ToInt32(node.ChildNodes[10].InnerText);
                    temp.sat4 = Convert.ToInt32(node.ChildNodes[11].InnerText);

                    temp.scaleX = Convert.ToInt32(node.ChildNodes[12].InnerText);
                    temp.scaleY = Convert.ToInt32(node.ChildNodes[13].InnerText);
                    temp.shear = Convert.ToInt32(node.ChildNodes[14].InnerText);
                    temp.tranX = Convert.ToInt32(node.ChildNodes[15].InnerText);
                    temp.tranY = Convert.ToInt32(node.ChildNodes[16].InnerText);

                    temp.var1 = Convert.ToInt32(node.ChildNodes[17].InnerText);
                    temp.var2 = Convert.ToInt32(node.ChildNodes[18].InnerText);
                    temp.var3 = Convert.ToInt32(node.ChildNodes[19].InnerText);
                    temp.var4 = Convert.ToInt32(node.ChildNodes[20].InnerText);

                    vinyls.Add(temp);
                }
                //VisualParts

                foreach (XmlNode node in customCar.ChildNodes[16])
                {
                    VisualParts temp = new VisualParts();

                    temp.slot = Convert.ToInt32(node.ChildNodes[1].InnerText);
                    temp.visualPartHash = Convert.ToInt32(node.ChildNodes[0].InnerText);

                    visualParts.Add(temp);
                }

                /////////////CheckingLogic

                /////////////Customization Save

                ///////////////Paints
                sql = String.Format("DELETE FROM PersonaCarPaints WHERE carId = {0}", carId);

                using (MySqlCommand command = new MySqlCommand(sql, connection))
                {
                    command.ExecuteNonQuery();
                }

                sql = "INSERT INTO PersonaCarPaints (carId, sat, slot, var, hue, grp) VALUES ";

                bool isFirst = true;

                foreach (Paints paint in paints)
                {

                    object[] data = new object[6];
                    data[0] = carId;
                    data[1] = paint.sat;
                    data[2] = paint.slot;
                    data[3] = paint.var;
                    data[4] = paint.hue;
                    data[5] = paint.group;


                    if (!isFirst)
                        sql = sql + ", ";
                    sql = sql + String.Format("({0},{1},{2},{3},{4},{5})", data);

                    isFirst = false;
                }

                if (!isFirst)
                {
                    using (MySqlCommand command = new MySqlCommand(sql, connection))
                    {
                        command.ExecuteNonQuery();
                    }
                }

                ///////////////performanceParts
                sql = String.Format("DELETE FROM PersonaCarPerformanceParts WHERE carId = {0}", carId);
                using (MySqlCommand command = new MySqlCommand(sql, connection))
                {
                    command.ExecuteNonQuery();
                }

                sql = "INSERT INTO PersonaCarPerformanceParts (carId, slot, partHash) VALUES ";

                isFirst = true;

                foreach (PerformanceParts performancePart in performanceParts)
                {
                    object[] data = new object[3];
                    data[0] = carId;
                    data[1] = performancePart.slot;
                    data[2] = performancePart.partHash;

                    if (!isFirst)
                        sql = sql + ", ";
                    sql = sql + String.Format("({0},{1},{2})", data);

                    isFirst = false;
                }

                if (!isFirst)
                {
                    using (MySqlCommand command = new MySqlCommand(sql, connection))
                    {
                        command.ExecuteNonQuery();
                    }
                }

                ///////////////Skills
                sql = String.Format("DELETE FROM PersonaCarSkills WHERE carId = {0}", carId);
                using (MySqlCommand command = new MySqlCommand(sql, connection))
                {
                    command.ExecuteNonQuery();
                }

                sql = "INSERT INTO PersonaCarSkills (carId, slot, skillHash) VALUES ";

                isFirst = true;

                foreach (Skills skill in skills)
                {
                    object[] data = new object[3];
                    data[0] = carId;
                    data[1] = skill.slot;
                    data[2] = skill.skillHash;

                    if (!isFirst)
                        sql = sql + ", ";
                    sql = sql + String.Format("({0},{1},{2})", data);

                    isFirst = false;
                }

                if (!isFirst)
                {
                    using (MySqlCommand command = new MySqlCommand(sql, connection))
                    {
                        command.ExecuteNonQuery();
                    }
                }

                ///////////////Vinyls
                sql = String.Format("DELETE FROM PersonaCarVinyls WHERE carId = {0}", carId);
                using (MySqlCommand command = new MySqlCommand(sql, connection))
                {
                    command.ExecuteNonQuery();
                }

                sql = "INSERT INTO PersonaCarVinyls (carId, layer, vinylHash, hue1, hue2, hue3, hue4, mir, rot, sat1, sat2, sat3, sat4, scaleX, scaleY, shear, tranX, tranY, var1, var2, var3, var4) VALUES ";

                isFirst = true;

                foreach (Vinyls vinyl in vinyls)
                {
                    object[] data = new object[22];
                    data[0] = carId;
                    data[1] = vinyl.layer;
                    data[2] = vinyl.vinylHash;
                    data[3] = vinyl.hue1;
                    data[4] = vinyl.hue2;
                    data[5] = vinyl.hue3;
                    data[6] = vinyl.hue4;
                    data[7] = (vinyl.mir ? 1 : 0);
                    data[8] = vinyl.rot;
                    data[9] = vinyl.sat1;
                    data[10] = vinyl.sat2;
                    data[11] = vinyl.sat3;
                    data[12] = vinyl.sat4;
                    data[13] = vinyl.scaleX;
                    data[14] = vinyl.scaleY;
                    data[15] = vinyl.shear;
                    data[16] = vinyl.tranX;
                    data[17] = vinyl.tranY;
                    data[18] = vinyl.var1;
                    data[19] = vinyl.var2;
                    data[20] = vinyl.var3;
                    data[21] = vinyl.var4;

                    if (!isFirst)
                        sql = sql + ", ";
                    sql = sql + String.Format("({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},{18},{19},{20},{21})", data);

                    isFirst = false;

                }

                if (!isFirst)
                {
                    using (MySqlCommand command = new MySqlCommand(sql, connection))
                    {
                        command.ExecuteNonQuery();
                    }
                }

                ///////////////Visual parts
                sql = String.Format("DELETE FROM PersonaCarVisualParts WHERE carId = {0}", carId);
                using (MySqlCommand command = new MySqlCommand(sql, connection))
                {
                    command.ExecuteNonQuery();
                }

                sql = "INSERT INTO PersonaCarVisualParts (carId, partHash, slotHash) VALUES ";

                isFirst = true;

                foreach (VisualParts visualPart in visualParts)
                {
                    object[] data = new object[3];
                    data[0] = carId;
                    data[1] = visualPart.visualPartHash;
                    data[2] = visualPart.slot;

                    if (!isFirst)
                        sql = sql + ", ";
                    sql = sql + String.Format("({0},{1},{2})", data);

                    isFirst = false;
                }

                if (!isFirst)
                {
                    using (MySqlCommand command = new MySqlCommand(sql, connection))
                    {
                        command.ExecuteNonQuery();
                    }
                }

                string vinylTemp = "";
                string visualPartsTemp = "";
                string skillTemp = "";
                string paintTemp = "";
                string performanceTemp = "";

                string carBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/car.xml");
                string vinylBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/vinyl.xml");
                string visualPartBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/visualpart.xml");
                string skillBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/skill.xml");
                string performanceBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/performance.xml");
                string paintBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/paint.xml");

                foreach (Paints paint in paints)
                {
                    object[] paintData = new object[6];
                    paintData[0] = paint.group;
                    paintData[1] = paint.hue;
                    paintData[2] = paint.sat;
                    paintData[3] = paint.slot;
                    paintData[4] = paint.var;
                    paintTemp = paintTemp + String.Format(paintBody, paintData);
                }

                foreach (PerformanceParts performancePart in performanceParts)
                {
                    object[] performanceData = new object[1];
                    performanceData[0] = performancePart.partHash;
                    performanceTemp = performanceTemp + String.Format(performanceBody, performanceData);
                }

                foreach (Skills skill in skills)
                {
                    object[] skillData = new object[1];
                    skillData[0] = skill.skillHash;
                    skillTemp = skillTemp + String.Format(skillBody, skillData);
                }

                foreach (Vinyls vinyl in vinyls)
                {
                    object[] vinylData = new object[21];
                    vinylData[0] = vinyl.vinylHash;
                    vinylData[1] = vinyl.hue1;
                    vinylData[2] = vinyl.hue2;
                    vinylData[3] = vinyl.hue3;
                    vinylData[4] = vinyl.hue4;
                    vinylData[5] = vinyl.layer;
                    vinylData[6] = (vinyl.mir ? "true" : "false");
                    vinylData[7] = vinyl.rot;
                    vinylData[8] = vinyl.sat1;
                    vinylData[9] = vinyl.sat2;
                    vinylData[10] = vinyl.sat3;
                    vinylData[11] = vinyl.sat4;
                    vinylData[12] = vinyl.scaleX;
                    vinylData[13] = vinyl.scaleY;
                    vinylData[14] = vinyl.shear;
                    vinylData[15] = vinyl.tranX;
                    vinylData[16] = vinyl.tranY;
                    vinylData[17] = vinyl.var1;
                    vinylData[18] = vinyl.var2;
                    vinylData[19] = vinyl.var3;
                    vinylData[20] = vinyl.var4;
                    vinylTemp = vinylTemp + String.Format(vinylBody, vinylData);
                }

                foreach (VisualParts visualPart in visualParts)
                {
                    object[] visualData = new object[2];
                    visualData[0] = visualPart.visualPartHash;
                    visualData[1] = visualPart.slot;

                    visualPartsTemp = visualPartsTemp + String.Format(visualPartBody, visualData);
                }

                object[] carData = new object[14];
                carData[0] = carOrigData.baseCar;
                carData[1] = carOrigData.carClassHash;
                carData[2] = carId;
                //carData[3] = reader["motto"]; 
                //carData[4] = reader["name"];
                carData[5] = carOrigData.physicsProfileHash;
                carData[6] = carOrigData.rating;
                carData[7] = carOrigData.resalePrice;
                //carData[8] = reader["score"];
                //carData[9] = reader["score"];
                //carData[10] = reader["score"];
                carData[11] = carOrigData.durability;
                carData[12] = carOrigData.heat;
                carData[13] = carId;

                carData[3] = paintTemp;
                carData[4] = performanceTemp;
                carData[8] = skillTemp;
                carData[9] = vinylTemp;
                carData[10] = visualPartsTemp;

                car = car + String.Format(carBody, carData);
            }

            //Result generation
            //string packetBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/commerce.xml");

            outPacket = car;

            //File.WriteAllText("packet", outPacket);

            //outPacket = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/100/commerce.xml");
            isGoodResponse = true;
        }
Exemplo n.º 33
0
        public static void buyCar(string packet, int personaId, int userId, MySqlConnection connection, out string outPacket, out bool isGoodResponse)
        {
            MySqlConnection connection2 = new MySqlConnection(MsSQL.connetionString);
            connection2.Open();

            bool isYourPersona = false;
            string sql = String.Format("SELECT personaId FROM Persona WHERE userId = {0}", userId);
            using (MySqlCommand command = new MySqlCommand(sql, connection))
            using (MySqlDataReader reader = command.ExecuteReader())
            {
                while (reader.Read())
                {
                    if (Convert.ToInt32(reader["personaId"]) == personaId)
                    {
                        isYourPersona = true;
                        break;
                    }
                }
            }

            XmlDocument packetParsing = new XmlDocument();
            packetParsing.LoadXml(packet);

            string productId = packetParsing.ChildNodes[0].ChildNodes[0].ChildNodes[0].ChildNodes[0].InnerText.Replace(":", "");

            int carId = 0;

            string car = "";

            //productId = "example";

            if (File.Exists(Program.serverPrefix + "/Engine.svc/personas/car/baskets/" + productId + ".xml") && isYourPersona)
            {
                sql = String.Format("UPDATE Persona SET defaultCarIndex = carCount, carCount = carCount + 1 WHERE personaId = {0}", personaId);
                using (MySqlCommand command = new MySqlCommand(sql, connection))
                {
                    command.ExecuteNonQuery();
                }

                string basket = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/baskets/" + productId + ".xml").Replace(" i:nil=\"true\" ", "");
                packetParsing.LoadXml(basket);
                var customCar = packetParsing.ChildNodes[0].ChildNodes[0];

                PersonaCar carOrigData = new PersonaCar(); ;

                carOrigData.baseCar = Convert.ToInt32(customCar.ChildNodes[0].InnerText);
                carOrigData.physicsProfileHash = Convert.ToInt32(customCar.ChildNodes[8].InnerText);
                carOrigData.carClassHash = Convert.ToInt32(customCar.ChildNodes[1].InnerText);
                carOrigData.rating = Convert.ToInt32(customCar.ChildNodes[9].InnerText);
                carOrigData.resalePrice = Convert.ToInt32(customCar.ChildNodes[10].InnerText);
                carOrigData.durability = 100;
                carOrigData.heat = 1;

                List<Paints> paints = new List<Paints>();
                List<PerformanceParts> performanceParts = new List<PerformanceParts>();
                List<Skills> skills = new List<Skills>();
                List<VisualParts> visualParts = new List<VisualParts>();
                List<Vinyls> vinyls = new List<Vinyls>();

                //Paints
                foreach (XmlNode node in customCar.ChildNodes[6])
                {
                    Paints temp = new Paints();

                    temp.group = Convert.ToInt32(node.ChildNodes[0].InnerText);
                    temp.hue = Convert.ToInt32(node.ChildNodes[1].InnerText);
                    temp.sat = Convert.ToInt32(node.ChildNodes[2].InnerText);
                    temp.slot = Convert.ToInt32(node.ChildNodes[3].InnerText);
                    temp.var = Convert.ToInt32(node.ChildNodes[4].InnerText);

                    paints.Add(temp);
                }
                //PerformanceParts

                int slotIndex = 0;
                foreach (XmlNode node in customCar.ChildNodes[7])
                {
                    PerformanceParts temp = new PerformanceParts();

                    temp.slot = slotIndex;
                    temp.partHash = Convert.ToInt32(node.ChildNodes[0].InnerText);

                    slotIndex++;

                    performanceParts.Add(temp);
                }
                //Skills

                slotIndex = 0;
                foreach (XmlNode node in customCar.ChildNodes[12])
                {
                    Skills temp = new Skills();

                    temp.slot = slotIndex;
                    temp.skillHash = Convert.ToInt32(node.ChildNodes[1].InnerText);

                    slotIndex++;

                    skills.Add(temp);
                }
                //Vinyls

                foreach (XmlNode node in customCar.ChildNodes[15])
                {
                    Vinyls temp = new Vinyls();

                    temp.layer = Convert.ToInt32(node.ChildNodes[5].InnerText);

                    temp.vinylHash = Convert.ToInt32(node.ChildNodes[0].InnerText);
                    temp.hue1 = Convert.ToInt32(node.ChildNodes[1].InnerText);
                    temp.hue2 = Convert.ToInt32(node.ChildNodes[2].InnerText);
                    temp.hue3 = Convert.ToInt32(node.ChildNodes[3].InnerText);
                    temp.hue4 = Convert.ToInt32(node.ChildNodes[4].InnerText);

                    temp.mir = Convert.ToBoolean(node.ChildNodes[6].InnerText);
                    temp.rot = Convert.ToInt32(node.ChildNodes[7].InnerText);

                    temp.sat1 = Convert.ToInt32(node.ChildNodes[8].InnerText);
                    temp.sat2 = Convert.ToInt32(node.ChildNodes[9].InnerText);
                    temp.sat3 = Convert.ToInt32(node.ChildNodes[10].InnerText);
                    temp.sat4 = Convert.ToInt32(node.ChildNodes[11].InnerText);

                    temp.scaleX = Convert.ToInt32(node.ChildNodes[12].InnerText);
                    temp.scaleY = Convert.ToInt32(node.ChildNodes[13].InnerText);
                    temp.shear = Convert.ToInt32(node.ChildNodes[14].InnerText);
                    temp.tranX = Convert.ToInt32(node.ChildNodes[15].InnerText);
                    temp.tranY = Convert.ToInt32(node.ChildNodes[16].InnerText);

                    temp.var1 = Convert.ToInt32(node.ChildNodes[17].InnerText);
                    temp.var2 = Convert.ToInt32(node.ChildNodes[18].InnerText);
                    temp.var3 = Convert.ToInt32(node.ChildNodes[19].InnerText);
                    temp.var4 = Convert.ToInt32(node.ChildNodes[20].InnerText);

                    vinyls.Add(temp);
                }
                //VisualParts

                foreach (XmlNode node in customCar.ChildNodes[16])
                {
                    VisualParts temp = new VisualParts();

                    temp.slot = Convert.ToInt32(node.ChildNodes[1].InnerText);
                    temp.visualPartHash = Convert.ToInt32(node.ChildNodes[0].InnerText);

                    visualParts.Add(temp);
                }

                sql = "";

                {
                    object[] carData = new object[8];
                    carData[0] = personaId;
                    carData[1] = carOrigData.baseCar;
                    carData[2] = carOrigData.carClassHash;
                    carData[3] = carOrigData.physicsProfileHash;
                    carData[4] = carOrigData.rating;
                    carData[5] = carOrigData.resalePrice;
                    carData[6] = carOrigData.durability;
                    carData[7] = carOrigData.heat;

                    sql = string.Format("INSERT INTO PersonaCar (personaId, baseCar, carClassHash, physicsProfileHash, rating, resalePrice, durability, heat) VALUES ({0},{1},{2},{3},{4},{5},{6},{7})", carData);
                    using (MySqlCommand command = new MySqlCommand(sql, connection))
                    {
                        command.ExecuteNonQuery();
                    }

                    sql = string.Format("SELECT carId FROM PersonaCar WHERE personaId = {0} ORDER BY carId DESC LIMIT 1", personaId);
                    using (MySqlCommand command = new MySqlCommand(sql, connection))
                    using (MySqlDataReader reader = command.ExecuteReader())
                    {
                        reader.Read();
                        carId = Convert.ToInt32(reader["carId"]);
                    }


                }


                ///////////////Paints

                sql = "INSERT INTO PersonaCarPaints (carId, sat, slot, var, hue, grp) VALUES ";

                bool isFirst = true;

                foreach (Paints paint in paints)
                {

                    object[] data = new object[6];
                    data[0] = carId;
                    data[1] = paint.sat;
                    data[2] = paint.slot;
                    data[3] = paint.var;
                    data[4] = paint.hue;
                    data[5] = paint.group;


                    if (!isFirst)
                        sql = sql + ", ";
                    sql = sql + String.Format("({0},{1},{2},{3},{4},{5})", data);

                    isFirst = false;
                }

                if (!isFirst)
                {
                    using (MySqlCommand command = new MySqlCommand(sql, connection))
                    {
                        command.ExecuteNonQuery();
                    }
                }

                ///////////////performanceParts

                sql = "INSERT INTO PersonaCarPerformanceParts (carId, slot, partHash) VALUES ";

                isFirst = true;

                foreach (PerformanceParts performancePart in performanceParts)
                {
                    object[] data = new object[3];
                    data[0] = carId;
                    data[1] = performancePart.slot;
                    data[2] = performancePart.partHash;

                    if (!isFirst)
                        sql = sql + ", ";
                    sql = sql + String.Format("({0},{1},{2})", data);

                    isFirst = false;
                }

                if (!isFirst)
                {
                    using (MySqlCommand command = new MySqlCommand(sql, connection))
                    {
                        command.ExecuteNonQuery();
                    }
                }

                ///////////////Skills

                sql = "INSERT INTO PersonaCarSkills (carId, slot, skillHash) VALUES ";

                isFirst = true;

                foreach (Skills skill in skills)
                {
                    object[] data = new object[3];
                    data[0] = carId;
                    data[1] = skill.slot;
                    data[2] = skill.skillHash;

                    if (!isFirst)
                        sql = sql + ", ";
                    sql = sql + String.Format("({0},{1},{2})", data);

                    isFirst = false;
                }

                if (!isFirst)
                {
                    using (MySqlCommand command = new MySqlCommand(sql, connection))
                    {
                        command.ExecuteNonQuery();
                    }
                }

                ///////////////Vinyls

                sql = "INSERT INTO PersonaCarVinyls (carId, layer, vinylHash, hue1, hue2, hue3, hue4, mir, rot, sat1, sat2, sat3, sat4, scaleX, scaleY, shear, tranX, tranY, var1, var2, var3, var4) VALUES ";

                isFirst = true;

                foreach (Vinyls vinyl in vinyls)
                {
                    object[] data = new object[22];
                    data[0] = carId;
                    data[1] = vinyl.layer;
                    data[2] = vinyl.vinylHash;
                    data[3] = vinyl.hue1;
                    data[4] = vinyl.hue2;
                    data[5] = vinyl.hue3;
                    data[6] = vinyl.hue4;
                    data[7] = (vinyl.mir ? 1 : 0);
                    data[8] = vinyl.rot;
                    data[9] = vinyl.sat1;
                    data[10] = vinyl.sat2;
                    data[11] = vinyl.sat3;
                    data[12] = vinyl.sat4;
                    data[13] = vinyl.scaleX;
                    data[14] = vinyl.scaleY;
                    data[15] = vinyl.shear;
                    data[16] = vinyl.tranX;
                    data[17] = vinyl.tranY;
                    data[18] = vinyl.var1;
                    data[19] = vinyl.var2;
                    data[20] = vinyl.var3;
                    data[21] = vinyl.var4;

                    if (!isFirst)
                        sql = sql + ", ";
                    sql = sql + String.Format("({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},{18},{19},{20},{21})", data);

                    isFirst = false;

                }

                if (!isFirst)
                {
                    using (MySqlCommand command = new MySqlCommand(sql, connection))
                    {
                        command.ExecuteNonQuery();
                    }
                }

                ///////////////Visual parts

                sql = "INSERT INTO PersonaCarVisualParts (carId, partHash, slotHash) VALUES ";

                isFirst = true;

                foreach (VisualParts visualPart in visualParts)
                {
                    object[] data = new object[3];
                    data[0] = carId;
                    data[1] = visualPart.visualPartHash;
                    data[2] = visualPart.slot;

                    if (!isFirst)
                        sql = sql + ", ";
                    sql = sql + String.Format("({0},{1},{2})", data);

                    isFirst = false;
                }

                if (!isFirst)
                {
                    using (MySqlCommand command = new MySqlCommand(sql, connection))
                    {
                        command.ExecuteNonQuery();
                    }
                }


                string vinylTemp = "";
                string visualPartsTemp = "";
                string skillTemp = "";
                string paintTemp = "";
                string performanceTemp = "";

                string carBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/car.xml");
                string vinylBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/vinyl.xml");
                string visualPartBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/visualpart.xml");
                string skillBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/skill.xml");
                string performanceBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/performance.xml");
                string paintBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/paint.xml");

                foreach (Paints paint in paints)
                {
                    object[] paintData = new object[6];
                    paintData[0] = paint.group;
                    paintData[1] = paint.hue;
                    paintData[2] = paint.sat;
                    paintData[3] = paint.slot;
                    paintData[4] = paint.var;
                    paintTemp = paintTemp + String.Format(paintBody, paintData);
                }

                foreach (PerformanceParts performancePart in performanceParts)
                {
                    object[] performanceData = new object[1];
                    performanceData[0] = performancePart.partHash;
                    performanceTemp = performanceTemp + String.Format(performanceBody, performanceData);
                }

                foreach (Skills skill in skills)
                {
                    object[] skillData = new object[1];
                    skillData[0] = skill.skillHash;
                    skillTemp = skillTemp + String.Format(skillBody, skillData);
                }

                foreach (Vinyls vinyl in vinyls)
                {
                    object[] vinylData = new object[21];
                    vinylData[0] = vinyl.vinylHash;
                    vinylData[1] = vinyl.hue1;
                    vinylData[2] = vinyl.hue2;
                    vinylData[3] = vinyl.hue3;
                    vinylData[4] = vinyl.hue4;
                    vinylData[5] = vinyl.layer;
                    vinylData[6] = (vinyl.mir ? "true" : "false");
                    vinylData[7] = vinyl.rot;
                    vinylData[8] = vinyl.sat1;
                    vinylData[9] = vinyl.sat2;
                    vinylData[10] = vinyl.sat3;
                    vinylData[11] = vinyl.sat4;
                    vinylData[12] = vinyl.scaleX;
                    vinylData[13] = vinyl.scaleY;
                    vinylData[14] = vinyl.shear;
                    vinylData[15] = vinyl.tranX;
                    vinylData[16] = vinyl.tranY;
                    vinylData[17] = vinyl.var1;
                    vinylData[18] = vinyl.var2;
                    vinylData[19] = vinyl.var3;
                    vinylData[20] = vinyl.var4;
                    vinylTemp = vinylTemp + String.Format(vinylBody, vinylData);
                }

                foreach (VisualParts visualPart in visualParts)
                {
                    object[] visualData = new object[2];
                    visualData[0] = visualPart.visualPartHash;
                    visualData[1] = visualPart.slot;

                    visualPartsTemp = visualPartsTemp + String.Format(visualPartBody, visualData);
                }
                {
                    object[] carData = new object[14];
                    carData[0] = carOrigData.baseCar;
                    carData[1] = carOrigData.carClassHash;
                    carData[2] = carId;
                    //carData[3] = reader["motto"]; 
                    //carData[4] = reader["name"];
                    carData[5] = carOrigData.physicsProfileHash;
                    carData[6] = carOrigData.rating;
                    carData[7] = carOrigData.resalePrice;
                    //carData[8] = reader["score"];
                    //carData[9] = reader["score"];
                    //carData[10] = reader["score"];
                    carData[11] = carOrigData.durability;
                    carData[12] = carOrigData.heat;
                    carData[13] = carId;

                    carData[3] = paintTemp;
                    carData[4] = performanceTemp;
                    carData[8] = skillTemp;
                    carData[9] = vinylTemp;
                    carData[10] = visualPartsTemp;

                    car = car + String.Format(carBody, carData);
                }
            }

            //Result generation
            string packetBody = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/car/baskets.xml");

            outPacket = string.Format(packetBody, car);

            //File.WriteAllText("packet", outPacket);

            //outPacket = File.ReadAllText(Program.serverPrefix + "/Engine.svc/personas/100/commerce.xml");
            isGoodResponse = true;

            connection2.Close();
        }
Exemplo n.º 34
0
 public void SetHue(Paints hue)
 {
     this.Hue = hue;
 }