public IHttpActionResult PostNewFeeCollect(FeeCollectViewModel fc) { if (!ModelState.IsValid) { return(BadRequest("Invalid data.")); } using (var ctx = new EMSEntities()) { int _trnno; int _sr = 1; //db.Users.OrderByDescending(u => u.UserId).FirstOrDefault(); if (fc.TRNNO == 0) { _trnno = Convert.ToInt32(ctx.FEECOLLECTMSTs.OrderByDescending(t => t.TRNNO).FirstOrDefault().TRNNO); // _trnno = _trnno + 1; //_trnno = Convert.ToInt32(ctx.EMs.OrderByDescending(t => t.TRNNO).First().ToString()); } else { _trnno = Convert.ToInt32(fc.TRNNO) + 1; } // int totalConunt = ctx.FEECOLLECTMSTs.Count<MARKTOTAL>(); fc.TRNNO = _trnno; ctx.ALLCLASSVOUCHERS(fc.RDATE, fc.TRNNO, fc.DDATE, fc.FMONTH, fc.LDATE); //ctx.FEECOLLECTMSTs.Add(new FEECOLLECTMST() //{ // TRNNO = fc.TRNNO, // RDATE = fc.RDATE, // EM_TRNNO = fc.EM_TRNNO, // FMONTH = fc.FMONTH, // DDATE = fc.DDATE, // LDATE = fc.LDATE, // FSTATUS = fc.FSTATUS, // DISCOUNT = fc.DISCOUNT, // DISCOUNTTYPE = fc.DISCOUNTTYPE, // CLASS_TRNNO = fc.CLASS_TRNNO, // SECDTL_TRNNO = fc.SECDTL_TRNNO, // SECDTL_SR = fc.SECDTL_SR, // PDATE = fc.PDATE, // ARRFLG = fc.ARRFLG, //}); //foreach (var dtls in fc.FEECOLLECTDTLs) //{ // var fcdetail = new FEECOLLECTDTL // { // //BudgetId = Here i need to get id of the Budget table that i inserted before // TRNNO = _trnno, // FMONTH = dtls.FMONTH, // FEETYPE_TRNNO = dtls.FEETYPE_TRNNO, // SR = _sr, // AMT = dtls.AMT, // FEEMON = dtls.FEEMON, // }; // ctx.FEECOLLECTDTLs.Add(fcdetail); // _sr++; //} try { ctx.SaveChanges(); } catch (DbEntityValidationException ex) { // Retrieve the error messages as a list of strings. var errorMessages = ex.EntityValidationErrors .SelectMany(x => x.ValidationErrors) .Select(x => x.ErrorMessage); // Join the list to a single string. var fullErrorMessage = string.Join("; ", errorMessages); // Combine the original exception message with the new one. var exceptionMessage = string.Concat(ex.Message, " The validation errors are: ", fullErrorMessage); // Throw a new DbEntityValidationException with the improved exception message. throw new DbEntityValidationException(exceptionMessage, ex.EntityValidationErrors); } } return(Ok()); }