Esempio n. 1
0
        public IEnumerable <ChartVM> Department()
        {
            var _userRepo = new GeneralDapperRepository <ChartVM>(_configuration);
            var result    = _userRepo.Get("SP_retrieveQuotaDept", null);

            return(result);
        }
Esempio n. 2
0
        public IEnumerable <ChartVM> RemainingQuota()
        {
            var _userRepo = new GeneralDapperRepository <ChartVM>(_configuration);
            var result    = _userRepo.Get("SP_retrieveRemainingQuota", null);

            return(result);
        }
Esempio n. 3
0
        public IEnumerable <ChartVM> RequestByDate()
        {
            var _userRepo = new GeneralDapperRepository <ChartVM>(_configuration);
            var result    = _userRepo.Get("SP_requestByDate", null);

            return(result);
        }
Esempio n. 4
0
        public int Register(CreateEmployeeVM createEmployeeVM)
        {
            Parameter parameter = parameterRepository.GetByName("leave allowance");

            var holiday = nationalHolidayRepository.GetData();

            var _userRepository = new GeneralDapperRepository <CreateEmployeeVM>(_configuration);

            _parameters.Add("@nik", createEmployeeVM.NIK);
            _parameters.Add("@fullName", createEmployeeVM.FullName);
            _parameters.Add("@phoneNumber", createEmployeeVM.PhoneNumber);
            _parameters.Add("@email", createEmployeeVM.Email);
            _parameters.Add("@birthDate", createEmployeeVM.BirthDate);
            _parameters.Add("@gender", createEmployeeVM.Gender);
            _parameters.Add("@maritalStatus", createEmployeeVM.MaritalStatus);
            _parameters.Add("@address", createEmployeeVM.Address);
            _parameters.Add("@remainingQuota", parameter.Value - holiday.Count());
            _parameters.Add("@PositionID", createEmployeeVM.PositionId);
            _parameters.Add("@nikManager", createEmployeeVM.NIK_Manager);
            _parameters.Add("@password", Hashing.HashPassword("password"));
            _parameters.Add("@joinDate", DateTime.Now);

            var result = _userRepository.Execute("SP_Register", _parameters);

            return(result);
        }
Esempio n. 5
0
        public IEnumerable <ChartVM> Position()
        {
            var _userRepo = new GeneralDapperRepository <ChartVM>(_configuration);
            var result    = _userRepo.Get("SP_retrieveQoutaPosition", null);

            return(result);
        }
Esempio n. 6
0
        public int ResetRemainingQuota()
        {
            var data   = new GeneralDapperRepository <Employee>(_configuration);
            var result = data.Execute("SP_ResetremainingQuota", null);

            return(result);
        }
        public IEnumerable <Employee> RetrieveManager()
        {
            var dapper = new GeneralDapperRepository <Employee>(configuration);
            var spName = "SP_RetrieveManager";
            var result = dapper.ListModel(spName, parameters);

            return(result);
        }
Esempio n. 8
0
        public IEnumerable <RequestVM> HistoryByNIK(string nik)
        {
            var history = new GeneralDapperRepository <RequestVM>(_configuration);

            _parameters.Add("@NIK", nik);
            var result = history.Get("SP_historyRequest", _parameters);

            return(result);
        }
Esempio n. 9
0
        public IEnumerable <RequestVM> ActionHR()
        {
            var request = new GeneralDapperRepository <RequestVM>(_configuration);

            _parameters.Add("@Status", 3);
            var result = request.Get("SP_statusRequest", _parameters);

            return(result);
        }
Esempio n. 10
0
        public LoginVM Login(LoginVM loginVM)
        {
            var _userRepository = new GeneralDapperRepository <LoginVM>(_configuration);

            _parameters.Add("@Email", loginVM.Email);
            _parameters.Add("@Password", loginVM.Password);
            var result = _userRepository.Query("SP_RetrieveAccount", _parameters);

            return(result);
        }
Esempio n. 11
0
        public IEnumerable <ChartVM> TotalReasonByNIK(string NIK)
        {
            var userRepo = new GeneralDapperRepository <ChartVM>(_configuration);
            var temp     = NIK;

            _parameters.Add("@NIK", temp);
            var result = userRepo.Get("SP_chartEmployee", _parameters);

            return(result);
        }
