Exemplo n.º 1
0
        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));
            }
        }
Exemplo n.º 2
0
        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));
            }
        }
Exemplo n.º 3
0
        public ActionResult Create()
        {
            var viewModel  = new ExpenseFormModel();
            var categories = categoryRepository.GetAll();

            viewModel.Category = categories.ToSelectListItems(-1);
            viewModel.Date     = DateTime.Today;
            return(View(viewModel));
        }
Exemplo n.º 4
0
        // 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();
            }
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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"]);
        }
Exemplo n.º 8
0
        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);
            }
        }