public IActionResult ApproveByScrumMaster(int id)
        {
            var username = this.GetCurrentUserName();

            var repo = this.Storage.GetRepository <IRequestOvertimeRepository>();

            RequestOvertime requestOvertime = repo.WithKey(id);

            if (requestOvertime == null)
            {
                return(this.NotFound(new { success = false }));
            }

            if (requestOvertime.HasFeedbackByScrumMaster() || requestOvertime.HasFeedbackByHumanResource())
            {
                this.ModelState.AddModelError("id", "Already have feedback by Scrum Master or HR");
            }

            if (this.ModelState.IsValid)
            {
                // TODO : find correct Employee ID from Username
                requestOvertime.ScrumMasterApproved(10, GetCurrentUserName());

                this.Storage.Save();

                return(Ok(new { success = true }));
            }
            else
            {
                return(BadRequest());
            }
        }
        public IActionResult RejectByHumanResourceDept([FromRoute] int id)
        {
            var             username        = this.GetCurrentUserName();
            var             repo            = this.Storage.GetRepository <IRequestOvertimeRepository>();
            RequestOvertime requestOvertime = repo.WithKey(id);

            if (requestOvertime == null)
            {
                return(this.NotFound(new { success = false }));
            }
            if (requestOvertime.HasFeedbackByScrumMaster() || requestOvertime.HasFeedbackByHumanResource())
            {
                this.ModelState.AddModelError("id", "Already have feedback by Srum Master or HR");
            }

            if (ModelState.IsValid)
            {
                requestOvertime.HumanResourceDeptRejected(20, GetCurrentUserName());

                this.Storage.Save();
                return(Ok(new { success = true }));
            }
            return(BadRequest());
        }