Exemplo n.º 1
0
		///<summary></summary>
		public static long Insert(TimeAdjust timeAdjust) {
			if(RemotingClient.RemotingRole==RemotingRole.ClientWeb) {
				timeAdjust.TimeAdjustNum=Meth.GetLong(MethodBase.GetCurrentMethod(),timeAdjust);
				return timeAdjust.TimeAdjustNum;
			}
			return Crud.TimeAdjustCrud.Insert(timeAdjust);
		}
Exemplo n.º 2
0
		///<summary></summary>
		public static void Update(TimeAdjust timeAdjust) {
			if(RemotingClient.RemotingRole==RemotingRole.ClientWeb) {
				Meth.GetVoid(MethodBase.GetCurrentMethod(),timeAdjust);
				return;
			}
			Crud.TimeAdjustCrud.Update(timeAdjust);
		}
		///<summary></summary>
		public FormTimeAdjustEdit(TimeAdjust timeAdjustCur){
			//
			// Required for Windows Form Designer support
			//
			InitializeComponent();
			Lan.F(this);
			TimeAdjustCur=timeAdjustCur.Copy();
		}
Exemplo n.º 4
0
 ///<summary></summary>
 public static void Update(TimeAdjust timeAdjust)
 {
     if (RemotingClient.RemotingRole == RemotingRole.ClientWeb)
     {
         Meth.GetVoid(MethodBase.GetCurrentMethod(), timeAdjust);
         return;
     }
     Crud.TimeAdjustCrud.Update(timeAdjust);
 }
Exemplo n.º 5
0
 ///<summary></summary>
 public static long Insert(TimeAdjust timeAdjust)
 {
     if (RemotingClient.RemotingRole == RemotingRole.ClientWeb)
     {
         timeAdjust.TimeAdjustNum = Meth.GetLong(MethodBase.GetCurrentMethod(), timeAdjust);
         return(timeAdjust.TimeAdjustNum);
     }
     return(Crud.TimeAdjustCrud.Insert(timeAdjust));
 }
Exemplo n.º 6
0
 ///<summary></summary>
 public static void Delete(TimeAdjust adj)
 {
     if(RemotingClient.RemotingRole==RemotingRole.ClientWeb) {
         Meth.GetVoid(MethodBase.GetCurrentMethod(),adj);
         return;
     }
     string command= "DELETE FROM timeadjust WHERE TimeAdjustNum = "+POut.Long(adj.TimeAdjustNum);
     Db.NonQ(command);
 }
Exemplo n.º 7
0
        ///<summary></summary>
        public static void Delete(TimeAdjust adj)
        {
            if (RemotingClient.RemotingRole == RemotingRole.ClientWeb)
            {
                Meth.GetVoid(MethodBase.GetCurrentMethod(), adj);
                return;
            }
            string command = "DELETE FROM timeadjust WHERE TimeAdjustNum = " + POut.Long(adj.TimeAdjustNum);

            Db.NonQ(command);
        }
Exemplo n.º 8
0
        ///<summary></summary>
        public TimeAdjust Copy()
        {
            TimeAdjust t = new TimeAdjust();

            t.TimeAdjustNum = TimeAdjustNum;
            t.EmployeeNum   = EmployeeNum;
            t.TimeEntry     = TimeEntry;
            t.RegHours      = RegHours;
            t.OTimeHours    = OTimeHours;
            t.Note          = Note;
            return(t);
        }
Exemplo n.º 9
0
 private void butCompute_Click(object sender,EventArgs e)
 {
     if(!Security.IsAuthorized(Permissions.TimecardsEditAll)) {
         return;
     }
     //first, delete all existing overtime entries
     for(int i=0;i<TimeAdjustList.Count;i++) {
         if(TimeAdjustList[i].OTimeHours==TimeSpan.Zero) {
             continue;
         }
         if(!TimeAdjustList[i].IsAuto) {
             continue;
         }
         TimeAdjusts.Delete(TimeAdjustList[i]);
     }
     //then, fill grid
     FillMain(true);
     Calendar cal=CultureInfo.CurrentCulture.Calendar;
     CalendarWeekRule rule=CultureInfo.CurrentCulture.DateTimeFormat.CalendarWeekRule;
     //loop through all rows
     for(int i=0;i<mergedAL.Count;i++){
         //ignore rows that aren't weekly totals
         if(i<mergedAL.Count-1//if not the last row
             //if the next row has the same week as this row
             && cal.GetWeekOfYear(GetDateForRow(i+1),rule,(DayOfWeek)PrefC.GetInt(PrefName.TimeCardOvertimeFirstDayOfWeek))//Default is 0-Sunday
             == cal.GetWeekOfYear(GetDateForRow(i),rule,(DayOfWeek)PrefC.GetInt(PrefName.TimeCardOvertimeFirstDayOfWeek)))
         {
             continue;
         }
         if(WeeklyTotals[i]<=TimeSpan.FromHours(40)){
             continue;
         }
         //found a weekly total over 40 hours
         TimeAdjust adjust=new TimeAdjust();
         adjust.IsAuto=true;
         adjust.EmployeeNum=EmployeeCur.EmployeeNum;
         adjust.TimeEntry=GetDateForRow(i).AddHours(20);//puts it at 8pm on the same day.
         adjust.OTimeHours=WeeklyTotals[i]-TimeSpan.FromHours(40);
         adjust.RegHours=-adjust.OTimeHours;
         TimeAdjusts.Insert(adjust);
     }
     FillMain(true);
 }
