Esempio n. 1
0
        public TemplateFormViewModel CreateFormViewModelFor(Template template)
        {
            TemplateFormViewModel viewModel = CreateFormViewModel();

            viewModel.Template = template;
            return(viewModel);
        }
Esempio n. 2
0
        public ActionResult Edit(int id)
        {
            string UserGuid    = User.Identity.GetUserId();
            var    defCurrency = _context.Users.Single(u => u.Id == UserGuid).DefCurrency;

            var template = _context.Templates.SingleOrDefault(t => t.Id == id);

            if (template == null)
            {
                return(HttpNotFound());
            }

            int DefCatId = template.IsSpending ? Category.SpendingCategoryDefault : Category.IncomeCategoryDefault;

            var categories  = _context.Users.Find(UserGuid).Categories.Where(c => c.IsSpendingCategory == template.IsSpending).ToList();
            var defCategory = categories.First(c => c.Id == DefCatId);

            categories.Remove(defCategory);
            categories = categories.OrderBy(c => c.Name).ToList();
            categories.Insert(0, defCategory);

            var viewModel = new TemplateFormViewModel
            {
                Template    = template,
                Categories  = categories,
                DefCurrency = defCurrency
            };

            return(View("TemplateForm", viewModel));
        }
Esempio n. 3
0
        public IActionResult Save(TemplateModel template)
        {
            if (!ModelState.IsValid)
            {
                var userID     = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
                var categories = _categoryService.GetOrderedUserCategories(userID, template.IsSpending);

                var viewModel = new TemplateFormViewModel()
                {
                    Template              = template,
                    Categories            = categories,
                    Days                  = new SelectList(GetDaysArray()),
                    DefaultCurrencySymbol = _accountService.GetUserDefaultCurrencySymbol(userID)
                };

                return(View("TemplateForm", viewModel));
            }

            if (template.ID == 0)
            {
                _templateService.AddTemplate(template);
            }
            else
            {
                _templateService.UpdateTemplate(template);
            }

            return(RedirectToAction("TemplateList", "Template"));
        }
Esempio n. 4
0
        public ActionResult Create(Template template, HttpPostedFileBase file)
        {
            if (file != null)
            {
                //if (ViewData.ModelState.IsValid) {
                byte[] fileByteArray = new byte[file.InputStream.Length];
                file.InputStream.Read(fileByteArray, 0, (int)file.InputStream.Length);
                ActionConfirmation saveOrUpdateConfirmation =
                    templateManagementService.Create(template, file.FileName, fileByteArray);

                if (saveOrUpdateConfirmation.WasSuccessful)
                {
                    TempData[ControllerEnums.GlobalViewDataProperty.PageMessage.ToString()] =
                        saveOrUpdateConfirmation.Message;
                    return(RedirectToAction("Index"));
                }
            }
            else
            {
                ViewData.ModelState.AddModelError("File", "Must provide file");
                template = null;
            }

            TemplateFormViewModel viewModel =
                templateManagementService.CreateFormViewModelFor(template);

            return(View(viewModel));
        }
Esempio n. 5
0
        public ActionResult Edit(int id)
        {
            TemplateFormViewModel viewModel =
                templateManagementService.CreateFormViewModelFor(id);

            return(View(viewModel));
        }
Esempio n. 6
0
        public ActionResult Create()
        {
            TemplateFormViewModel viewModel =
                templateManagementService.CreateFormViewModel();

            return(View(viewModel));
        }
Esempio n. 7
0
        public ActionResult Edit(Template template, HttpPostedFileBase file)
        {
            //   if (ViewData.ModelState.IsValid) {
            byte[] fileByteArray = null;
            string fileName      = null;

            if (file != null)
            {
                fileByteArray = new byte[file.InputStream.Length];
                file.InputStream.Read(fileByteArray, 0, (int)file.InputStream.Length);
                fileName = file.FileName;
            }

            ActionConfirmation updateConfirmation =
                templateManagementService.UpdateWith(template, template.Id, fileName, fileByteArray);

            if (updateConfirmation.WasSuccessful)
            {
                TempData[ControllerEnums.GlobalViewDataProperty.PageMessage.ToString()] =
                    updateConfirmation.Message;
                return(RedirectToAction("Index"));
            }

            TemplateFormViewModel viewModel =
                templateManagementService.CreateFormViewModelFor(template);

            return(View(viewModel));
        }
