// corerect one public bool AllocateFunds2(AllocateWrapper fundsForAllocationBox) { EntitySummaryContract updatedEntityStatus = new EntitySummaryContract(); var queryBudgetStatus = (from budgetStatusSingle in orgMaintEntitiesContext.BudgetStatus select budgetStatusSingle).FirstOrDefault(); if (queryBudgetStatus == null) { BudgetStatu budgStatu = new BudgetStatu(); budgStatu.BudgetAvailable = 0; budgStatu.BudgetAllocated = 0; budgStatu.DateUpdated = DateTime.Now; var queryentity = (from entityRequired in orgMaintEntitiesContext.EntityFinanceSummaries select entityRequired.BudgetRequired).Sum(); budgStatu.BudgetRequired = (decimal)queryentity; orgMaintEntitiesContext.BudgetStatus.Add(budgStatu); } else { decimal totalFundAllocated = 0M; var queryentities = (from entityRequired in orgMaintEntitiesContext.EntityFinanceSummaries where entityRequired.BudgetRequired > 0 orderby entityRequired.Priority, entityRequired.BudgetRequired descending select entityRequired); int entitiesAllocated = 0; queryentities.ToList().ForEach(rec => { if (queryBudgetStatus.BudgetAvailable > 0) { decimal fundAllocated = rec.BudgetRequired; if (fundAllocated >= queryBudgetStatus.BudgetAvailable) { fundAllocated = queryBudgetStatus.BudgetAvailable; // queryBudgetStatus.BudgetAvailable = 0; } totalFundAllocated += fundAllocated; rec.BudgetRequired -= fundAllocated; rec.BudgetAllocated += fundAllocated; queryBudgetStatus.BudgetAvailable -= fundAllocated; queryBudgetStatus.BudgetAllocated += fundAllocated; queryBudgetStatus.BudgetRequired -= fundAllocated; entitiesAllocated++; BudgetHistory newBudgetHistoryRecord = new BudgetHistory { Amount = totalFundAllocated, DebitCredit = "Debit", Date = (DateTime)DateTime.Now, Principal = rec.EntityName, Comments = string.Format("Priority {0},index {0}", rec.Priority, entitiesAllocated) }; orgMaintEntitiesContext.BudgetHistories.Add(newBudgetHistoryRecord); } }); //if (totalFundAllocated > 0) //{ // BudgetHistory newBudgetHistoryRecord = new BudgetHistory // { // Amount = totalFundAllocated, // DebitCredit = "Debit", // Date = (DateTime)DateTime.Now, // Comments = string.Format("Number Allocated={0}") // }; // orgMaintEntitiesContext.BudgetHistories.Add(newBudgetHistoryRecord); //} orgMaintEntitiesContext.SaveChanges(); } updateEntityStatus(); return true; }
public bool AllocateFunds3() { BudgetHistory newBudgetHistoryRecordTest = new BudgetHistory { Amount = 100, DebitCredit = "Debit", Date = (DateTime)DateTime.Now, Comments = string.Format("Number Allocated=1") }; orgMaintEntitiesContext.BudgetHistories.Add(newBudgetHistoryRecordTest); orgMaintEntitiesContext.SaveChanges(); return true; }
public bool AddContributor(Contributor contributor) { List<ContributorContract> updatedContributorList = new List<ContributorContract>(); Contributor newContributorRecord = new Contributor { ContributorID = contributor.ContributorID, OriginalCurrencyAmount = contributor.OriginalCurrencyAmount, ContributorName = contributor.ContributorName, Currency = contributor.Currency, DateReceived = DateTime.Now,// contributor.DateReceived, DateDeposited = DateTime.Now,//contributor.DateDeposited, Comments = contributor.Comments }; // do we do the conversion here or on the UI? // later on in the UI, because it is easier to update.. we can add a field for conversion switch (contributor.Currency.ToUpper()) { case "INR": newContributorRecord.ConvertedAmount = contributor.OriginalCurrencyAmount; break; case "USD": newContributorRecord.ConvertedAmount = contributor.OriginalCurrencyAmount * 60; break; case "EUR": newContributorRecord.ConvertedAmount = contributor.OriginalCurrencyAmount * 75; break; default: newContributorRecord.ConvertedAmount = contributor.OriginalCurrencyAmount * 20; break; } orgMaintEntitiesContext.Contributors.Add(newContributorRecord); orgMaintEntitiesContext.SaveChanges(); BudgetHistory newBudgetHistoryRecord = new BudgetHistory { Amount = newContributorRecord.ConvertedAmount, DebitCredit = "Credit", Date = (DateTime)(newContributorRecord.DateDeposited == null ? DateTime.Now : newContributorRecord.DateDeposited), Comments = newContributorRecord.Comments, Principal = newContributorRecord.ContributorName }; orgMaintEntitiesContext.BudgetHistories.Add(newBudgetHistoryRecord); orgMaintEntitiesContext.SaveChanges(); var query = (from budgetStatusSingle in orgMaintEntitiesContext.BudgetStatus select budgetStatusSingle).FirstOrDefault(); if (query == null) { BudgetStatu budgStatu = new BudgetStatu(); budgStatu.BudgetAvailable = newContributorRecord.ConvertedAmount; budgStatu.BudgetAllocated = 0; budgStatu.BudgetRequired = 00; budgStatu.DateUpdated = DateTime.Now; orgMaintEntitiesContext.BudgetStatus.Add(budgStatu); } else { query.BudgetAvailable += newContributorRecord.ConvertedAmount; query.DateUpdated = (DateTime)(DateTime)(newContributorRecord.DateDeposited == null ? DateTime.Now : newContributorRecord.DateDeposited); } orgMaintEntitiesContext.SaveChanges(); updateEntityStatus(); return true; }