public SuratDinasModel Propose(SuratDinasAddDto suratDinas) { // CHECK ARGUMENT suratDinas.Empty().Throw("Data Surat Dinas kosong"); // CONVERT DTO >> MODEL var sd = new SuratDinasModel { TglJamCreate = DateTime.Now, PegID = suratDinas.PegID, NoSurat = suratDinas.NoSurat, NoKontrak = suratDinas.NoKontrak, TglMulai = suratDinas.TglMulai, TglSelesai = suratDinas.TglSelesai, Keperluan = suratDinas.Keperluan, TransportID = suratDinas.TransportID, KMAwal = suratDinas.KMAwal, RSID = suratDinas.RSID, JenisBiayaID = suratDinas.JenisBiayaID, KasBon = suratDinas.KasBon, ListApproval = from c in suratDinas.ListApproval select new SuratDinasApprovalModel { PegID = c.PegID, ApprovalTypeID = c.ApprovalTypeID, } }; // VALIDATE MODEL Validate(sd); // UPDATE REPO using (var trans = TransHelper.NewScope()) { // generate id sd.SuratDinasID = _paramNoBL.GenNewID("LG", ParamNoLengthEnum.Code_13); foreach (var item in sd.ListApproval) { item.SuratDinasID = sd.SuratDinasID; } // insert ke db _suratDinasDal.Insert(sd); _suratDinasApprovalDal.Delete(sd); foreach (var item in sd.ListApproval) { _suratDinasApprovalDal.Insert(item); } // commit changes trans.Complete(); } return(sd); }
public IHttpActionResult CreateSuratDinas(SuratDinasAddDto surat) { try { var result = _suratDinasBL.Propose(surat); return(Ok(result)); } catch (ArgumentException ex) { return(BadRequest(ex.Message)); } }