Beispiel #1
0
 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));
 }
Beispiel #2
0
        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());
            }
        }