Beispiel #1
0
        public HttpStatusCode Reject(ApproveRequestVM approveRequestVM)
        {
            var           httpClient = new HttpClient();
            StringContent content    = new StringContent(JsonConvert.SerializeObject(approveRequestVM), Encoding.UTF8, "application/json");
            var           result     = httpClient.PutAsync("https://localhost:44330/api/request/SubmitReject", content).Result;

            return(result.StatusCode);
        }
Beispiel #2
0
        public ActionResult SubmitReject(ApproveRequestVM approveRequestVM)
        {
            var data = requestRepository.Reject(approveRequestVM);

            if (data == 1)
            {
                return(Ok(new { status = "Reject success" }));
            }
            else
            {
                return(StatusCode(500, new { status = "Internal Server Error" }));
            }
        }
        public int Reject(ApproveRequestVM input)
        {
            var data = myContext.Requests.Where(e => e.Id == input.Id).FirstOrDefault();

            if (data == null)
            {
                return(0);
            }
            if (data.Status == Status.ApprovedByManager)
            {
                return(0);
            }
            if (data.Status == Status.RejectByHRD || data.Status == Status.RejectByManager)
            {
                return(0);
            }

            /*User dataUser = userRepository.GetDataByEmail(input.Email);
             * if (dataUser == null)
             * {
             *  return 0;
             * }
             * if (data.NIK == dataUser.NIK || (data.ApprovedHRD != null && data.ApprovedHRD == dataUser.NIK)) //biar tidak bisa mengapproved data diri sendiri
             * {
             *  return 0;
             * }*/
            //if (data.Status == Status.Waiting && dataUser.Role.Name == "HRD")
            if (data.Status == Status.Waiting)
            {
                data.Status = Status.RejectByManager;
                //data.ApprovedHRD = dataUser.NIK;
                //data.ApprovedManager = dataUser.NIK;
                myContext.Update(data);

                ApproveRequestVM result4     = null;
                string           connectStr4 = Configuration.GetConnectionString("MyConnection");
                var userCondition4           = myContext.Requests.Where(b => b.Id == input.Id).FirstOrDefault();
                if (userCondition4 != null)
                {
                    using (IDbConnection db = new SqlConnection(connectStr4))
                    {
                        string readSp     = "sp_email_approveManager";
                        var    parameter4 = new { IdRequest = input.Id };
                        result4 = db.Query <ApproveRequestVM>(readSp, parameter4, commandType: CommandType.StoredProcedure).FirstOrDefault();
                    }
                }
                sendEmail.SendReject(result4.Email, input.Id);
            }
            //else if (data.Status == Status.ApprovedByHRD && dataUser.Role.Name == "Manager")
            else if (data.Status == Status.ApprovedByHRD)
            {
                data.Status = Status.RejectByManager;
                //data.ApprovedManager = dataUser.NIK;
                myContext.Update(data);

                ApproveRequestVM result4     = null;
                string           connectStr4 = Configuration.GetConnectionString("MyConnection");
                var userCondition4           = myContext.Requests.Where(b => b.Id == input.Id).FirstOrDefault();
                if (userCondition4 != null)
                {
                    using (IDbConnection db = new SqlConnection(connectStr4))
                    {
                        string readSp     = "sp_email_approveManager";
                        var    parameter4 = new { Id = input.Id };
                        result4 = db.Query <ApproveRequestVM>(readSp, parameter4, commandType: CommandType.StoredProcedure).FirstOrDefault();
                    }
                }
                sendEmail.SendReject(result4.Email, input.Id);
            }
            else
            {
                return(0);
            }
            myContext.SaveChanges();
            return(1);
        }
        public int Approved(ApproveRequestVM input)
        {
            var data = myContext.Requests.Where(e => e.Id == input.Id).FirstOrDefault();

            if (data == null)
            {
                return(0);
            }
            if (data.Status == Status.ApprovedByManager)
            {
                return(0);
            }
            if (data.Status == Status.RejectByHRD || data.Status == Status.RejectByManager)
            {
                return(0);
            }

            /*User dataUser = userRepository.GetDataByEmail(input.Email);
             * if (dataUser == null)
             * {
             *  return 0;
             * }
             * if (data.NIK == dataUser.NIK || (data.ApprovedHRD != null && data.ApprovedHRD == dataUser.NIK)) //biar tidak bisa mengapproved data diri sendiri
             * {
             *  return 0;
             * }*/
            if (data.Status == Status.Waiting)
            {
                data.Status = Status.ApprovedByHRD;
                //data.ApprovedHRD = dataUser.NIK;
                myContext.Update(data);

                RequestVM result2     = null;
                string    connectStr2 = Configuration.GetConnectionString("MyConnection");
                using (IDbConnection db = new SqlConnection(connectStr2))
                {
                    string readSp     = "sp_email_HRD";
                    var    parameter2 = new { RoleId = 3 };
                    result2 = db.Query <RequestVM>(readSp, parameter2, commandType: CommandType.StoredProcedure).FirstOrDefault();
                }
                sendEmail.SendApproveHRD(result2.Email, input.Id);
            }
            else if (data.Status == Status.ApprovedByHRD)
            {
                var TotalDay = (data.EndDate - data.StartDate).TotalDays;
                userRepository.UpdateRemainingLeave(data.NIK, TotalDay);
                data.Status = Status.ApprovedByManager;
                //data.ApprovedManager = dataUser.NIK;


                ApproveRequestVM result3     = null;
                string           connectStr3 = Configuration.GetConnectionString("MyConnection");
                var userCondition3           = myContext.Requests.Where(b => b.Id == input.Id).FirstOrDefault();
                if (userCondition3 != null)
                {
                    using (IDbConnection db = new SqlConnection(connectStr3))
                    {
                        string readSp     = "sp_email_approveManager";
                        var    parameter3 = new { IdRequest = input.Id };
                        result3 = db.Query <ApproveRequestVM>(readSp, parameter3, commandType: CommandType.StoredProcedure).FirstOrDefault();
                    }
                }
                sendEmail.SendApproveManager(result3.Email, input.Id);
                myContext.Update(data);
            }
            else
            {
                return(0);
            }
            myContext.SaveChanges();
            return(1);
        }