Esempio n. 12
0
        public int CancelRequest(RequestVM requestVM)
        {
            var requestDapper = new GeneralDapperRepository <RequestVM>(configuration);
            var spName        = "SP_CancelRequest";

            parameters.Add("@id", requestVM.LeaveRequestID);
            var result = requestDapper.SingleInt(spName, parameters);

            return(result);
        }
Esempio n. 13
0
        public int Approved(StatusRequestVM request)
        {
            var data = myContext.Requests.Where(r => r.Id == request.Id).FirstOrDefault();

            if (data == null)
            {
                return(0);
            }
            else if (data.RequestStatus == RequestStatus.RejectByManager || data.RequestStatus == RequestStatus.RejectByHRD)
            {
                return(0);
            }

            if (data.RequestStatus == RequestStatus.OnProcess)
            {
                data.RequestStatus   = RequestStatus.ApprovedByManager;
                data.ApprovedManager = "Approved";
                myContext.Update(data);

                var request2 = new GeneralDapperRepository <RequestVM>(_configuration);
                _parameters.Add("@RoleId", 4); //role HR
                var result2 = request2.Query("SP_sendEmailHR", _parameters);

                var emailHR = result2.Email;
                SendEmail.Approvemanager(emailHR, data);
            }

            else if (data.RequestStatus == RequestStatus.ApprovedByManager)
            {
                var totoalDays = (data.EndDate.AddDays(1) - data.StartDate).TotalDays;
                var dataQuota  = myContext.Requests.Where(e => e.Id == request.Id).FirstOrDefault();
                dataQuota.Employee.RemainingQuota -= Convert.ToInt32(totoalDays); //kondisi cuti hamil
                myContext.Update(dataQuota);
                myContext.SaveChanges();

                data.RequestStatus = RequestStatus.ApprovedByHRD;
                data.ApprovedHRD   = "Approved";
                myContext.Update(data);

                var request3 = new GeneralDapperRepository <RequestVM>(_configuration);
                var param    = request.Id;
                _parameters.Add("@Id", param);
                var result3 = request3.Query("SP_EmailEmployee", _parameters);

                var emailEmployee = result3.Email;
                SendEmail.ApproveHR(emailEmployee, data);
            }
            myContext.SaveChanges();
            return(1);
        }
Esempio n. 14
0
        public LoginVM Login(LoginVM loginVM)
        {
            var condition = myContext.Employees.Where(a => a.Email == loginVM.Email).FirstOrDefault();

            if (Hashing.ValidatePassword(loginVM.Password, condition.Account.AccountPassword))
            {
                var _userRepository = new GeneralDapperRepository <LoginVM>(_configuration);
                _parameters.Add("@Email", loginVM.Email);
                _parameters.Add("@Password", loginVM.Password);
                var result = _userRepository.Query("SP_Login", _parameters);
                return(result);
            }
            else
            {
                return(null);
            }
        }
Esempio n. 15
0
        public int Rejected(StatusRequestVM request)
        {
            var data = myContext.Requests.Where(r => r.Id == request.Id).FirstOrDefault();

            if (data == null)
            {
                return(0);
            }

            else if (data.RequestStatus == RequestStatus.OnProcess)
            {
                data.RequestStatus   = RequestStatus.RejectByManager;
                data.ApprovedManager = "Rejected";
                myContext.Update(data);

                var request1 = new GeneralDapperRepository <RequestVM>(_configuration);
                var temp     = request.Id;
                _parameters.Add("@Id", temp);
                var result2 = request1.Query("SP_EmailEmployee", _parameters);

                var emailEmployee = result2.Email;
                SendEmail.Rejected(emailEmployee, request.RejectedNotes, data);
            }

            else if (data.RequestStatus == RequestStatus.ApprovedByManager)
            {
                data.RequestStatus   = RequestStatus.RejectByHRD;
                data.ApprovedManager = "Rejected";
                myContext.Update(data);

                var request1 = new GeneralDapperRepository <RequestVM>(_configuration);
                var temp     = request.Id;
                _parameters.Add("@Id", temp);
                var result2 = request1.Query("SP_EmailEmployee", _parameters);

                var emailEmployee = result2.Email;
                SendEmail.Rejected(emailEmployee, request.RejectedNotes, data);
            }
            else
            {
                return(0);
            }
            myContext.SaveChanges();
            return(1);
        }
