private bool NotAlreadyPresentInDatabase(ImportedExpense import) { return(!this.db.ImportedExpenses.Any(dbex => dbex.AccountId == import.AccountId && dbex.BookingDay == import.BookingDay && dbex.AccountNumber == import.AccountNumber && dbex.Amount == import.Amount && dbex.Detail == import.Detail)); }
public async Task <IActionResult> SaveExpenseMassData([FromBody] SaveExpenseMassImportRequest req) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } PortalUser user = await repository.AuthenticateUserToken(req.CurrentUser.UserId, req.CurrentUser.UserToken); if (user == null) { return(NotFound()); } foreach (var saveMe in req.ExpenseModal) { ImportedExpense dbEntry = null; // Make sure the driver exists. if (saveMe.TemplateDefinitionId == null || saveMe.TemplateDefinitionId == 0) { throw new NullReferenceException("TemplateDefinitionId is required."); } // Are we saving a new Journal or editing an old one? dbEntry = new ImportedExpense(); repository.Insert(dbEntry); dbEntry.ContractId = saveMe.ContractId; dbEntry.DriverAmount = saveMe.DriverAmount; dbEntry.DriverId = saveMe.DriverId; dbEntry.ImportByUser = saveMe.ImportByUser; dbEntry.ImportDate = DateTime.UtcNow; dbEntry.IsOpen = saveMe.IsOpen; dbEntry.SMEAmount = saveMe.SMEAmount; dbEntry.TemplateDefinitionId = saveMe.TemplateDefinitionId; dbEntry.TransactionDate = saveMe.TransactionDate.Value.Year == 1? (DateTime?)null : saveMe.TransactionDate; dbEntry.TransactionDesc = saveMe.TransactionDesc; dbEntry.TransactionNumber = saveMe.TransactionNumber; dbEntry.TruckId = saveMe.TruckId; await repository.SaveChanges(); } return(Ok(req.ExpenseModal)); } catch (Exception ex) { return(BadRequest()); } }