Ejemplo n.º 1
0
        private WorkWeek ForMockWorkWeek()
        {
            var workWeek = new WorkWeek("test");

            workWeek.Id = Guid.NewGuid();
            return(workWeek);
        }
Ejemplo n.º 2
0
        private void CreateMissingWorkWeeks(IEnumerable <WorkDay> workdays, List <WorkWeek> weeks, AppUser user)
        {
            foreach (var day in workdays)
            {
                var firstDay     = day.Date.GetWholeWeek().First();
                var matchingWeek = weeks.FirstOrDefault(x => x.WeekStart.Date == firstDay.Date);
                if (matchingWeek == null)
                {
                    var week = new WorkWeek
                    {
                        ContractId = user.Id,
                        WeekStart  = firstDay,
                        WeekNumber = firstDay.GetWeekNumber(),
                    };

                    _context.WorkWeeks.Add(week);
                    weeks.Add(week);

                    day.WorkWeek = week;
                }
                else
                {
                    day.WorkWeek = matchingWeek;
                }
            }
        }
Ejemplo n.º 3
0
        public void HoursDuration_EmptyWorkWeekSchouldReturn0()
        {
            WorkMonth wm = new WorkMonth(2011, 1, null, new WorkDayParserSettings(), 1);
            WorkWeek  ww = new WorkWeek(wm, 1);

            Assert.AreEqual(0, ww.HoursDuration);
        }
Ejemplo n.º 4
0
        public static WorkWeek GetShifts(List <DateTime> availableDates)
        {
            var workWeek = new WorkWeek();

            for (var i = 0; i < availableDates.Count; i++)
            {
                var availableDate = availableDates[i];
                var workDay       = new WorkDay {
                    Name = availableDate.DayOfWeek
                };

                foreach (var shiftTime in ShiftTimes)
                {
                    var start = availableDate.AddHours(shiftTime.Start);
                    var end   = availableDate.AddHours(shiftTime.End);

                    workDay.Shifts.Add(new Shift {
                        Time = end - start
                    });
                }

                workWeek.Days.Add(workDay);
            }

            return(workWeek);
        }
Ejemplo n.º 5
0
        public WorkWeekEntity MapToEntity(WorkWeek workWeek)
        {
            Id          = workWeek.Id;
            Description = workWeek.Description;

            return(this);
        }
Ejemplo n.º 6
0
        public async Task <WorkWeek> GetWeek(DateTimeOffset date)
        {
            WorkWeek workWeek;

            try
            {
                workWeek = await _dateService.GetWeek(date);
            }
            catch (WeekDoesNotExistException)
            {
                var firstDayOfGivenWeek = date.GetFirstDayOfWeek();

                //Week did not exist, create a new one.
                workWeek = new WorkWeek(firstDayOfGivenWeek);

                //Add all default dates
                foreach (DayOfWeek dayOfWeek in _neededDays)
                {
                    var workDayDate = firstDayOfGivenWeek.AddDays((int)dayOfWeek - 1);
                    var workDay     = new WorkDay(workDayDate);
                    workWeek.WorkDays.Add(workDay);
                }

                workWeek = await _dateService.AddWeek(workWeek);
            }

            return(workWeek);
        }
Ejemplo n.º 7
0
        public async Task ProcessSpecificWorkWeek(RecalculateMyWeeksRequest request)
        {
            var workDays = await _context.WorkDays.Include(x => x.WorkingPeriods).Include(x => x.WorkWeek).Include(x => x.Contract)
                           .Where(new RecalculateMyWeeksSpecification(request.User.Id, request.DaysInWeek).ToExpression())
                           .ToListAsync();

            var totalHours         = workDays.Sum(x => CalculateTotalHoursFromWorkDay(x));
            var totalOverhours     = workDays.Sum(x => x.GetOverhours());
            var totalRequiredHours = workDays.Sum(x => x.RequiredHours);
            var daysOffWork        = workDays.Count(x => x.WorkDayType != Domain.Models.WorkDayType.Workday && x.WorkDayType != Domain.Models.WorkDayType.Undefined);
            var daysWorked         = workDays.Count(x => x.WorkDayType == Domain.Models.WorkDayType.Workday);

            var workWeek = await _context.WorkWeeks.FirstOrDefaultAsync(x => x.ContractId == request.CurrentContract.Id && x.WeekNumber == request.CalendarWeek);

            if (workWeek == null)
            {
                workWeek = new WorkWeek
                {
                    WeekNumber = request.CalendarWeek,
                    WeekStart  = request.DaysInWeek.First(),
                    ContractId = request.User.Id
                };

                _context.WorkWeeks.Add(workWeek);
            }

            workWeek.TotalHours         = totalHours;
            workWeek.TotalOverhours     = totalOverhours;
            workWeek.TotalRequiredHours = totalRequiredHours;
            workWeek.DaysOffWork        = daysOffWork;
            workWeek.DaysWorked         = daysWorked;

            await _context.SaveChangesAsync();
        }
