AIMS_BD_IATI.DAL.AimsDAL.UpdateTrustFunds C# (CSharp) Method

UpdateTrustFunds() public method

public UpdateTrustFunds ( List TrustFundModels, string Iuser ) : int?
TrustFundModels List
Iuser string
return int?
        public int? UpdateTrustFunds(List<TrustFundModel> TrustFundModels, string Iuser)
        {
            var aimsCurrencies = from c in dbContext.tblCurrencies
                                 select new CurrencyLookupItem { Id = c.Id, IATICode = c.IATICode };

            var aimsAidCategories = from c in dbContext.tblAidCategories
                                    select new AidCategoryLookupItem { Id = c.Id, IATICode = c.IATICode };
            try
            {
                foreach (var TrustFundModel in TrustFundModels)
                {
                    try
                    {

                        var trustFund = dbContext.tblTrustFunds.FirstOrDefault(w => w.Id == TrustFundModel.TrustFundId);
                        if (trustFund != null)
                        {
                            foreach (var activity in TrustFundModel.iatiactivities)
                            {
                                trustFund.tblTrustFundDetails.Add(new tblTrustFundDetail
                                {
                                    TFDAmount = activity.TotalCommitment,
                                    TFDAmountInUSD = activity.TotalCommitment,
                                    TFDExchangeRateToUSD = 1,
                                    TFDFundSourceId = activity.AimsFundSourceId,
                                    TFDCurrencyId = 1,
                                    IUser = Iuser,
                                    IDate = DateTime.Now
                                });
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        Logger.WriteToDbAndFile(ex, LogType.Error, TrustFundModel.TFIdentifier);

                    }


                }

                dbContext.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        Trace.TraceInformation("Property: {0} Error: {1}",
                                                validationError.PropertyName,
                                                validationError.ErrorMessage);
                    }
                }
            }

            return 1;
        }