Exemplo n.º 10
0
 private void butAdj_Click(object sender,EventArgs e)
 {
     if(!Security.IsAuthorized(Permissions.TimecardsEditAll)) {
         return;
     }
     TimeAdjust adjust=new TimeAdjust();
     adjust.EmployeeNum=EmployeeCur.EmployeeNum;
     DateTime dateStop=PIn.Date(textDateStop.Text);
     if(DateTime.Today<=dateStop && DateTime.Today>=PIn.Date(textDateStart.Text)) {
         adjust.TimeEntry=DateTime.Now;
     }
     else {
         adjust.TimeEntry=new DateTime(dateStop.Year,dateStop.Month,dateStop.Day,
             DateTime.Now.Hour,DateTime.Now.Minute,DateTime.Now.Second);
     }
     FormTimeAdjustEdit FormT=new FormTimeAdjustEdit(adjust);
     FormT.IsNew=true;
     FormT.ShowDialog();
     if(FormT.DialogResult==DialogResult.Cancel) {
         return;
     }
     FillMain(true);
 }
Exemplo n.º 11
0
		///<summary>Calculates weekly overtime and inserts TimeAdjustments accordingly.</summary>
		public static void CalculateWeeklyOvertime(Employee EmployeeCur,DateTime StartDate,DateTime StopDate) {
			List<ClockEvent> listClockEvent=new List<ClockEvent>();
			List<TimeAdjust> listTimeAdjust=new List<TimeAdjust>();
			string errors="";
			string clockErrors="";
			string timeAdjustErrors="";
			//Fill lists and catch validation error messages------------------------------------------------------------------------------------------------------------
			try{listClockEvent=ClockEvents.GetValidList(EmployeeCur.EmployeeNum,StartDate,StopDate,false)	;}catch(Exception ex) {clockErrors+=ex.Message;}
			try{listTimeAdjust=TimeAdjusts.GetValidList(EmployeeCur.EmployeeNum,StartDate,StopDate)				;}catch(Exception ex) {timeAdjustErrors+=ex.Message;}
			//Report Errors---------------------------------------------------------------------------------------------------------------------------------------------
			errors=clockErrors+timeAdjustErrors;
			if(errors!="") {
				throw new Exception(Employees.GetNameFL(EmployeeCur)+" has the following errors:\r\n"+errors);
			}
			


			//first, delete all existing non manual overtime entries
			for(int i=0;i<listTimeAdjust.Count;i++) {
				if(listTimeAdjust[i].IsAuto) {
					TimeAdjusts.Delete(listTimeAdjust[i]);
				}
			}
			//refresh list after it has been cleaned up.
			
			
			listTimeAdjust=TimeAdjusts.Refresh(EmployeeCur.EmployeeNum,StartDate,StopDate);
			ArrayList mergedAL = new ArrayList();
			foreach(ClockEvent clockEvent in listClockEvent) {
				mergedAL.Add(clockEvent);
			}
			foreach(TimeAdjust timeAdjust in listTimeAdjust) {
				mergedAL.Add(timeAdjust);
			}
			//then, fill grid
			Calendar cal=CultureInfo.CurrentCulture.Calendar;
			CalendarWeekRule rule=CalendarWeekRule.FirstFullWeek;//CultureInfo.CurrentCulture.DateTimeFormat.CalendarWeekRule;
			//rule=CalendarWeekRule.FirstFullWeek;//CalendarWeekRule is an Enum. For these calculations, we want to use FirstFullWeek, not FirstDay;
			List<TimeSpan> WeeklyTotals = new List<TimeSpan>();
			WeeklyTotals = FillWeeklyTotalsHelper(true,EmployeeCur,mergedAL);
			//loop through all rows
			for(int i=0;i<mergedAL.Count;i++) {
				//ignore rows that aren't weekly totals
				if(i<mergedAL.Count-1//if not the last row
					//if the next row has the same week as this row
					&& cal.GetWeekOfYear(GetDateForRowHelper(mergedAL[i+1]),rule,(DayOfWeek)PrefC.GetInt(PrefName.TimeCardOvertimeFirstDayOfWeek))//Default is 0-Sunday
					== cal.GetWeekOfYear(GetDateForRowHelper(mergedAL[i]),rule,(DayOfWeek)PrefC.GetInt(PrefName.TimeCardOvertimeFirstDayOfWeek))) {
					continue;
				}
				if(WeeklyTotals[i]<=TimeSpan.FromHours(40)) {
					continue;
				}
				//found a weekly total over 40 hours
				TimeAdjust adjust=new TimeAdjust();
				adjust.IsAuto=true;
				adjust.EmployeeNum=EmployeeCur.EmployeeNum;
				adjust.TimeEntry=GetDateForRowHelper(mergedAL[i]).AddHours(20);//puts it at 8pm on the same day.
				adjust.OTimeHours=WeeklyTotals[i]-TimeSpan.FromHours(40);
				adjust.RegHours=-adjust.OTimeHours;
				TimeAdjusts.Insert(adjust);
			}
		}
