public static decimal?CalculateRedistributeValueForStairCase(int associationExpenseId, Apartments apartment, IEnumerable <ApartmentExpenses> apartmentExpenses) { decimal?result = null; AssociationExpenses associationExpense = AssociationExpensesManager.GetById(associationExpenseId); if (!associationExpense.RedistributeType.HasValue) { return(null); } switch (associationExpense.RedistributeType.Value) { case (int)RedistributionType.PerApartament: result = RedistributeValuePerApartment(associationExpense, apartment); break; case (int)RedistributionType.PerDependents: result = RedistributeValuePerApartmentDependents(associationExpense, apartment); break; case (int)RedistributionType.PerConsumption: result = RedistributeValuePerConsumption(associationExpense, apartment, apartmentExpenses); break; } return(result); }
public static void Update(Invoices invoice, decimal?value, int?stairCaseId, string description, int?redistributionId, string issueNumber, DateTime?issueDate) { Invoices result; result = GetContext(true).Invoices.FirstOrDefault(c => c.Id == invoice.Id); if (result != null) { result.Value = value; result.Description = description; result.Id_StairCase = stairCaseId; result.id_Redistributiontype = redistributionId; result.issueDate = issueDate; result.issueNumber = issueNumber; GetContext().Entry(result).CurrentValues.SetValues(result); if (invoice.Id_EstateExpense.HasValue) { var ee = AssociationExpensesManager.GetById(invoice.Id_EstateExpense.Value); if (ee != null && ee.Id_Expense != (int)Expense.Diverse) { ApartmentExpensesManager.UpdateApartmentExpenses(ee, value, stairCaseId, result.id_assCounter); } } GetContext().SaveChanges(); } }
public static Invoices GetPreviousMonthById(int invoiceId) { Invoices result = null; var invoice = GetById(invoiceId); if (invoice != null && invoice.Id_EstateExpense.HasValue) { var ee = AssociationExpensesManager.GetById(invoice.Id_EstateExpense.Value); var month = ee.Month; var year = ee.Year; if (month == 1) { month = 12; year = year - 1; } else { month = month - 1; } var associationExpense = AssociationExpensesManager.GetAssociationExpense(ee.Id_Estate, ee.Id_Expense, year, month); if (associationExpense != null) { result = associationExpense.Invoices.FirstOrDefault(); } } return(result); }
public static List <Apartments> GetAllThatAreRegisteredWithSpecificCounters(int associationId, int assExpenseId, int?stairCase = null) { var result = new List <Apartments>(); AssociationExpenses associationExpense = AssociationExpensesManager.GetById(assExpenseId); if (associationExpense != null) { List <Apartments> allApartments; if (stairCase.HasValue) { allApartments = Get(associationId, stairCase.Value); } else { allApartments = Get(associationId); } foreach (var apartment in allApartments) { IEnumerable <AssociationCounters> counters = AssociationCountersManager.GetByApartment(apartment.Id); if (counters.Any(c => c.Id_Expense == associationExpense.Expenses.Id)) { result.Add(apartment); } } } return(result); }
public static decimal?CalculateRedistributeValue(int associationExpenseId) { decimal?result = null; AssociationExpenses associationExpense = AssociationExpensesManager.GetById(associationExpenseId); if (associationExpense.Id_ExpenseType == (int)ExpenseType.PerIndex) { result = GetRedistributeValuePerIndex(associationExpense); } return(result); }
public static AssociationExpensesUnitPrices Get(int associationExpenseId, int?stairCase) { AssociationExpensesUnitPrices result = null; var associationExpense = AssociationExpensesManager.GetById(associationExpenseId); if (associationExpense != null) { var assCounter = AssociationCountersManager.GetByExpenseAndStairCase(associationExpense.Id_Estate, associationExpense.Id_Expense, stairCase); if (assCounter != null) { result = Get(associationExpenseId, assCounter.Id); } } return(result); }
public static IEnumerable <Apartments> GetForIndividual(int associationId, int associationExpenseId) { var result = Enumerable.Empty <Apartments>(); var associationExpense = AssociationExpensesManager.GetById(associationExpenseId); if (associationExpense != null) { if (associationExpense.Id_Expense == (int)Expense.AjutorÎncălzire) { result = GetAllEnabledForHeatHelp(associationId); } else { result = GetAllThatAreRegisteredWithSpecificCounters(associationId, associationExpenseId); } } return(result); }
public static void AddOrUpdate(int?stairCase, int assExpenseId, decimal?newPrice) { var associationExpense = AssociationExpensesManager.GetById(assExpenseId); if (associationExpense != null) { var assCounter = AssociationCountersManager.GetByExpenseAndStairCase(associationExpense.Id_Estate, associationExpense.Id_Expense, stairCase); if (assCounter != null) { var assExUnitPrice = Get(assExpenseId, assCounter.Id); if (assExUnitPrice == null) { Add(assExpenseId, assCounter.Id, newPrice); } else { Update(assExUnitPrice.Id, newPrice); } } } }