Esempio n. 8
0
        public ActionResult Create(TemplateFormViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    serviceTemplate.Add(new TemplateDto()
                    {
                        TemplateId = model.TemplateId,

                        Name      = model.Name,
                        AdminView = model.AdminView,
                        FrontView = model.FrontView,
                        IsSection = model.IsSection,
                        Active    = model.Active
                    });
                }
                else
                {
                    ModelState.AddModelError("Error", "Algunos datos ingresados no son válidos");
                    return(View(model));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("Error", "Se ha producido un error: " + ex.Message);
                return(View(model));
            }

            return(RedirectToAction("Index", new { TemplateId = ViewBag.TemplateId, TemplateParentId = ViewBag.TemplateParentId }));
        }
Esempio n. 9
0
        public ActionResult Edit(TemplateFormViewModel model)
        {
            TemplateDto Template = serviceTemplate.GetItem(model.TemplateId);

            try
            {
                if (ModelState.IsValid)
                {
                    Template.TemplateId = model.TemplateId;

                    Template.Name      = model.Name;
                    Template.AdminView = model.AdminView;
                    Template.FrontView = model.FrontView;
                    Template.IsSection = model.IsSection;
                    Template.Active    = model.Active;

                    serviceTemplate.Edit(Template);
                }
                else
                {
                    ModelState.AddModelError("Error", "Algunos datos ingresados no son válidos");
                    return(View(model));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("Error", "Se ha producido un error: " + ex.Message);
                return(View(model));
            }

            return(RedirectToAction("Index"));
        }
Esempio n. 10
0
        public ActionResult Create()
        {
            var model = new TemplateFormViewModel()
            {
                Active = true
            };

            return(View(model));
        }
Esempio n. 11
0
        public void CanCreateFormViewModel()
        {
            // Establish Context
            TemplateFormViewModel viewModelToExpect = new TemplateFormViewModel();

            // Act
            TemplateFormViewModel viewModelRetrieved =
                templateManagementService.CreateFormViewModel();

            // Assert
            viewModelRetrieved.ShouldNotBeNull();
            viewModelRetrieved.Template.ShouldBeNull();
        }
Esempio n. 12
0
        public ActionResult Save(Template template)
        {
            if (!ModelState.IsValid)
            {
                string UserGuid    = User.Identity.GetUserId();
                var    categories  = _context.Users.Find(UserGuid).Categories.Where(c => c.IsSpendingCategory == template.IsSpending).OrderBy(c => c.Name);
                var    defCurrency = _context.Users.Single(u => u.Id == UserGuid).DefCurrency;

                var viewModel = new TemplateFormViewModel()
                {
                    Template    = template,
                    Categories  = categories,
                    DefCurrency = defCurrency
                };

                return(View("TemplateForm", viewModel));
            }

            if (template.Id == 0)
            {
                _context.Templates.Add(template);
            }
            else
            {
                var templateInDb = _context.Templates.Single(t => t.Id == template.Id);
                templateInDb.Name       = template.Name;
                templateInDb.Amount     = template.Amount;
                templateInDb.CategoryId = template.CategoryId;
                templateInDb.IsSpending = template.IsSpending;
                templateInDb.Day        = template.Day;
                templateInDb.UserId     = template.UserId;
            }

            try
            {
                _context.SaveChanges();
            }
            catch (DbEntityValidationException ex)
            {
                foreach (var errors in ex.EntityValidationErrors)
                {
                    foreach (var validationError in errors.ValidationErrors)
                    {
                        // get the error message
                        string errorMessage = validationError.ErrorMessage;
                    }
                }
            }

            return(RedirectToAction("TemplateList", "Template"));
        }
Esempio n. 13
0
        public ActionResult AddTemplate(bool IsSpending)
        {
            int NoCategoryId;

            if (IsSpending)
            {
                ViewBag.Head = "Добавить расход";
                NoCategoryId = Category.SpendingCategoryDefault;
            }
            else
            {
                ViewBag.Head = "Добавить доход";
                NoCategoryId = Category.IncomeCategoryDefault;
            }

            string UserGuid = User.Identity.GetUserId();

            var categories  = _context.Users.Find(UserGuid).Categories.Where(c => c.IsSpendingCategory == IsSpending).ToList();
            var defCategory = categories.First(c => c.Id == NoCategoryId);


            categories.Remove(defCategory);
            categories = categories.OrderBy(c => c.Name).ToList();
            categories.Insert(0, defCategory);

            var defCurrency = _context.Users.Single(u => u.Id == UserGuid).DefCurrency;

            var template = new Template();

            template.IsSpending = IsSpending;
            template.UserId     = UserGuid;

            // Список дней
            List <int> days = new List <int>();

            for (int i = 1; i <= 31; i++)
            {
                days.Add(i);
            }

            var viewModel = new TemplateFormViewModel
            {
                Template    = template,
                Categories  = categories,
                DefCurrency = defCurrency,
                Days        = new SelectList(days)
            };

            return(View("TemplateForm", viewModel));
        }
Esempio n. 14
0
        public void CanInitEdit()
        {
            // Establish Context
            TemplateFormViewModel viewModel = new TemplateFormViewModel();

            templateManagementService.Expect(r => r.CreateFormViewModelFor(1))
            .Return(viewModel);

            // Act
            ViewResult result = templatesController.Edit(1).AssertViewRendered();

            // Assert
            result.ViewData.Model.ShouldNotBeNull();
            (result.ViewData.Model as TemplateFormViewModel).ShouldNotBeNull();
        }
Esempio n. 15
0
        public IActionResult Edit(int id)
        {
            var userID = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;

            var template   = _templateService.GetTemplate(id);
            var categories = _categoryService.GetOrderedUserCategories(userID, template.IsSpending);

            var viewModel = new TemplateFormViewModel
            {
                Template              = template,
                Categories            = categories,
                Days                  = new SelectList(GetDaysArray()),
                DefaultCurrencySymbol = _accountService.GetUserDefaultCurrencySymbol(userID)
            };

            return(View("TemplateForm", viewModel));
        }
Esempio n. 16
0
        public void CannotUpdateInvalidTemplateFromForm()
        {
            // Establish Context
            Template templateFromForm = new Template();
            TemplateFormViewModel viewModelToExpect = new TemplateFormViewModel();

            templateManagementService.Expect(r => r.UpdateWith(templateFromForm, 0, null, null))
            .Return(ActionConfirmation.CreateFailureConfirmation("not updated"));
            templateManagementService.Expect(r => r.CreateFormViewModelFor(templateFromForm))
            .Return(viewModelToExpect);

            // Act
            ViewResult result =
                templatesController.Edit(templateFromForm, null).AssertViewRendered();

            // Assert
            result.ViewData.Model.ShouldNotBeNull();
            (result.ViewData.Model as TemplateFormViewModel).ShouldNotBeNull();
        }
Esempio n. 17
0
        public void CanCreateFormViewModelForTemplate()
        {
            // Establish Context
            TemplateFormViewModel viewModelToExpect = new TemplateFormViewModel();

            Template template =
                TemplateInstanceFactory.CreateValidTransientTemplate();

            templateRepository.Expect(r => r.Get(1))
            .Return(template);

            // Act
            TemplateFormViewModel viewModelRetrieved =
                templateManagementService.CreateFormViewModelFor(1);

            // Assert
            viewModelRetrieved.ShouldNotBeNull();
            viewModelRetrieved.Template.ShouldNotBeNull();
            viewModelRetrieved.Template.ShouldEqual(template);
        }
Esempio n. 18
0
        public IActionResult Add(bool isSpending)
        {
            var userID     = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
            var currency   = _accountService.GetUserDefaultCurrency(userID);
            var categories = _categoryService.GetOrderedUserCategories(userID, isSpending);

            var template = new TemplateModel()
            {
                IsSpending = isSpending,
                UserID     = userID,
                Currency   = currency, // TODO: refactor after adding multicurrency.
                CurrencyID = currency.ID
            };

            var viewModel = new TemplateFormViewModel
            {
                Template              = template,
                Categories            = categories,
                Days                  = new SelectList(GetDaysArray()),
                DefaultCurrencySymbol = _accountService.GetUserDefaultCurrencySymbol(userID)
            };

            return(View("TemplateForm", viewModel));
        }
Esempio n. 19
0
        public TemplateFormViewModel CreateFormViewModel()
        {
            TemplateFormViewModel viewModel = new TemplateFormViewModel();

            return(viewModel);
        }