public virtual Tuple <bool, byte> DeleteWorker(int id)
        {
            Worker worker  = Workers.SingleOrDefault(w => w.ID == id);
            bool   success = false;

            if (worker != null)
            {
                if (worker.Attractions.Count > 0)
                {
                    return(new Tuple <bool, byte>(false, (byte)ModelType.Attraction));
                }
                Overtimes.RemoveRange(worker.Overtimes);
                Workers.Remove(worker);
                try
                {
                    SaveChanges();
                    success = true;
                }
                catch (Exception e)
                {
                    Logger.LogError($"Exception removing worker! Exception: {e.ToString()}", GetType(), $"DeleteWorker(id: {id})");
                }
            }
            return(new Tuple <bool, byte>(success, (byte)ModelType.Model));
        }
Example #2
0
            // DRY
            private CompensatedMissingHours CompensateHoursFromSelectedOvertimesType(
                CompensatedMissingHours compensatedMissingHours, Overtimes employeeOvertimes,
                Func <Overtimes, decimal> getOvertimesType, Action <Overtimes, decimal> setOvertimesType)
            {
                if (compensatedMissingHours.HasHoursToCompensate())
                {
                    if (getOvertimesType(employeeOvertimes) >= compensatedMissingHours.MissingHours)
                    {
                        compensatedMissingHours.CompensatedHours += compensatedMissingHours.MissingHours;

                        var leftOvertimes = getOvertimesType(employeeOvertimes) - compensatedMissingHours.MissingHours;
                        setOvertimesType(compensatedMissingHours.LeftOvertimes, leftOvertimes);

                        compensatedMissingHours.MissingHours = 0;
                    }
                    else
                    {
                        compensatedMissingHours.CompensatedHours += getOvertimesType(employeeOvertimes);
                        setOvertimesType(compensatedMissingHours.LeftOvertimes, 0);
                        compensatedMissingHours.MissingHours -= getOvertimesType(employeeOvertimes);
                    }
                }

                return(compensatedMissingHours);
            }
Example #3
0
            public CompensatedMissingHours CompensateMissingHours(Overtimes employeeOvertimes, decimal missingHours)
            {
                var compensatedMissingHours = new CompensatedMissingHours(missingHours);

                compensatedMissingHours =
                    CompensateHoursFromStandardOvertimes(compensatedMissingHours, employeeOvertimes);
                compensatedMissingHours =
                    CompensateHoursFromSaturdayOvertimes(compensatedMissingHours, employeeOvertimes);
                compensatedMissingHours =
                    CompensateHoursFromSundayOvertimes(compensatedMissingHours, employeeOvertimes);

                // DRY
                compensatedMissingHours = CompensateHoursFromSelectedOvertimesType(compensatedMissingHours,
                                                                                   employeeOvertimes,
                                                                                   (overtime) => overtime.StandardOvertimes,
                                                                                   (overtime, newValue) => overtime.StandardOvertimes = newValue);

                compensatedMissingHours = CompensateHoursFromSelectedOvertimesType(compensatedMissingHours,
                                                                                   employeeOvertimes,
                                                                                   (overtime) => overtime.SaturdayOvertimes,
                                                                                   (overtime, newValue) => overtime.SaturdayOvertimes = newValue);

                compensatedMissingHours = CompensateHoursFromSelectedOvertimesType(compensatedMissingHours,
                                                                                   employeeOvertimes,
                                                                                   (overtime) => overtime.SundayOvertimes,
                                                                                   (overtime, newValue) => overtime.SundayOvertimes = newValue);


                return(compensatedMissingHours);
            }
Example #4
0
            private CompensatedMissingHours CompensateHoursFromSundayOvertimes(
                CompensatedMissingHours compensatedMissingHours, Overtimes employeeOvertimes)
            {
                if (compensatedMissingHours.HasHoursToCompensate())
                {
                    if (employeeOvertimes.SundayOvertimes >= compensatedMissingHours.MissingHours)
                    {
                        compensatedMissingHours.CompensatedHours += compensatedMissingHours.MissingHours;
                        compensatedMissingHours.LeftOvertimes.SundayOvertimes = employeeOvertimes.SundayOvertimes -
                                                                                compensatedMissingHours.MissingHours;
                        compensatedMissingHours.MissingHours = 0;
                    }
                    else
                    {
                        compensatedMissingHours.CompensatedHours += employeeOvertimes.SundayOvertimes;
                        compensatedMissingHours.LeftOvertimes.SundayOvertimes = 0;
                        compensatedMissingHours.MissingHours -= employeeOvertimes.SundayOvertimes;
                    }
                }

                return(compensatedMissingHours);
            }
Example #5
0
 public void ResetStats(bool resetTeams = true)
 {
     DispatcherHelper.CheckBeginInvokeOnUI(delegate
     {
         AverageHealthDamage   = 0;
         AverageHltvRating     = 0;
         AverageEseaRws        = 0;
         AssistPerRound        = 0;
         DeathPerRound         = 0;
         KillPerRound          = 0;
         DamageHealthCount     = 0;
         DamageArmorCount      = 0;
         MvpCount              = 0;
         KillCount             = 0;
         KnifeKillCount        = 0;
         TeamKillCount         = 0;
         HeadshotCount         = 0;
         AssistCount           = 0;
         DeathCount            = 0;
         SmokeThrownCount      = 0;
         FlashbangThrownCount  = 0;
         HeadshotCount         = 0;
         DecoyThrownCount      = 0;
         MolotovThrownCount    = 0;
         IncendiaryThrownCount = 0;
         HitCount              = 0;
         WeaponFiredCount      = 0;
         AssistPerRound        = 0;
         DeathPerRound         = 0;
         OneKillCount          = 0;
         TwoKillCount          = 0;
         ThreeKillCount        = 0;
         FourKillCount         = 0;
         FiveKillCount         = 0;
         ScoreTeam1            = 0;
         ScoreTeam2            = 0;
         ScoreFirstHalfTeam1   = 0;
         ScoreFirstHalfTeam2   = 0;
         ScoreSecondHalfTeam1  = 0;
         ScoreSecondHalfTeam2  = 0;
         Rounds.Clear();
         WeaponFired.Clear();
         Kills.Clear();
         Overtimes.Clear();
         PositionPoints.Clear();
         MolotovsFireStarted.Clear();
         DecoyStarted.Clear();
         BombPlanted.Clear();
         BombDefused.Clear();
         BombExploded.Clear();
         BombPlanted.Clear();
         BombDefused.Clear();
         BombExploded.Clear();
         ClutchCount           = 0;
         ClutchLostCount       = 0;
         ClutchWonCount        = 0;
         EntryKillCount        = 0;
         MostBombPlantedPlayer = null;
         MostEntryKillPlayer   = null;
         MostHeadshotPlayer    = null;
         MostKillingWeapon     = null;
         HasCheater            = false;
         PlayersHurted.Clear();
         PlayerBlinded.Clear();
         Winner    = null;
         Surrender = null;
         if (resetTeams)
         {
             Players.Clear();
             TeamCT.Clear();
             TeamT.Clear();
         }
         else
         {
             foreach (Player playerExtended in Players)
             {
                 playerExtended.ResetStats();
             }
         }
     });
 }
Example #6
0
 public CompensatedMissingHours(decimal missingHours)
 {
     MissingHours     = missingHours;
     CompensatedHours = 0;
     LeftOvertimes    = new Overtimes(0, 0, 0);
 }