Пример #1
0
 public void UpdateRota(EmployeeWorkWeek workWeek)
 {
     if (workWeek.StoreId == mStoreId)
     {
         DateTime date = workWeek.Date;
         mDBConnection.DeleteFromWorkWeek(mId, date);
         if (TimeSpan.Parse(workWeek.RotaStartTime) != new TimeSpan(0, 0, 0) || TimeSpan.Parse(workWeek.RotaFinishTime) != new TimeSpan(0, 0, 0) ||
             TimeSpan.Parse(workWeek.StartTime) != new TimeSpan(0, 0, 0) || TimeSpan.Parse(workWeek.FinishTime) != new TimeSpan(0, 0, 0) ||
             TimeSpan.Parse(workWeek.LunchTime) != new TimeSpan(0, 0, 0))
         {
             bool sucsses = mDBConnection.InsertWorkHours(mId, mStoreId, workWeek.StartTime, workWeek.FinishTime, workWeek.RotaStartTime, workWeek.RotaFinishTime, workWeek.LunchTime, workWeek.Date);
         }
     }
 }
Пример #2
0
        private int validateWorkWeek(EmployeeWorkWeek workWeek, EmployeeWorkWeek currenWorkWeek)
        {
            //if the rota is for the employee working in this store, otherwise don't update
            if (workWeek.StoreId.Equals(mStoreId))
            {
                if (workWeek.StartTime.IsValidTime() && workWeek.FinishTime.IsValidTime() && workWeek.RotaStartTime.IsValidTime() && workWeek.RotaFinishTime.IsValidTime() && workWeek.LunchTime.IsValidTime())
                {
                    //delete all where time and date has been set to 00:00:00
                    DateTime date = workWeek.Date;

                    if (TimeSpan.Parse(workWeek.RotaStartTime) != new TimeSpan(0, 0, 0) && TimeSpan.Parse(workWeek.RotaFinishTime) != new TimeSpan(0, 0, 0))
                    {
                        if (TimeSpan.Parse(workWeek.RotaStartTime) < TimeSpan.Parse(workWeek.RotaFinishTime))
                        {
                            List <EmployeeHoliday> holidayDays = mSelectedEmployee.EmployeeHoliday;
                            foreach (EmployeeHoliday empHol in holidayDays)
                            {
                                if (empHol.Date == date && empHol.State == "Approved")
                                {
                                    return(-1);
                                }
                            }
                            if (!currenWorkWeek.StoreId.Equals(mStoreId))
                            {
                                return(-4);
                            }
                        }
                        else
                        {
                            return(-5);
                        }
                    }
                    else
                    {
                        //if they are not all empty, error has occured
                        if (TimeSpan.Parse(workWeek.RotaStartTime) == new TimeSpan(0, 0, 0) ^ TimeSpan.Parse(workWeek.RotaFinishTime) == new TimeSpan(0, 0, 0))
                        {
                            return(-2);
                        }
                    }
                }
                else
                {
                    //valid time haven't been entered, for example contaning letters
                    return(-3);
                }
            }
            return(1);
        }
        public List <EmployeeWorkWeek> GetEmployeeWorkWeek(List <EmployeeWorkWeek> workHours, int employeeId, string storeId, DateTime startWeek, DateTime finishWeek)
        {
            ConnectToDatabase();

            string query = "SELECT * FROM tblWorkHours " +
                           "WHERE EmployeeId = @eId AND Date >= @startDate AND Date <= @finishDate " +
                           "ORDER BY Date";
            MySqlCommand cmd = new MySqlCommand(query, mConn);

            cmd.Parameters.Add(new MySqlParameter("eId", employeeId));
            cmd.Parameters.Add(new MySqlParameter("startDate", startWeek));
            cmd.Parameters.Add(new MySqlParameter("finishDate", finishWeek));

            MySqlDataReader rdr = cmd.ExecuteReader();

            EmployeeWorkWeek eW;

            while (rdr.Read())
            {
                eW                = new EmployeeWorkWeek();
                eW.StoreId        = rdr["StoreId"].ToString();
                eW.Date           = DateTime.Parse(rdr["Date"].ToString());
                eW.Day            = eW.Date.DayOfWeek.ToString();
                eW.StartTime      = rdr["StartTime"].ToString();
                eW.FinishTime     = rdr["FinishTime"].ToString();
                eW.RotaStartTime  = rdr["RotaStartTime"].ToString();
                eW.RotaFinishTime = rdr["RotaFinishTime"].ToString();
                eW.LunchTime      = rdr["BreakTime"].ToString();

                workHours[workHours.FindIndex(r => r.Date == eW.Date)] = eW;
            }

            rdr.Close();

            CloseConnection();

            return(workHours);
        }