Example #1
0
        /// <summary>
        /// Инициаилизирует пользователя во вьюбаг
        /// </summary>
        /// <param name="id">Идентификатор пользователя</param>
        private User InitializeUser(long id)
        {
            // Загружаем пользователя
            var user = UsersRepository.Load(id);
            if (user == null)
            {
                // Редиректим
                Response.Redirect("/",true);
                return null;
            }
            ViewBag.user = user;

            // Проверяем каталог его товаров
            if (user.UserCategories.Count == 0 && user.Products.Count > 0)
            {
                var startPos = 0;
                // Добавляем пользователю категории товаров
                foreach(var product in user.Products.Where(p => p.Category != null))
                {
                    // Ищем категорию
                    var category = user.UserCategories.FirstOrDefault(uc => uc.Title == product.Category.Title);
                    if (category == null)
                    {
                        // СОздаем
                        startPos += 1000;
                        category = new UserCategory()
                            {
                                Title = product.Category.Title,
                                Description = String.Empty,
                                Position = (startPos),
                                User = user
                            };
                        user.UserCategories.Add(category);
                    }
                    // Добавляем в нее товар
                    category.Products.Add(product);
                }
            }
            // Сохраняем
            UsersRepository.SubmitChanges();

            return user;
        }
Example #2
0
        public ActionResult SaveCategoryJson(string name)
        {
            if (!IsAuthentificated)
            {
                return RedirectToAction("Register");
            }

            if (!string.IsNullOrEmpty(name))
            {
                var category = new UserCategory
                    {
                        Title = name,
                        Position = CurrentUser.UserCategories.Count > 0
                                        ? CurrentUser.UserCategories.Max(c => c.Position) + 1000
                                        : 1000
                    };
                CurrentUser.UserCategories.Add(category);
            }

            // Сохраняем
            UsersRepository.SubmitChanges();

            // Переходим на страницу товара
            return Json(new {success = true},JsonRequestBehavior.AllowGet);
        }
Example #3
0
		private void detach_UserCategories(UserCategory entity)
		{
			this.SendPropertyChanging();
			entity.User = null;
		}
Example #4
0
        public ActionResult SaveCategory(UserCategory model)
        {
            if (!IsAuthentificated)
            {
                return RedirectToAction("Register");
            }

            // Проверяем что у нас - создание или редактирование
            UserCategory category;
            if (model.Id <= 0)
            {
                category = model;
                category.Position = CurrentUser.UserCategories.Count > 0
                                        ? CurrentUser.UserCategories.Max(c => c.Position) + 1000
                                        : 1000;
                CurrentUser.UserCategories.Add(category);
            }
            else
            {
                category = CurrentUser.UserCategories.First(c => c.Id == model.Id);
                category.Title = model.Title;
                category.Description = model.Description;
                category.Position = model.Position;
            }

            // Сохраняем
            UsersRepository.SubmitChanges();

            // Переходим на страницу товара
            return RedirectToAction("Products");
        }
Example #5
0
		private void attach_UserCategories(UserCategory entity)
		{
			this.SendPropertyChanging();
			entity.User = this;
		}