Exemplo n.º 12
0
		///<summary>Calculates weekly overtime and inserts TimeAdjustments accordingly.</summary>
		public static void CalculateWeeklyOvertime_Old(Employee EmployeeCur,DateTime StartDate,DateTime StopDate) {
			List<TimeAdjust> TimeAdjustList=TimeAdjusts.Refresh(EmployeeCur.EmployeeNum,StartDate,StopDate);
			List<ClockEvent> ClockEventList=ClockEvents.Refresh(EmployeeCur.EmployeeNum,StartDate,StopDate,false);
			//first, delete all existing overtime entries
			for(int i=0;i<TimeAdjustList.Count;i++) {
				if(TimeAdjustList[i].OTimeHours==TimeSpan.Zero) {
					continue;
				}
				if(!TimeAdjustList[i].IsAuto) {
					continue;
				}
				TimeAdjusts.Delete(TimeAdjustList[i]);
			}
			//refresh list after it has been cleaned up.
			TimeAdjustList=TimeAdjusts.Refresh(EmployeeCur.EmployeeNum,StartDate,StopDate);
			ArrayList mergedAL = new ArrayList();
			foreach(ClockEvent clockEvent in ClockEventList) {
				mergedAL.Add(clockEvent);
			}
			foreach(TimeAdjust timeAdjust in TimeAdjustList) {
				mergedAL.Add(timeAdjust);
			}
			//then, fill grid
			Calendar cal=CultureInfo.CurrentCulture.Calendar;
			CalendarWeekRule rule=CalendarWeekRule.FirstFullWeek;//CultureInfo.CurrentCulture.DateTimeFormat.CalendarWeekRule;
			//rule=CalendarWeekRule.FirstFullWeek;//CalendarWeekRule is an Enum. For these calculations, we want to use FirstFullWeek, not FirstDay;
			List<TimeSpan> WeeklyTotals = new List<TimeSpan>();
			WeeklyTotals = FillWeeklyTotalsHelper(true,EmployeeCur,mergedAL);
			//loop through all rows
			for(int i=0;i<mergedAL.Count;i++) {
				//ignore rows that aren't weekly totals
				if(i<mergedAL.Count-1//if not the last row
					//if the next row has the same week as this row
					&& cal.GetWeekOfYear(GetDateForRowHelper(mergedAL[i+1]),rule,(DayOfWeek)PrefC.GetInt(PrefName.TimeCardOvertimeFirstDayOfWeek))//Default is 0-Sunday
					== cal.GetWeekOfYear(GetDateForRowHelper(mergedAL[i]),rule,(DayOfWeek)PrefC.GetInt(PrefName.TimeCardOvertimeFirstDayOfWeek))) {
					continue;
				}
				if(WeeklyTotals[i]<=TimeSpan.FromHours(40)) {
					continue;
				}
				//found a weekly total over 40 hours
				TimeAdjust adjust=new TimeAdjust();
				adjust.IsAuto=true;
				adjust.EmployeeNum=EmployeeCur.EmployeeNum;
				adjust.TimeEntry=GetDateForRowHelper(mergedAL[i]).AddHours(20);//puts it at 8pm on the same day.
				adjust.OTimeHours=WeeklyTotals[i]-TimeSpan.FromHours(40);
				adjust.RegHours=-adjust.OTimeHours;
				TimeAdjusts.Insert(adjust);
			}

		}