예제 #1
0
        public IHttpActionResult Create([FromBody] IzinCutiDTO izinCuti)
        {
            ThrowIfUserHasNoRole(createRole);
            if (izinCuti == null)
            {
                throw new KairosException("Missing model parameter");
            }

            if (izinCuti.IzinCuti_PK != 0)
            {
                throw new KairosException("Post method is not allowed because the requested primary key is must be '0' (zero) .");
            }
            using (var izinCutiCreateHandler = new IzinCutiCreateHandler(Db, ActiveUser, new IzinCutiValidator(), new IzinCutiFactory(Db, ActiveUser), new IzinCutiQuery(Db), AccessControl))
            {
                using (var transaction = new TransactionScope())
                {
                    var saveResult = izinCutiCreateHandler.Save(izinCutiDTO: izinCuti, dateStamp: DateTime.Now);
                    transaction.Complete();
                    if (saveResult.Success)
                    {
                        return(Ok(new SuccessResponse(saveResult.Model, saveResult.Message)));
                    }
                    return(Ok(new ErrorResponse(ServiceStatusCode.ValidationError, saveResult.ValidationResult, saveResult.Message)));
                }
            }
        }
        private IzinCutiEntryModel GetCreateStateModel()
        {
            IzinCutiEntryFormData formData     = new IzinCutiEntryFormData();
            List <Control>        formControls = CreateFormControls(0);
            var now = DateTime.Now;

            IzinCutiDTO izinCutiDTO = new IzinCutiDTO
            {
                User_FK    = User.User_PK,
                TglMulai   = now,
                TglSelesai = now.AddDays(7)
            };

            var user = new UserQuery(this.Db).GetByPrimaryKey(User.User_PK);

            if (user != null)
            {
                izinCutiDTO.UserIzinCutiJabatanTitle = user.KategoriJabatanTitle;
                izinCutiDTO.UserIzinCutiName         = user.Name;
            }

            return(new IzinCutiEntryModel()
            {
                FormData = formData,
                FormControls = formControls,
                Model = izinCutiDTO,
            });
        }
예제 #3
0
 public void Update(IzinCutiDTO izinCutiDTO, DateTime dateStamp)
 {
     if (izinCutiDTO == null)
     {
         throw new ArgumentNullException("IzinCuti model is null.");
     }
     tblT_IzinCuti izinCuti = izinCutiFactory.CreateFromDbAndUpdateFromDTO(izinCutiDTO, dateStamp);
 }
        public tblT_IzinCuti Insert(IzinCutiDTO izinCutiDTO, DateTime dateStamp)
        {
            if (izinCutiDTO == null)
            {
                throw new ArgumentNullException("IzinCuti model is null.");
            }
            tblT_IzinCuti izinCuti = izinCutiFactory.CreateFromDTO(izinCutiDTO, dateStamp);

            return(Db.tblT_IzinCuti.Add(izinCuti));
        }
        private IzinCutiEntryModel GetUpdateStateModel(int izinCutiPK)
        {
            IzinCutiEntryFormData formData     = new IzinCutiEntryFormData();
            List <Control>        formControls = CreateFormControls(izinCutiPK);
            IzinCutiDTO           izinCutiDTO  = izinCutiQuery.GetByPrimaryKey(izinCutiPK);

            if (izinCutiDTO == null)
            {
                throw new KairosException($"Record with primary key '{izinCutiDTO.IzinCuti_PK}' is not found.");
            }

            return(new IzinCutiEntryModel()
            {
                FormData = formData,
                FormControls = formControls,
                Model = izinCutiDTO,
            });
        }
예제 #6
0
        public SaveResult <IzinCutiEntryModel> Save(IzinCutiDTO izinCutiDTO, DateTime dateStamp)
        {
            ModelValidationResult validationResult = izinCutiValidator.Validate(izinCutiDTO);
            bool success             = false;
            IzinCutiEntryModel model = null;

            if (validationResult.IsValid)
            {
                success = true;
                Update(izinCutiDTO, dateStamp);
                Db.SaveChanges();
                model = izinCutiEntryDataProvider.Get(izinCutiDTO.IzinCuti_PK);
            }

            return(new SaveResult <IzinCutiEntryModel>
            {
                Success = success,
                Message = validationResult.IsValid ? "Data successfully updated." : "Validation error occured.",
                Model = model,
                ValidationResult = validationResult
            });
        }
예제 #7
0
        public IzinCutiDTO GetByPrimaryKey(int primaryKey)
        {
            IzinCutiDTO record = GetQuery().FirstOrDefault(izinCuti => izinCuti.IzinCuti_PK == primaryKey);

            return(record);
        }