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, }); }
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, }); }
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 }); }
public IzinCutiDTO GetByPrimaryKey(int primaryKey) { IzinCutiDTO record = GetQuery().FirstOrDefault(izinCuti => izinCuti.IzinCuti_PK == primaryKey); return(record); }