public ActionResult Edit(FarmFormViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("Edit", viewModel));
            }

            var farm = _unitOfWork.Farms.GetFarm(viewModel.Id);

            farm.Url  = viewModel.Url;
            farm.Name = viewModel.Name;

            _unitOfWork.Complete();

            var userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>();
            var user        = userManager.FindById(User.Identity.GetUserId());

            if (viewModel.IsDefault || user.DefaultFarmId == 0)
            {
                user.DefaultFarmId = farm.Id;
                userManager.Update(user);
            }

            return(RedirectToAction("Details", new { url = farm.Url }));
        }
        public ActionResult Create(FarmFormViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("Create", viewModel));
            }

            var userId = User.Identity.GetUserId();
            var farm   = new Farm
            {
                Name = viewModel.Name,
                Url  = viewModel.Url
            };

            var userFarm = new UserFarm
            {
                FarmId = farm.Id,
                UserId = userId
            };

            _unitOfWork.Farms.Add(farm);
            _unitOfWork.UserFarms.Add(userFarm);
            _unitOfWork.Complete();

            var userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>();
            var user        = userManager.FindById(userId);

            if (viewModel.IsDefault || user.DefaultFarmId == 0)
            {
                user.DefaultFarmId = farm.Id;
                userManager.Update(user);
            }

            return(RedirectToAction("Details", new { url = farm.Url }));
        }
        public ActionResult EditFarm(int id)
        {
            var  farm        = _unitOfWork.Farms.GetFarm(id);
            var  userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>();
            var  user        = userManager.FindById(User.Identity.GetUserId());
            bool isDefault   = user.DefaultFarmId == farm.Id;

            var viewModel = new FarmFormViewModel
            {
                Id        = farm.Id,
                Name      = farm.Name,
                Url       = farm.Url,
                IsDefault = isDefault
            };

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