Ejemplo n.º 8
0
        public WorkWeek GetWorkWeek(string username, DateTime date)
        {
            List <WorkShift> workWeek = new List <WorkShift>();

            try
            {
                //get the monday of this week containing date
                int      delta  = DayOfWeek.Monday - date.DayOfWeek;
                DateTime monday = date.AddDays(delta);

                workWeek.Add(GetWorkShift("", monday));
                workWeek.Add(GetWorkShift("", monday.AddDays(1)));
                workWeek.Add(GetWorkShift("", monday.AddDays(2)));
                workWeek.Add(GetWorkShift("", monday.AddDays(3)));
                workWeek.Add(GetWorkShift("", monday.AddDays(4)));
                workWeek.Add(GetWorkShift("", monday.AddDays(5)));
                workWeek.Add(GetWorkShift("", monday.AddDays(6)));
            }
            catch (Exception ex)
            {
            }
            WorkWeek ww = new WorkWeek();

            ww.WorkShifts = workWeek;
            return(ww);
        }
Ejemplo n.º 9
0
        public static void WorkWithWorkWeek()
        {
            // ExStart
            // ExFor: WorkWeek
            // ExFor: WorkWeek.#ctor
            // ExFor: WorkWeek.Name
            // ExFor: WorkWeek.ParentCalendar
            // ExFor: WorkWeek.FromDate
            // ExFor: WorkWeek.ToDate
            // ExFor: WorkWeek.WeekDays
            // ExSummary: Shows how to read work week information from the project.
            var project  = new Project();
            var calendar = project.Calendars.Add("Standard");

            Calendar.MakeStandardCalendar(calendar);

            var item = new WorkWeek(calendar);

            item.Name     = "My Work Week";
            item.FromDate = new DateTime(2020, 4, 13, 8, 0, 0);
            item.ToDate   = new DateTime(2020, 4, 17, 17, 0, 0);
            item.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Monday));
            item.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Tuesday));
            item.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Wednesday));
            item.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Thursday));
            item.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Friday));
            item.WeekDays.Add(new WeekDay(DayType.Saturday));
            item.WeekDays.Add(new WeekDay(DayType.Sunday));
            calendar.WorkWeeks.Add(item);

            Console.WriteLine("Work Week Number: " + calendar.WeekDays.Count);
            foreach (var workWeek in calendar.WorkWeeks)
            {
                // Display work week name, parent calendar name, from, and to dates
                Console.WriteLine("Name: " + workWeek.Name);
                Console.WriteLine("Parent calendar name: " + workWeek.ParentCalendar.Name);
                Console.WriteLine("From Date: " + workWeek.FromDate);
                Console.WriteLine("To Date: " + workWeek.ToDate);
                Console.WriteLine();

                // This data is all about "Details." button you can set special working times for special WeekDay or even make it nonworking
                List <WeekDay> weekDays = workWeek.WeekDays.ToList();
                foreach (var day in weekDays)
                {
                    Console.WriteLine(day.DayType.ToString());

                    // You can further traverse through working times and display these
                    foreach (var workingTime in day.WorkingTimes)
                    {
                        Console.WriteLine(workingTime.FromTime);
                        Console.WriteLine(workingTime.ToTime);
                    }
                }

                Console.WriteLine();
            }

            // ExEnd
        }
