public SaveResult <IzinCutiEntryModel> Save(IzinCutiApprovalModel izinCutiApproval, DateTime dateStamp)
        {
            SetApproval(izinCutiApproval, dateStamp);

            Db.SaveChanges();
            IzinCutiEntryModel model = izinCutiEntryDataProvider.Get(izinCutiApproval.IzinCuti_PK);

            return(new SaveResult <IzinCutiEntryModel>
            {
                Success = true,
                Message = $"Data successfully updated.",
                Model = model,
                ValidationResult = null
            });
        }
        public void SetApproval(IzinCutiApprovalModel izinCutiApproval, DateTime dateStamp)
        {
            if (izinCutiApproval == null)
            {
                throw new ArgumentNullException("IzinCutiApprovalModel is null.");
            }

            tblT_IzinCuti izinCuti = Db.tblT_IzinCuti.Find(izinCutiApproval.IzinCuti_PK);

            if (izinCutiApproval == null)
            {
                throw new KairosException($"Id izin cuti: '{izinCutiApproval.IzinCuti_PK}' is not found.");
            }

            izinCuti.ApprovalUserDetail_FK = User.UserDetail_FK;
            izinCuti.IzinCutiStatus_FK     = izinCutiApproval.IzinCutiStatus;
            izinCuti.UpdatedBy             = User.Username;
            izinCuti.UpdatedDate           = dateStamp;
        }