//public void praca(DateTime poczatek, DateTime koniec, int stanowisko) public Boolean praca(DateTime poczatek, DateTime koniec, int stanowisko) { TimeSpan time = koniec.Subtract(poczatek); if (poprzedni != new DateTime()) { godzinDnia += time.TotalHours; godzin += time.TotalHours; TimeSpan diff = poczatek.Subtract(poprzedni); if (diff.TotalMinutes > 0 && diff.TotalHours < MIN_ODSTEP) { okienek += Math.Pow(diff.TotalHours, diff.TotalHours); } else { double nadg = godzinDnia - MAX_GODZIN; if (nadg > 0) { nadgodzin += nadg; nadg = nadg - MAX_NADGODZIN; if (nadg > 0) { ponadNadgodzin += nadg; nadgodzin -= nadg; } } } } Models.DzienRoboczyPracownika drp = dniRobocze.FirstOrDefault(d => d.DzienTygodnia.Id == (int)poczatek.DayOfWeek); if (drp == null || drp.Poczatek.TimeOfDay > poczatek.TimeOfDay || drp.Koniec.TimeOfDay < koniec.TimeOfDay) { return(false); //zlaGodzina += time.TotalHours; } Models.Dzien ur = urlop.FirstOrDefault(u => u.Data.Date == poczatek.Date || (u.Data.AddMinutes(-1)).Date == koniec.Date); if (ur != null) { return(false); //pracaUrlop += time.TotalHours; } Models.Stanowisko st = stanowiska.FirstOrDefault(s => s.Id == stanowisko); if (st == null) { return(false); //zleStanowisko += time.TotalHours; } poprzedni = koniec; return(true); }
public StanowiskoToSend(Stanowisko stanowisko, Boolean czySzczegoly) { Id = stanowisko.Id; Nazwa = stanowisko.Nazwa; if (czySzczegoly) { Miejsca = new List <StanowiskoMiejscaToSend>(); foreach (StanowiskoMiejsca sm in stanowisko.StanowiskoMiejsca) { Miejsca.Add(new StanowiskoMiejscaToSend(sm)); } } }
public StanowiskoToSend(Stanowisko stanowisko) : this(stanowisko, true) { }