Ejemplo n.º 10
0
        public ActionResult DeleteConfirmed(int id)
        {
            WorkWeek workWeek = db.WorkWeek.Find(id);

            db.WorkWeek.Remove(workWeek);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 11
0
        public Subject CreateNew(string name, Day dayOfWeek, DateTime time, int audienceNumber, string fullNameTeacher,
                                 WorkWeek workWeek) //+
        {
            var newSubject = new Subject(name, dayOfWeek, time, audienceNumber, fullNameTeacher);

            newSubject.WorkWeek = workWeek;

            return(repository.Save(newSubject));
        }
Ejemplo n.º 12
0
        public JObject Post([FromBody] JObject jsonResult) //+
        {
            WorkWeekDTO workWeekDto = JsonConvert.DeserializeObject <WorkWeekDTO>(jsonResult.ToString());
            WorkWeek    workWeek    = workWeekDto.MapToModel();
            WorkWeekBLL workWeekBll = new WorkWeekBLL(repository);

            workWeekBll.CreateWorkWeek(workWeek);

            return(jsonResult);
        }
Ejemplo n.º 13
0
        public WorkWeekDTO MapFromModel(WorkWeek workWeek)
        {
            var subjects = workWeek.Subjects.Select(x => new SubjectDTO().MapFromModel(x)).ToList();

            Id          = workWeek.Id;
            Description = workWeek.Description;
            Subjects    = subjects;

            return(this);
        }
        public List <WorkWeek> findAll(int id)
        {
            List <WorkWeek> semanas = new List <WorkWeek>();

            using (SqlConnection con = new SqlConnection(strConnection))
            {
                SqlCommand cmd = new SqlCommand("sp_Select_Semanas_from_Mesociclo", con);
                //SqlCommand cmd = new SqlCommand(sql, con);
                con.Open();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@MesocicloId", id);

                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    WorkWeek semana = new WorkWeek();
                    semana.weekId        = Convert.ToInt32(reader[0]);
                    semana.weekName      = reader[1].ToString();
                    semana.weekObjective = reader[2].ToString();

                    if (!(reader[3] is DBNull))
                    {
                        semana.mesocicloId = Convert.ToInt32(reader[3]);
                    }
                    else
                    {
                        semana.mesocicloId = null;
                    }
                    semana.mesocicleName      = reader[4].ToString();
                    semana.mesocicleObjective = reader[5].ToString();

                    if (!(reader[6] is DBNull))
                    {
                        semana.macrocicleId = Convert.ToInt32(reader[6]);
                    }
                    else
                    {
                        semana.macrocicleId = null;
                    }

                    //if (!(reader[9] is DBNull))
                    //{
                    //    usuario.userType = Convert.ToInt16(reader[9]);
                    //}
                    //else
                    //{
                    //    usuario.userType = null;
                    //}
                    //usuario.fechaNac = reader[8].ToString();

                    semanas.Add(semana);
                }
            }
            return(semanas);
        }
