public async Task <ActionResult <Sale> > AddSale([FromBody] SalesViewModel input) { try { Sale sale = null; if (input != null) { sale = input.Adapt <Sale>(); var PartLandDetails = _context.PartitionLandDetails.Where(p => p.ID == input.PartitionLandDetailId).FirstOrDefault(); if (PartLandDetails == null) { return(new JsonResult(new { ErrorMessage = "The given land details id not found." })); } sale.PartitionLandDetail = PartLandDetails; var user = _context.Users.Where(s => s.ID == input.UserId).FirstOrDefault(); if (user == null) { return(new JsonResult(new { ErrorMessage = "The given user id not found." })); } sale.User = user; if (input.ID <= 0) { _context.Sales.Add(sale); } else { _context.Sales.Update(sale); } } await _context.SaveChangesAsync(); return(new JsonResult(sale)); } catch (Exception _ex) { return(new JsonResult(new { ErrorMessage = _ex.Message })); } }