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))); } } }
public IHttpActionResult Create([FromBody] MobileIzinCutiRequest izinCutiRequest) { string accessType = ""; ThrowIfUserHasNoRole(accessType); if (izinCutiRequest == null) { throw new KairosException("Missing model parameter"); } var izinCuti = izinCutiRequest.ToIzinCutiDTO(); 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 { success = true, msg = "Pengajuan berhasil." })); } return(Ok(new { success = false, msg = saveResult.ValidationResult.Errors.Count > 0 ? saveResult.ValidationResult.Errors[0].Message : saveResult.Message, validationResult = saveResult.ValidationResult })); } } }