Ejemplo n.º 15
0
 public ActionResult Edit([Bind(Include = "Id,StartWeek,UserId")] WorkWeek workWeek)
 {
     if (ModelState.IsValid)
     {
         db.Entry(workWeek).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.UserId = new SelectList(db.Users, "Id", "Email", workWeek.UserId);
     return(View(workWeek));
 }
Ejemplo n.º 16
0
        public WorkWeek MapToModel()
        {
            var workWeek = new WorkWeek(Description)
            {
                Id = this.Id
            };

            ((List <Subject>)workWeek.Subjects).AddRange(this.Subjects.Select(x => x.MapToModel(workWeek)));

            return(workWeek);
        }
Ejemplo n.º 17
0
 public ShortcutViewModel(ShortCut shortCut, WorkWeek workWeek, MoniSettings settings, Action closeAction)
 {
     this.viewcloseAction  = closeAction;
     this.MoniSettings     = settings;
     this.workWeek         = workWeek;
     this.Model            = shortCut ?? new ShortCut();
     this.IsNew            = shortCut == null;
     this.ShortCutKey      = this.Model.Key;
     this.ShortCutGroup    = settings.ParserSettings.ShortCutGroups.FirstOrDefault(sg => Equals(sg.Key, this.Model.Group));
     this.ShortCutGroupKey = this.Model.Group;
 }
Ejemplo n.º 18
0
        public Subject MapToModel(WorkWeek workWeek)
        {
            var subject = new Subject(Name, DayOfWeek, Time, AudienceNumber, FullName)
            {
                Id = this.Id
            };

            subject.WorkWeek = workWeek;

            return(subject);
        }
Ejemplo n.º 19
0
        public ActionResult Create([Bind(Include = "Id,StartWeek,UserId")] WorkWeek workWeek)
        {
            if (ModelState.IsValid)
            {
                db.WorkWeek.Add(workWeek);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.UserId = new SelectList(db.Users, "Id", "Email", workWeek.UserId);
            return(View(workWeek));
        }
Ejemplo n.º 20
0
        public void RemoveWorkWeekTrue()
        {
            var repository   = new Mock <IRepository>();
            var subjectBll   = new Mock <ISubjectBLL>();
            var workWeekBllM = new Mock <IWorkWeekBLL>();
            var res          = new WorkWeek("test");

            workWeekBllM.Setup(workWeekBll => workWeekBll.CreateWorkWeek("test")).Returns(res);
            var workWeek = workWeekBllM.Object.CreateWorkWeek("test");

            Assert.False(workWeekBllM.Object.Remove(workWeek.Id));
        }
Ejemplo n.º 21
0
        protected void WorkWeekGrid_OnInitNewRow(object sender, ASPxDataInitNewRowEventArgs e)
        {
            var workWeek = WorkWeek.GetTheMostRecentWorkWeek();

            if (workWeek != null)
            {
                var startDate = workWeek.EndDate.AddDays(1);
                e.NewValues["StartDate"] = startDate;
                e.NewValues["EndDate"]   = startDate.AddDays(6);
                e.NewValues["Caption"]   = string.Format("{0}-ს", startDate.ToString("MMM dd, yyyy", CultureInfo.CreateSpecificCulture("ka-ge")));
            }
        }
Ejemplo n.º 22
0
        public async Task <string> UpdateWorkWeek(int id, WorkWeek WorkWeek)
        {
            try
            {
                var res = await _repository.UpdateWorkWeek(id, WorkWeek);

                return(res);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 23
0
        public async Task <WorkWeek> CreateNewWorkWeek(WorkWeek WorkWeek)
        {
            try
            {
                var res = await _repository.CreateNewWorkWeek(WorkWeek);

                return(res);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 24
0
        // GET: WorkWeeks/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            WorkWeek workWeek = db.WorkWeek.Find(id);

            if (workWeek == null)
            {
                return(HttpNotFound());
            }
            return(View(workWeek));
        }
Ejemplo n.º 25
0
        public async Task <WorkWeek> CreateNewWorkWeek(WorkWeek workWeek)
        {
            try
            {
                _context.WorkWeeks.Add(workWeek);
                await _context.SaveChangesAsync();

                return(workWeek);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 26
0
        // GET: WorkWeeks/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            WorkWeek workWeek = db.WorkWeek.Find(id);

            if (workWeek == null)
            {
                return(HttpNotFound());
            }
            ViewBag.UserId = new SelectList(db.Users, "Id", "Email", workWeek.UserId);
            return(View(workWeek));
        }
        public LaborScheduling(string LocationCode)
        {
            //EmployeeListAll = FakeAPI.GetAllEmployees();

            //EmployeeListStore = FakeAPI.GetEmployeesForStore(storeCode);

            ManagerMessageList = FakeAPI.GetMessagesForManager(LocationCode);

            ThisWeek = new WorkWeek();

            /// <summary>
            /// A horizontal table to display the amount of employees needed for each hour of a selected day
            /// </summary>
            DataTable AssignmentTable = new DataTable();
        }
Ejemplo n.º 28
0
        public async Task <WorkWeek> AddWeek(WorkWeek workWeek)
        {
            workWeek.FirstDateOfWeek = workWeek.FirstDateOfWeek.AddHours(1); //Workaround for a bug that decreases the date for one hour
            foreach (WorkDay workDay in workWeek.WorkDays)
            {
                workDay.Date = workDay.Date.AddHours(1); //Workaround for a bug that decreases the date for one hour
            }

            await _databaseConnection.InsertWithChildrenAsync(workWeek);

            FireWeekAddedEvent(workWeek);
            foreach (WorkDay workDay in workWeek.WorkDays)
            {
                FireDayAddedEvent(workDay);
            }
            return(workWeek);
        }
Ejemplo n.º 29
0
        public async Task <IActionResult> CreateWorkWeek(WorkWeek wWorkWeek)
        {
            try
            {
                var response = await _service.CreateNewWorkWeek(wWorkWeek);

                if (response != null)
                {
                    return(Ok(response));
                }
                return(StatusCode(StatusCodes.Status204NoContent));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 30
0
        public async Task <IActionResult> UpdateWorkWeek(int WorkWeekId, WorkWeek wWorkWeek)
        {
            try
            {
                var res = await _service.UpdateWorkWeek(WorkWeekId, wWorkWeek);

                if (res != null)
                {
                    return(Ok(res));
                }
                return(StatusCode(StatusCodes.Status204NoContent));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Ejemplo n.º 31
0
        //Get all employees work in terms of weeks
        public static List<WorkWeek> GetAllTimeSheet()
        {
            List<WorkWeek> workWeekList = new List<WorkWeek>();
            string statement = "SELECT * FROM TIMESHEET ORDER BY TableID";
            SqlConnection conn = GetConnectionTimeSheet();
            SqlCommand cmd = new SqlCommand(statement, conn);

            //Try to read
            try
            {
                conn.Open();
                SqlDataReader reader = cmd.ExecuteReader();         //Read from SQL with SqlDataReader
                while (reader.Read())
                {
                    WorkWeek workWeek = new WorkWeek();

                    //Initialize properties
                    workWeek.TableID = (int)reader["TableID"];
                    workWeek.EmployeeID = reader["EmployeeID"].ToString().Trim();
                    workWeek.FirstName = reader["FirstName"].ToString().Trim();
                    workWeek.LastName = reader["LastName"].ToString().Trim();

                    workWeek.PunchIn = reader["PunchIn"].ToString().Split();
                    workWeek.PunchOut = reader["PunchOut"].ToString().Split();
                    workWeek.LunchIn = reader["LunchIn"].ToString().Split();
                    workWeek.LunchOut = reader["LunchOut"].ToString().Split();
                    workWeek.Reason = reader["Reason"].ToString().Split();
                    workWeek.Assoc = reader["Assoc"].ToString().Split();
                    workWeek.Admin = reader["Admin"].ToString().Split();

                    workWeek.Week = reader["Week"].ToString().Trim();

                    //Add to list
                    workWeekList.Add(workWeek);
                }

                reader.Close();
            }
            catch (Exception exception) { throw exception;}
            finally { conn.Close(); }

            return workWeekList;
        }
Ejemplo n.º 32
0
        //Update changes in cells
        //Split the string array first, before putting them in cells
        private void Display(WorkWeek workWeek)
        {
            Type type = typeof(WorkWeek);

            //Initialize grid Search for all text boxes
            for (int i = 0; i < allCells.Count(); i++)
            {
                //Reflection; get field inside employee of name stem
                PropertyInfo property = type.GetProperty(allCells[i].Name.Substring(6));   //Calling property of name

                if (property != null && property.GetValue(workWeek, null).ToString().Trim() != String.Empty)
                {
                    string[] cellParse = ParseCellName(allCells[i].Name);
                    string[] tempPropertyArr = (string[])property.GetValue(workWeek, null);

                    //Assign row values to grid - property based on column
                    grid[(int)WorkWeek.daysDict[cellParse[1]]][(int)WorkWeek.recsDict[cellParse[2]]] = tempPropertyArr[(int)WorkWeek.daysDict[cellParse[1]]];
                    allCells[i].Text = grid[(int)WorkWeek.daysDict[cellParse[1]]][(int)WorkWeek.recsDict[cellParse[2]]];

                    //Check for dummies and apply format to them
                    CheckForDummies((TextBox)allCells[i]);
                }
            }

            //Upgrade grid
            //UpdateGrid();

            //Display Hours
            double hrs = CalculateHours();
            lblTotal.Text = Math.Round(hrs, 1).ToString();
        }
Ejemplo n.º 33
0
        //Read from table Timsheet first workweek of employee's: only need FirstName and LastName
        public static List<WorkWeek> GetAllWorkWeekForSingleEmployee(string firstName, string lastName)
        {
            string searchStatement = "SELECT * FROM TIMESHEET WHERE FirstName = @firstName AND LastName = @lastName ORDER BY TableID";
            SqlConnection conn = GetConnectionTimeSheet();
            SqlCommand cmd = new SqlCommand(searchStatement, conn);

            //Fill in the command parameters
            cmd.Parameters.AddWithValue("@firstName", firstName);
            cmd.Parameters.AddWithValue("@lastName", lastName);

            List<WorkWeek> workWeekList = new List<WorkWeek>();

            //Try to execute
            try
            {
                conn.Open();
                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    WorkWeek workWeek = new WorkWeek();

                    workWeek.TableID = (int)reader["TableID"];
                    workWeek.EmployeeID = reader["EmployeeID"].ToString().Trim();
                    workWeek.FirstName = reader["FirstName"].ToString().Trim();
                    workWeek.LastName = reader["LastName"].ToString().Trim();

                    workWeek.PunchIn = reader["PunchIn"].ToString().Split();			//Split
                    workWeek.PunchOut = reader["PunchOut"].ToString().Split();
                    workWeek.LunchIn = reader["LunchIn"].ToString().Split();
                    workWeek.LunchOut = reader["LunchOut"].ToString().Split();
                    workWeek.Reason = reader["Reason"].ToString().Split();
                    workWeek.Assoc = reader["Assoc"].ToString().Split();
                    workWeek.Admin = reader["Admin"].ToString().Split();

                    workWeek.Week = reader["Week"].ToString().Trim();

                    workWeekList.Add(workWeek);
                }

            }
            catch (SqlException exception) { throw exception; }
            finally { conn.Close(); }
            return workWeekList;
        }
Ejemplo n.º 34
0
        /*	================================================================================
         *	Event for combo box items change
         *	- Includes display
         *	- Changes current workweek
         *	================================================================================
         */
        private void cmbWeekSpan_SelectedValueChanged(object sender, EventArgs e)
        {
            //When initialized disable buttons save, back, and forth.
            if (cmbWeekSpan.Text == "")
            {
                btnSave.Enabled = false;
                btnBack.Enabled = false;
                btnForth.Enabled = false;
            }
            else
            {
                btnSave.Enabled = true;
                btnBack.Enabled = true;
                btnForth.Enabled = true;

                //Disable forth
                DateTime cmbDate = WorkWeek.LastBeginningOfWeek(currentWorkWeek.Week);		//Date we are in
                DateTime cmbMonday = WorkWeek.LastBeginningOfWeek(cmbDate.ToString());

                DateTime date = UtilDotNET.StringToDate(WorkWeek.ConvertWeekSpanToBeginningOfWeek(cmbWeekSpan.Text));	//Date we want to go to (because it change)
                //MessageBox.Show(cmbMonday + " " + date);
                //Only execute on different date selections
                if (cmbMonday != date)
                {
                    //Load corresponding week
                    int currentIndex = cmbWeekSpan.Items.IndexOf(cmbWeekSpan.Text);
                    currentWorkWeek = employeeWorkWeekList[currentIndex];
                    Display(currentWorkWeek);
                }
            }
        }
Ejemplo n.º 35
0
        /*
         * Open and Save events
         */
        //Display current week of data
        private void btnOpen_Click(object sender, EventArgs e)
        {
            if (txtFirstName.Text != "" || txtLastName.Text != "")
            {
                //Update for autocompletion...
                employeeWorkWeekList = TimeSheetDatabase.GetAllWorkWeekForSingleEmployee(txtFirstName.Text, txtLastName.Text);

                //Exit on empty list
                if (employeeWorkWeekList.Count == 0)
                    return;

                currentWorkWeek = WorkWeek.GetCurrentWorkWeek(employeeWorkWeekList);

                //Split the string array first, before putting them in cells
                Display(currentWorkWeek);
                UpdateWeekComboBox(currentWorkWeek);

                //Display Hours
                double hrs = CalculateHours();
                lblTotal.Text = Math.Round(hrs, 3).ToString();

                //Feedback
                MessageBox.Show(string.Format("WorkWeek for employee:\n{0} {1}.", currentWorkWeek.FirstName.Trim(), currentWorkWeek.LastName.Trim()));

            }
            else
            {
                MessageBox.Show("Missing data! Please enter employee's first and last name.");
            }
        }
Ejemplo n.º 36
0
        /*	==================================================================
         *	btnForth_click event
         *	*****************************************************************
         *	Description: Creates a new WorkWeek, only 1 above current date
         *	Notes:
         *	1. Create new WorkWeek with EmployeeID, FirstName, LastName,
         *	empty data cells (like when in EmployeeForm).
         *	2. Set Week to be +7 days from current date.
         *	3. Display (includes add to weekspan combobox)
         *	4. Only 1 week above current date allowed.
         *
         *	==================================================================
         */
        private void btnForth_Click(object sender, EventArgs e)
        {
            //Prevent logic error - user changes names but does not click 'open records'
            if (CheckValidTransition())
            {
                //Correct the error - user change dropdown list selection but did not open
                txtFirstName.Text = currentWorkWeek.FirstName;
                txtLastName.Text = currentWorkWeek.LastName;
            }
            else
                return;

            //Move to next workWeek when not in last week
            int index = employeeWorkWeekList.IndexOf(currentWorkWeek);

            if (index == (employeeWorkWeekList.Count - 1))					//Last item
            {
                //Add new WorkWeek to table TimeSheet, with Week +7 of current week ()
                //--Update timesheet table with new employee - name and employee id, the rest of the fields empty
                DateTime dateNextWeek;
                if (DateTime.TryParse(currentWorkWeek.Week, out dateNextWeek))
                {
                    dateNextWeek = dateNextWeek.AddDays(7);
                }

                //Add to timesheet table
                TimeSheetDatabase.AddWeekWork(currentWorkWeek.EmployeeID.ToString(), currentWorkWeek.FirstName, currentWorkWeek.LastName, WorkWeek.zeroDummy, WorkWeek.zeroDummy, WorkWeek.zeroDummy, WorkWeek.zeroDummy, WorkWeek.ellipsisDummy, WorkWeek.dashDummy, WorkWeek.dashDummy, dateNextWeek.ToString());

                //Update employee WorkWeek list, and set currentWorkWeek
                employeeWorkWeekList = TimeSheetDatabase.GetAllWorkWeekForSingleEmployee(txtFirstName.Text, txtLastName.Text);
                currentWorkWeek = employeeWorkWeekList.Last();
                //MessageBox.Show(currentWorkWeek.Week.ToString());

                //Display
                UpdateWeekComboBox(currentWorkWeek);
                Display(currentWorkWeek);

                //Display Hours
                double hrs = CalculateHours();
                lblTotal.Text = Math.Round(hrs, 1).ToString();

                //Feedback
                MessageBox.Show(string.Format("Added new Time Sheet for employee {0} {1}", currentWorkWeek.FirstName, currentWorkWeek.LastName));
            }
            else
            {
                //Change combobox
                cmbWeekSpan.SelectedItem = cmbWeekSpan.Items[index + 1];
            }
        }
Ejemplo n.º 37
0
 //After work week modification, and change selected item
 private void UpdateWeekComboBox(WorkWeek workWeek)
 {
     //Set combo box for weeks
     cmbWeekSpan.Items.Clear();
     for (int i = 0; i < employeeWorkWeekList.Count; i++)
     {
         cmbWeekSpan.Items.Add(WorkWeek.DateToWeekSpan(employeeWorkWeekList[i].Week));		//Call convert date before entering val
     }
     cmbWeekSpan.SelectedItem = cmbWeekSpan.Items[employeeWorkWeekList.IndexOf(workWeek)];
 }