public ActionResult Save(ExpenseFormModel form) { Category category = categoryRepository.GetById(form.CategoryId); if (ModelState.IsValid) { var command = new CreateOrUpdateExpenseCommand { ExpenseId = form.ExpenseId, Category = category, Date = form.Date, TransactionDesc = form.Transaction, Amount = form.Amount }; var result = commandBus.Submit(command); if (result.Success) { return(RedirectToAction("Index")); } } if (form.ExpenseId == 0) { return(View("Create", form)); } else { return(View("Edit", form)); } }
public ActionResult Save(ExpenseFormModel form) { if (ModelState.IsValid) { var command = new CreateOrUpdateExpenseCommand { ExpenseId = form.ExpenseId, CategoryId = form.CategoryId, Date = form.Date, Transaction = form.Transaction, Amount = form.Amount }; var result = commandBus.Submit(command); if (result.Success) { return(RedirectToAction("Index")); } } //if fail var categories = categoryRepository.GetAll(); form.Category = categories.ToSelectListItems(form.CategoryId); if (form.ExpenseId == 0) { return(View("Create", form)); } else { return(View("Edit", form)); } }
public ActionResult Create() { var viewModel = new ExpenseFormModel(); var categories = categoryRepository.GetAll(); viewModel.Category = categories.ToSelectListItems(-1); viewModel.Date = DateTime.Today; return(View(viewModel)); }
// GET: /Expense/Edit public ActionResult Edit(int id) { var expense = expenseRepository.GetById(id); var viewModel = new ExpenseFormModel(expense); var categories = categoryRepository.GetAll(); viewModel.Category = categories.ToSelectListItems(expense.Category.CategoryId); return(View(viewModel)); }
private void loadDocument() { string json = JsonHelper.loadDocument(Settings.Default.ProjectID, "ExpenseForm"); List <string[]> documentInfo = new List <string[]>(); newExpenseFormModel = new ExpenseFormModel(); currentExpenseFormModel = new ExpenseFormModel(); if (json != "") { versionControl = JsonConvert.DeserializeObject <VersionControl <ExpenseFormModel> >(json); newExpenseFormModel = JsonConvert.DeserializeObject <ExpenseFormModel>(versionControl.getLatest(versionControl.DocumentModels)); currentExpenseFormModel = JsonConvert.DeserializeObject <ExpenseFormModel>(versionControl.getLatest(versionControl.DocumentModels)); foreach (var row in currentExpenseFormModel.ProjectDetails) { projectInformation.Rows.Add(new string[] { row.ProjectName, row.ProjectManager, row.TeamMember }); } foreach (var row in currentExpenseFormModel.ExpenseDetails) { documentInformation.Rows.Add(new string[] { row.ActivityID, row.TaskID, row.ExpenseDate, row.ExpenseType, row.ExpenseDescription, row.ExpenseAmount, row.PayeeName, row.InvoiceNumber }); } foreach (var row in currentExpenseFormModel.SubmittedByDetails) { submitedBy.Rows.Add(new string[] { row.Name, row.Signature, row.Date }); } foreach (var row in currentExpenseFormModel.ApprovedByDetails) { approvedByGV.Rows.Add(new string[] { row.Name, row.Signature, row.Date }); } txtexecutivesummaryDescription.Text = currentExpenseFormModel.ApprovalDetails; } else { versionControl = new VersionControl <ExpenseFormModel>(); versionControl.DocumentModels = new List <VersionControl <ExpenseFormModel> .DocumentModel>(); newExpenseFormModel = new ExpenseFormModel(); } }
public void Cannot_Create_Empty_Expense() { // Arrange ExpenseController controller = new ExpenseController(commandBus.Object, categoryRepository.Object, expenseRepository.Object); // The MVC pipeline doesn't run, so binding and validation don't run. controller.ModelState.AddModelError("", "mock error message"); Mapper.CreateMap <ExpenseFormModel, CreateOrUpdateExpenseCommand>(); // Act ExpenseFormModel expense = new ExpenseFormModel(); expense.ExpenseId = 0; var result = controller.Save(expense) as ViewResult; // Assert - check that we are passing an invalid model to the view Assert.AreEqual(false, result.ViewData.ModelState.IsValid); Assert.AreEqual("Create", result.ViewName); }
public void Create_Expense_Redirects_To_Index() { // Arrange ExpenseController controller = new ExpenseController(commandBus.Object, categoryRepository.Object, expenseRepository.Object); commandBus.Setup(c => c.Submit(It.IsAny <CreateOrUpdateExpenseCommand>())).Returns(new CommandResult(true)); Mapper.CreateMap <ExpenseFormModel, CreateOrUpdateExpenseCommand>(); // Act ExpenseFormModel expense = new ExpenseFormModel { Transaction = "Mock Transaction", Date = DateTime.Now, Amount = 1000, CategoryId = 1 }; var result = controller.Save(expense) as RedirectToRouteResult; // Assert Assert.AreEqual("Index", result.RouteValues["action"]); }
public ActionResult Save(ExpenseFormModel form) { if (ModelState.IsValid) { var command = Mapper.Map <ExpenseFormModel, CreateOrUpdateExpenseCommand>(form); var result = commandBus.Submit(command); if (result.Success) { return(RedirectToAction("Index")); } } //if fail var categories = categoryRepository.GetAll(); form.Category = categories.ToSelectListItems(form.CategoryId); if (form.ExpenseId == 0) { return(View("Create", form)); } else { return(View("Edit", form)); } }
public void saveDocument() { List <ExpenseFormModel.ProjectDetail> projectDetail = new List <ExpenseFormModel.ProjectDetail>(); int projectInformationRowsCount = projectInformation.Rows.Count; for (int i = 0; i < projectInformationRowsCount - 1; i++) { ExpenseFormModel.ProjectDetail projectDetailModel = new ExpenseFormModel.ProjectDetail(); var projectName = documentInformation.Rows[i].Cells[0].Value?.ToString() ?? ""; var projectManager = documentInformation.Rows[i].Cells[1].Value?.ToString() ?? ""; var teamMember = documentInformation.Rows[i].Cells[2].Value?.ToString() ?? ""; projectDetailModel.ProjectName = projectName; projectDetailModel.ProjectManager = projectManager; projectDetailModel.TeamMember = teamMember; projectDetail.Add(projectDetailModel); } newExpenseFormModel.ProjectDetails = projectDetail; List <ExpenseFormModel.ExpenseDetail> expenseDetail = new List <ExpenseFormModel.ExpenseDetail>(); int documentInformationRowsCount = documentInformation.Rows.Count; for (int i = 0; i < documentInformationRowsCount - 1; i++) { ExpenseFormModel.ExpenseDetail expenseDetailModel = new ExpenseFormModel.ExpenseDetail(); var activityID = documentInformation.Rows[i].Cells[0].Value?.ToString() ?? ""; var taskID = documentInformation.Rows[i].Cells[1].Value?.ToString() ?? ""; var expenseDate = documentInformation.Rows[i].Cells[2].Value?.ToString() ?? ""; var expenseType = documentInformation.Rows[i].Cells[3].Value?.ToString() ?? ""; var expenseDescription = documentInformation.Rows[i].Cells[4].Value?.ToString() ?? ""; var expenseAmount = documentInformation.Rows[i].Cells[5].Value?.ToString() ?? ""; var payeeName = documentInformation.Rows[i].Cells[6].Value?.ToString() ?? ""; var invoiceNumber = documentInformation.Rows[i].Cells[7].Value?.ToString() ?? ""; expenseDetailModel.ActivityID = activityID; expenseDetailModel.TaskID = taskID; expenseDetailModel.ExpenseDate = expenseDate; expenseDetailModel.ExpenseType = expenseType; expenseDetailModel.ExpenseDescription = expenseDescription; expenseDetailModel.ExpenseAmount = expenseAmount; expenseDetailModel.PayeeName = payeeName; expenseDetailModel.InvoiceNumber = invoiceNumber; expenseDetail.Add(expenseDetailModel); } newExpenseFormModel.ExpenseDetails = expenseDetail; List <ExpenseFormModel.SubmittedBy> submittedBy = new List <ExpenseFormModel.SubmittedBy>(); int submittedByRowsCount = submitedBy.Rows.Count; for (int i = 0; i < submittedByRowsCount - 1; i++) { ExpenseFormModel.SubmittedBy submittedByModel = new ExpenseFormModel.SubmittedBy(); var name = submitedBy.Rows[i].Cells[0].Value?.ToString() ?? ""; var Signature = submitedBy.Rows[i].Cells[1].Value?.ToString() ?? ""; var date = submitedBy.Rows[i].Cells[2].Value?.ToString() ?? ""; submittedByModel.Name = name; submittedByModel.Signature = Signature; submittedByModel.Date = date; submittedBy.Add(submittedByModel); } newExpenseFormModel.SubmittedByDetails = submittedBy; List <ExpenseFormModel.ApprovedBy> approvedBy = new List <ExpenseFormModel.ApprovedBy>(); int approvedByRowsCount = approvedByGV.Rows.Count; for (int i = 0; i < approvedByRowsCount - 1; i++) { ExpenseFormModel.ApprovedBy approvedByModel = new ExpenseFormModel.ApprovedBy(); var name = approvedByGV.Rows[i].Cells[0].Value?.ToString() ?? ""; var Signature = approvedByGV.Rows[i].Cells[1].Value?.ToString() ?? ""; var date = approvedByGV.Rows[i].Cells[2].Value?.ToString() ?? ""; approvedByModel.Name = name; approvedByModel.Signature = Signature; approvedByModel.Date = date; approvedBy.Add(approvedByModel); } newExpenseFormModel.ApprovedByDetails = approvedBy; newExpenseFormModel.ApprovalDetails = txtexecutivesummaryDescription.Text; List <VersionControl <ExpenseFormModel> .DocumentModel> documentModels = versionControl.DocumentModels; if (!versionControl.isEqual(currentExpenseFormModel, newExpenseFormModel)) { VersionControl <ExpenseFormModel> .DocumentModel documentModel = new VersionControl <ExpenseFormModel> .DocumentModel(newExpenseFormModel, DateTime.Now, VersionControl <ProjectModel> .generateID()); documentModels.Add(documentModel); versionControl.DocumentModels = documentModels; string json = JsonConvert.SerializeObject(versionControl); currentExpenseFormModel = JsonConvert.DeserializeObject <ExpenseFormModel>(JsonConvert.SerializeObject(newExpenseFormModel)); JsonHelper.saveDocument(json, Settings.Default.ProjectID, "ExpenseForm"); MessageBox.Show("Expense form saved successfully", "save", MessageBoxButtons.OK); } }