public async Task <IActionResult> Expenditures(Expenditures expenditures) { if (expenditures == null) { return(Json(new { ReturnStatus = "error", ReturnData = new Object() })); } Expenditures expend = new Expenditures(); expend.ProjectId = expenditures.ProjectId; expend.Name = expenditures.Name; expend.Date = expenditures.Date; expend.Submitter = expenditures.Submitter; expend.Amount = expenditures.Amount; //expend.Invoice = formCollection["Invoice"]; var expenditure = _unitOfWork.ExpendituresRepository.GetDbSet().FirstOrDefault(x => x.Name == expend.Name); if (expenditure == null) { try { _unitOfWork.ExpendituresRepository.Insert(expend); await _unitOfWork.SaveAsync(); } catch (Exception ex) { throw ex; } return(Json(new { ReturnStatus = "success", ReturnData = expend })); } return(Json(new { ReturnStatus = "error", ReturnData = new Object() })); }
public async Task <AddExpenseResponseModel> AddExpense(AddExpenseModel addExpense) { var expense = new Expenditures() { UserId = addExpense.UserId, Amount = addExpense.Amount, Description = addExpense.Description, ExpDate = addExpense.ExpDate, Remarks = addExpense.Remarks }; var createdexpense = await _expenseRepository.AddAsync(expense); // map user object to UserRegisterResponseModel object var createdExpResponse = new AddExpenseResponseModel { UserId = createdexpense.UserId, Amount = createdexpense.Amount, Description = createdexpense.Description, ExpDate = createdexpense.ExpDate, Remarks = createdexpense.Remarks }; return(createdExpResponse); }
public ActionResult Edit(Expenditures cvm) { var cat = db.expenditure.Where(x => x.ExpenditureID == x.ExpenditureID).FirstOrDefault(); cat.Status = false; if (cvm.statusex == "Yes") { cat.Status = true; } cat.EntryDate = cvm.EntryDate; cat.Purpose = cvm.Purpose; cat.Amount = cvm.Amount; cat.ModifiedDate = cvm.ModifiedDate; cat.CreateDate = cvm.CreateDate; cat.ModifiedDateBy = cvm.ModifiedDateBy; cat.CreatedBy = cvm.CreatedBy; cat.Remarks = cvm.Remarks; cat.ExpenseItemID = cvm.ExpenseItemID; cat.VendorID = cvm.VendorID; cat.VoucherName = cvm.VoucherName; db.SaveChanges(); ViewBag.SportType1 = new SelectList(db.expenseItems, "ExpenseItemID", "Description"); ViewBag.SportType2 = new SelectList(db.masterVendors, "VendorID", "Name"); return(RedirectToAction("Index")); }
public async Task <ExpenditureResponseModel> UpdateExpenditure(UpdateExpenditureRequestModel model) { var updatedExpenditure = new Expenditures { Id = model.Id, UserId = model.UserId, Amount = model.Amount, Description = model.Description, ExpDate = model.ExpDate, Remarks = model.Remarks }; await _expenditureRepository.UpdateAsync(updatedExpenditure); var expenditureResponseModel = new ExpenditureResponseModel { Id = updatedExpenditure.Id, UserId = updatedExpenditure.UserId, Amount = updatedExpenditure.Amount, Description = updatedExpenditure.Description, ExpDate = updatedExpenditure.ExpDate, Remarks = updatedExpenditure.Remarks }; return(expenditureResponseModel); }
public ActionResult DeleteConfirmed(int id) { Expenditures expenditures = db.expenditure.Find(id); db.expenditure.Remove(expenditures); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "ExpenditureId,UserName,ExpenditureDescription,ExpenditureCost")] Expenditures expenditures) { if (ModelState.IsValid) { db.Entry(expenditures).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(expenditures)); }
public async Task <Expenditures> AddExpenditure(ExpenditureRequestModel expenditureRequestModel) { var expenditure = new Expenditures { UsersId = expenditureRequestModel.UserId, Amount = expenditureRequestModel.Amount.Value, Description = expenditureRequestModel.Description }; return(await _expenditureRepository.AddAsync(expenditure)); }
public async Task <Expenditures> UpdateExpenditures(ExpenseUpdateRequestModel updateExp) { var updateExpense = new Expenditures { Id = updateExp.Id, UserId = updateExp.UserId, Amount = updateExp.Amount, Description = updateExp.Description, ExpDate = updateExp.ExpDate, Remarks = updateExp.Remarks }; var exp = await _expenseRepository.UpdateAsync(updateExpense); var updatedExp = new Expenditures { Id = exp.Id, UserId = exp.UserId, Amount = exp.Amount, Description = exp.Description, ExpDate = exp.ExpDate, Remarks = exp.Remarks }; return(updatedExp); }
// GET: Expenditures/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Expenditures expenditures = db.expenditure.Find(id); if (expenditures == null) { return(HttpNotFound()); } return(View(expenditures)); }
public ActionResult Create(Expenditures cvm) { Expenditures cat = new Expenditures(); cat.Status = false; if (cvm.statusex == "Yes") { cat.Status = true; } try { cat.EntryDate = cvm.EntryDate; cat.Purpose = cvm.Purpose; cat.Amount = cvm.Amount; cat.ModifiedDate = cvm.ModifiedDate; cat.CreateDate = cvm.CreateDate; cat.ModifiedDateBy = cvm.ModifiedDateBy; cat.CreatedBy = cvm.CreatedBy; cat.Remarks = cvm.Remarks; cat.ExpenseItemID = cvm.ExpenseItemID; cat.VendorID = cvm.VendorID; cat.VoucherName = cvm.VoucherName; db.expenditure.Add(cvm); ViewBag.SportType1 = new SelectList(db.expenseItems, "ExpenseItemID", "Description"); ViewBag.SportType2 = new SelectList(db.masterVendors, "VendorID", "Name"); db.SaveChanges(); } catch (DbEntityValidationException ex) { foreach (var eve in ex.EntityValidationErrors) { Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } } catch (Exception ex) { } return(RedirectToAction("Index")); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Expenditures expenditures = db.expenditure.Find(id); if (expenditures == null) { return(HttpNotFound()); } ViewBag.SportType1 = new SelectList(db.expenseItems, "ExpenseItemID", "Description"); ViewBag.SportType2 = new SelectList(db.masterVendors, "VendorID", "Name"); return(View(expenditures)); }
public ActionResult Create([Bind(Include = "ExpenditureDescription,ExpenditureCost")] Expenditures expenditures) { ApplicationUser user = new ApplicationUser(); var useridentity = User.Identity.Name; user = db.Users.Where(u => u.UserName == useridentity).Single(); if (ModelState.IsValid) { expenditures.UserName = User.Identity.Name; expenditures.ExpendMonth = DateTime.Now.Month; expenditures.ExpendYear = DateTime.Now.Year; db.Expenditures.Add(expenditures); db.SaveChanges(); if (db.Budgets.Where(e => e.UserName == useridentity).Select(p => p.ExtraExpenditures).Sum() > db.Budgets.Where(b => b.UserName == useridentity).Select(q => q.MonthlyLimit).Sum()) { var fromAddress = new MailAddress("*****@*****.**", "Budget Guru"); var toAddress = new MailAddress(user.Email, user.UserName); //const string fromPassword = "******"; const string subject = "Reached Limit"; string body = "You have exceeded your monthly spending limit. It is advised you discontinue this frivilous spending"; var smtp = new SmtpClient() { Host = "smtp.gmail.com", Port = 587, EnableSsl = true, DeliveryMethod = SmtpDeliveryMethod.Network, Credentials = new NetworkCredential("*****@*****.**", "donthackme1"), Timeout = 20000 }; using (var message = new MailMessage(fromAddress, toAddress)) { message.Subject = subject; message.Body = body; message.IsBodyHtml = true; smtp.Send(message); } } return(RedirectToAction("Index", "Budget")); } return(View(expenditures)); }
public async Task <ExpenditureResponseModel> AddExpenditure(ExpenditureRequestModel model) { var expenditure = new Expenditures { UserId = model.UserId, Amount = model.Amount, Description = model.Description, ExpDate = model.ExpDate, Remarks = model.Remarks }; var addExpenditure = await _expenditureRepository.AddAsync(expenditure); var expenditureResponseModel = new ExpenditureResponseModel { Id = addExpenditure.Id, UserId = addExpenditure.UserId, Amount = addExpenditure.Amount, Description = addExpenditure.Description, ExpDate = addExpenditure.ExpDate, Remarks = addExpenditure.Remarks }; return(expenditureResponseModel); }
public async Task <ActionResult> DeleteExpenditure([FromBody] Expenditures expenditure) { await _expendituresService.DeleteExpenditure(expenditure); return(Ok()); }
private Amount TotalExpenditure() => Amount.FromDecimal(Expenditures.Sum(i => i.Amount));
protected override void When(object @event) { Income income; Outgo outgo; Snapshot snapshot; Expenditure expenditure; switch (@event) { case Events.DailyBudgetCreated e: Id = new DailyBudgetId(e.Id); Name = new BudgetName(e.Name); snapshot = new Snapshot(Apply); ApplyToEntity(snapshot, e); Snapshot = snapshot; break; case Events.IncomeAddedToDailyBudget e: income = new Income(Apply); ApplyToEntity(income, e); Incomes.Add(income); e.TotalIncome = TotalIncome(); ApplyToEntity(Snapshot, e); break; case Events.IncomeAmountChanged e: income = Incomes.FirstOrDefault(i => i.Id == e.IncomeId); if (income == null) { throw new InvalidOperationException($"Income with id {e.IncomeId} not found"); } ApplyToEntity(income, e); e.TotalIncome = TotalIncome(); ApplyToEntity(Snapshot, e); break; case Events.IncomeDescriptionChanged e: income = Incomes.FirstOrDefault(i => i.Id == e.IncomeId); if (income == null) { throw new InvalidOperationException($"Income with id {e.IncomeId} not found"); } ApplyToEntity(income, e); break; case Events.IncomeRemoved e: income = Incomes.FirstOrDefault(i => i.Id == e.IncomeId); if (income == null) { throw new InvalidOperationException($"Income with id {e.IncomeId} not found"); } Incomes.Remove(income); e.TotalIncome = TotalIncome(); ApplyToEntity(Snapshot, e); break; case Events.OutgoAddedToDailyBudget e: outgo = new Outgo(Apply); ApplyToEntity(outgo, e); Outgos.Add(outgo); e.TotalOutgo = TotalOutgo(); ApplyToEntity(Snapshot, e); break; case Events.OutgoAmountChanged e: outgo = Outgos.FirstOrDefault(i => i.Id == e.OutgoId); if (outgo == null) { throw new InvalidOperationException($"Outgo with id {e.OutgoId} not found"); } ApplyToEntity(outgo, e); e.TotalOutgo = TotalOutgo(); ApplyToEntity(Snapshot, e); break; case Events.OutgoDescriptionChanged e: outgo = Outgos.FirstOrDefault(i => i.Id == e.OutgoId); if (outgo == null) { throw new InvalidOperationException($"Outgo with id {e.OutgoId} not found"); } ApplyToEntity(outgo, e); break; case Events.OutgoRemoved e: outgo = Outgos.FirstOrDefault(o => o.Id == e.OutgoId); if (outgo == null) { throw new InvalidOperationException($"Outgo with id {e.OutgoId} not found"); } Outgos.Remove(outgo); e.TotalOutgo = TotalOutgo(); ApplyToEntity(Snapshot, e); break; case Events.ExpenditureAdded e: expenditure = new Expenditure(Apply); ApplyToEntity(expenditure, e); Expenditures.Add(expenditure); e.TotalExpenditure = TotalExpenditure(); ApplyToEntity(Snapshot, e); break; case Events.ExpenditureAmountChanged e: expenditure = Expenditures.FirstOrDefault(exp => exp.Id == e.ExpenditureId); if (expenditure == null) { throw new InvalidOperationException($"Expenditure with id {e.ExpenditureId} not found"); } ApplyToEntity(expenditure, e); e.TotalExpenditure = TotalExpenditure(); ApplyToEntity(Snapshot, e); break; case Events.PeriodAddedToDailyBudget e: if (Period != null) { throw new InvalidOperationException($"Period has already been set. Update start or end"); } Period = Period.Create(e.Start, e.End); ApplyToEntity(Snapshot, e); break; case Events.PeriodStartChanged e: Period = Period.Create(e.Start, Period.ToB); ApplyToEntity(Snapshot, e); break; case Events.PeriodEndChanged e: Period = Period.Create(Period.FromA, e.End); ApplyToEntity(Snapshot, e); break; } }
public Expenditure GetExpenditure(string expenditureId) { return(Expenditures.FirstOrDefault(q => q.Id == expenditureId)); }
public IEnumerable <Expenditure> GetProjectExpenditures(string projectId, BudgetCategory category) { return(Expenditures.Where(q => q.ProjectId == projectId && q.BudgetCategory == (int)category).OrderBy(q => q.CreateTime).ToArray()); }
public async Task DeleteExpenditure(Expenditures expenditure) { await _expendituresRepository.DeleteAsync(expenditure); }
private double GetExpendituresTotalCount(string projectId, int budgetCategory) { double?result = Expenditures.Where(q => q.ProjectId == projectId && q.BudgetCategory == budgetCategory).Select(q => (double?)q.Count).Sum(); return(result ?? 0.0); }
public ActionResult MultiExpenditure() { Expenditures expenditures = new Expenditures(); return(View(expenditures)); }
public async Task <Expenditures> AddExpenditure(Expenditures expenditure) { return(await _expendituresRepository.AddAsync(expenditure)); }
public IEnumerable <Expenditure> GetProjectExpenditures(string projectId) { return(Expenditures.Where(q => q.ProjectId == projectId).OrderBy(q => q.CreateTime).ToArray()); }
public async Task <Expenditures> UpdateExpenditure(Expenditures expenditure) { return(await _expendituresRepository.UpdateAsync(expenditure)); }