Exemplo n.º 1
0
 public override int GetHashCode()
 {
     unchecked
     {
         int hashCode = base.GetHashCode();
         hashCode = (hashCode * 397) ^ (VIN != null ? VIN.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (VehicleMake != null ? VehicleMake.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (VehicleModel != null ? VehicleModel.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (TyreSize != null ? TyreSize.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (VehicleType != null ? VehicleType.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (WFactor != null ? WFactor.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (KFactor != null ? KFactor.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (LFactor != null ? LFactor.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (OdometerReading != null ? OdometerReading.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ Tampered.GetHashCode();
         hashCode = (hashCode * 397) ^ (InvoiceNumber != null ? InvoiceNumber.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (InspectionInfo != null ? InspectionInfo.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ TachographHasAdapter.GetHashCode();
         hashCode = (hashCode * 397) ^ (TachographAdapterSerialNumber != null ? TachographAdapterSerialNumber.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (TachographAdapterLocation != null ? TachographAdapterLocation.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (TachographCableColor != null ? TachographCableColor.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (MinorWorkDetails != null ? MinorWorkDetails.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (TachographType != null ? TachographType.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (CardSerialNumber != null ? CardSerialNumber.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ CalibrationTime.GetHashCode();
         hashCode = (hashCode * 397) ^ IsDigital.GetHashCode();
         hashCode = (hashCode * 397) ^ NewBattery.GetHashCode();
         hashCode = (hashCode * 397) ^ (NewInspectionInfo != null ? NewInspectionInfo.GetHashCode() : 0);
         return(hashCode);
     }
 }
Exemplo n.º 2
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = BenchTestCarriedOutAnalogue.GetHashCode();
         hashCode = (hashCode * 397) ^ CalibrationCertificateCompleted.GetHashCode();
         hashCode = (hashCode * 397) ^ ClockTestCompleted.GetHashCode();
         hashCode = (hashCode * 397) ^ (Comments != null ? Comments.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ DateOfAudit.GetHashCode();
         hashCode = (hashCode * 397) ^ DistanceCheckCarriedOut.GetHashCode();
         hashCode = (hashCode * 397) ^ EventsFaultsReadCleared.GetHashCode();
         hashCode = (hashCode * 397) ^ (FortyKmTest != null ? FortyKmTest.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ FunctionalBenchTestDigital.GetHashCode();
         hashCode = (hashCode * 397) ^ KFactor.GetHashCode();
         hashCode = (hashCode * 397) ^ LFactor.GetHashCode();
         hashCode = (hashCode * 397) ^ Passed.GetHashCode();
         hashCode = (hashCode * 397) ^ (QCManagerName != null ? QCManagerName.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ ReferenceCableCheckCompleted.GetHashCode();
         hashCode = (hashCode * 397) ^ (SixtyKmTest != null ? SixtyKmTest.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ SpeedForSpeedCheckCompleted.GetHashCode();
         hashCode = (hashCode * 397) ^ SystemSealedInAccordance.GetHashCode();
         hashCode = (hashCode * 397) ^ (TachoCentreCity != null ? TachoCentreCity.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (TachoCentreLine1 != null ? TachoCentreLine1.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (TachoCentreLine2 != null ? TachoCentreLine2.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (TachoCentreLine3 != null ? TachoCentreLine3.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (TachoCentrePostCode != null ? TachoCentrePostCode.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (TachographMake != null ? TachographMake.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (TachographModel != null ? TachographModel.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (TachographSerialNumber != null ? TachographSerialNumber.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (TachoManagerName != null ? TachoManagerName.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ TechnicalDataPrintoutsCreated.GetHashCode();
         hashCode = (hashCode * 397) ^ (TechnicianName != null ? TechnicianName.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ TestChartsCompleted.GetHashCode();
         hashCode = (hashCode * 397) ^ ThreeBasicChecksCompleted.GetHashCode();
         hashCode = (hashCode * 397) ^ (TypeOfTachographCheck != null ? TypeOfTachographCheck.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (VehicleIdentificationNumber != null ? VehicleIdentificationNumber.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (VehicleMake != null ? VehicleMake.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (VehicleRegistrationNumber != null ? VehicleRegistrationNumber.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (VehicleType != null ? VehicleType.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ WFactor.GetHashCode();
         return(hashCode);
     }
 }
Exemplo n.º 3
0
        public static void CalculateAfterMatch(Model.MatchData pMatchData)
        {
            //get the users and their MMR
            List <User> radiantPlayers = pMatchData.teams[0].players.Where(m => m != null).Select(player => Mongo.Users.FindOneAs <User>(Query.EQ("steam.steamid", player.steam_id))).ToList();
            List <User> direPlayers    = pMatchData.teams[1].players.Where(m => m != null).Select(player => Mongo.Users.FindOneAs <User>(Query.EQ("steam.steamid", player.steam_id))).ToList();

            var mod = Mods.Mods.ByName(pMatchData.mod);
            //avg the MMR
            double radiantAvg = radiantPlayers.Average(a => a.profile.mmr[mod.name]);
            double direAvg    = direPlayers.Average(a => a.profile.mmr[mod.name]);

            //calculate probability to win
            double qa             = Math.Pow(10, (radiantAvg / 400.0));
            double qb             = Math.Pow(10, (direAvg / 400.0));
            double radiantWinProb = qa / (qa + qb);
            double direWinProb    = qb / (qa + qb);

            //get factors for increment or decrement
            KFactor radiantFactor = KFactors.First(a => radiantAvg >= a.MinMmr && radiantAvg <= a.MaxMmr);
            KFactor direFactor    = KFactors.First(a => direAvg >= a.MinMmr && direAvg <= a.MaxMmr);

            //calculate the increments and decrements based on win only
            int incRadiant = 0;
            int incDire    = 0;

            if (pMatchData.good_guys_win)
            {
                incRadiant = (int)Math.Round(radiantFactor.Factor * (1.0 - radiantWinProb));
                incDire    = (int)Math.Round(direFactor.Factor * -direWinProb);
            }
            else
            {
                incRadiant = (int)Math.Round(radiantFactor.Factor * -radiantWinProb);
                incDire    = (int)Math.Round(direFactor.Factor * (1.0 - direWinProb));
            }

            foreach (var player in radiantPlayers)
            {
                if (player.profile.metrics == null)
                {
                    player.profile.metrics = new Dictionary <string, ModMetric>();
                }
                if (!player.profile.metrics.ContainsKey(mod.name))
                {
                    player.profile.metrics[mod.name] = new ModMetric();
                }
                if (pMatchData.good_guys_win)
                {
                    player.profile.metrics[mod.name].wins++;
                }
                else
                {
                    player.profile.metrics[mod.name].losses++;
                }
            }
            foreach (var player in direPlayers)
            {
                if (player.profile.metrics == null)
                {
                    player.profile.metrics = new Dictionary <string, ModMetric>();
                }
                if (!player.profile.metrics.ContainsKey(mod.name))
                {
                    player.profile.metrics[mod.name] = new ModMetric();
                }
                if (pMatchData.good_guys_win)
                {
                    player.profile.metrics[mod.name].losses++;
                }
                else
                {
                    player.profile.metrics[mod.name].wins++;
                }
            }

            //increment results
            radiantPlayers.ForEach(player => player.profile.mmr[mod.name] += incRadiant);
            direPlayers.ForEach(player => player.profile.mmr[mod.name]    += incDire);

            //todo: add individual increment and/or decrement based on gameplay

            //check roof, floor and save
            foreach (var player in radiantPlayers.Union(direPlayers))
            {
                if (player.profile.mmr[mod.name] > MmrRoof)
                {
                    player.profile.mmr[mod.name] = MmrRoof;
                }

                if (player.profile.mmr[mod.name] < MmrFloor)
                {
                    player.profile.mmr[mod.name] = MmrFloor;
                }

                foreach (var browser in Browsers.Find(m => m.user != null && m.user.Id == player.Id))
                {
                    browser.user = player;
                }
                Mongo.Users.Save(player);
            }
        }
Exemplo n.º 4
0
        private void SinglePanel(PanelType_e panelType, Materials_e OuterMaterial, Materials_e InnerMaterial, PanelProfile_e profile)
        {
            base.PartName = "02-" + (int)panelType + "-01-" + sizePanel.X + "-" + sizePanel.Y + "-" + OuterMaterial + "-" + InnerMaterial + "-" + (int)profile;

            if (CheckExistPart != null)
            {
                CheckExistPart(NewPartPath, RootFolder, out NewPartPath);
            }

            if (IsPartExist)
            {
                SolidWorksDocument.Extension.SelectByID2("02-01-001-1@02-01", "COMPONENT", 0, 0, 0, false, 0, null, 0);
                AssemblyDocument.ReplaceComponents(base.NewPartPath, "", false, true);
            }
            else
            {
                base.NewPartPath = Path.Combine(RootFolder, SubjectDestinationFolder, base.PartName);
                // outer panel
                if (SetBends != null)
                {
                    SetBends.Invoke((decimal)outThickness, out KFactor, out BendRadius);
                }
                base.parameters.Add("D1@Эскиз1", sizePanel.Y);
                base.parameters.Add("D2@Эскиз1", sizePanel.X);
                base.parameters.Add("D1@Кривая2", rivetH);
                base.parameters.Add("D1@Кривая1", rivetW);

                base.parameters.Add("D7@Ребро-кромка1", lenght);
                base.parameters.Add("Толщина@Листовой металл", outThickness);
                base.parameters.Add("D1@Листовой металл", (double)BendRadius);
                base.parameters.Add("D2@Листовой металл", (double)KFactor * 1000);
                if (panelType == PanelType_e.RemovablePanel && !isOneHandle)
                {
                    base.parameters.Add("D4@Эскиз30", widthHandle);
                }
                EditPartParameters("02-01-001", base.NewPartPath, 0);
            }
            base.PartName = "02-" + (int)panelType + "-02-" + sizePanel.X + "-" + sizePanel.Y + "-" + OuterMaterial + "-" + InnerMaterial + "-" + (int)profile;
            if (CheckExistPart != null)
            {
                CheckExistPart(NewPartPath, RootFolder, out NewPartPath);
            }

            if (IsPartExist)
            {
                SolidWorksDocument.Extension.SelectByID2("02-01-002-1@02-01", "COMPONENT", 0, 0, 0, false, 0, null, 0);
                AssemblyDocument.ReplaceComponents(base.NewPartPath, "", false, true);
            }
            else
            {
                base.NewPartPath = Path.Combine(RootFolder, SubjectDestinationFolder, base.PartName);
                System.Windows.Forms.MessageBox.Show("From SinglePanel : innerThickness " + innerThickness.ToString());/////////////////////////////////////////////////////////////////////
                if (SetBends != null)
                {
                    SetBends((decimal)innerThickness, out KFactor, out BendRadius);
                }

                System.Windows.Forms.MessageBox.Show("innerThickness  " + innerThickness.ToString() + "KFactor  " + KFactor.ToString() + "BendRadius   " + BendRadius.ToString());
                base.parameters.Add("D1@Эскиз1", innerWeidht);
                base.parameters.Add("D2@Эскиз1", innerHeight);
                base.parameters.Add("D1@Кривая2", rivetW);
                base.parameters.Add("D1@Кривая1", rivetH);
                base.parameters.Add("Толщина@Листовой металл", innerThickness);
                base.parameters.Add("D1@Листовой металл", (double)BendRadius);
                base.parameters.Add("D2@Листовой металл", (double)KFactor * 1000);
                EditPartParameters("02-01-002", base.NewPartPath, 0);
            }
        }