Esempio n. 16
0
        public int InsertRequest(RequestVM requestVM)
        {
            if (requestVM.StartDate > requestVM.EndDate)
            {
                return(0);
            }
            else if (requestVM.LeaveTypeID == -1)
            {
                return(-2);
            }
            else
            {
                var requestDapper = new GeneralDapperRepository <RequestVM>(configuration);
                var spName        = "SP_InsertRequest";
                parameters.Add("@nik", requestVM.EmployeeNIK);
                parameters.Add("@start", requestVM.StartDate);
                parameters.Add("@end", requestVM.EndDate);
                parameters.Add("@type", requestVM.LeaveTypeID);
                var result = requestDapper.SingleInt(spName, parameters);

                return(result);
            }
        }
 public AccountRepository(MyContext myContext, IConfiguration configuration) : base(myContext)
 {
     this.configuration            = configuration;
     this.dapperRepositoryRegister = new GeneralDapperRepository <RegisterVM>(configuration);
     this.myContext = myContext;
 }
Esempio n. 18
0
        public int Request(string NIK, RequestVM requestVM)
        {
            Employee employee  = myContext.Employees.Where(emp => emp.NIK == NIK).FirstOrDefault();
            var      totalDays = (requestVM.EndDate.AddDays(1) - requestVM.StartDate).TotalDays;

            if (totalDays > 0)
            {
                var request = new Request()
                {
                    NIK_Employee  = NIK,
                    StartDate     = requestVM.StartDate,
                    EndDate       = requestVM.EndDate,
                    ReasonRequest = requestVM.ReasonRequest,
                    Notes         = requestVM.Notes,
                    RequestStatus = RequestStatus.OnProcess,
                    RequestDate   = DateTime.Now
                                    //UploadDoc = requestVM.UploadDoc.FileName
                };

                var requestData = new GeneralDapperRepository <RequestVM>(_configuration);
                var temp1       = NIK;
                _parameters.Add("@NIK", temp1);
                var resultQuota = requestData.Query("SP_remainingQuota", _parameters);

                if (requestVM.ReasonRequest == "Normal leave")
                {
                    if (totalDays > resultQuota.RemainingQuota || totalDays > 5)
                    {
                        return(2);
                    }
                }
                else if (requestVM.ReasonRequest == "Maternity leave")
                {
                    if (employee.Gender == "Male")
                    {
                        return(7);
                    }
                    else if (totalDays != 90)
                    {
                        return(3);
                    }
                }
                else if (requestVM.ReasonRequest == "Married")
                {
                    if (totalDays != 3)
                    {
                        return(4);
                    }
                }
                else if (requestVM.ReasonRequest == "Marry or Circumcise or Baptize Children" ||
                         requestVM.ReasonRequest == "Wife gave birth or had a miscarriage" ||
                         requestVM.ReasonRequest == "Husband or Wife Parents or In laws Children or Son In law have passed away")
                {
                    if (totalDays != 2)
                    {
                        return(5);
                    }
                }
                else if (requestVM.ReasonRequest == "Family member in one house died")
                {
                    if (totalDays != 1)
                    {
                        return(6);
                    }
                }
                //End Condition For ReasionRequest

                myContext.Add(request);
                var datarequest = myContext.SaveChanges();

                var request1 = new GeneralDapperRepository <RequestVM>(_configuration);
                var temp     = NIK;
                _parameters.Add("@NIK", temp);
                var result2 = request1.Query("SP_EmailManager", _parameters);

                var emailManager = result2.EmailManager;

                SendEmail.SendRequest(emailManager, employee.Manager.FullName, employee.FullName, employee.Position.PositionName, requestVM);

                return(1);
            }
            else
            {
                return(0);
            }
        }