예제 #1
0
        //Инициализация всех полей
        private void Initialize()
        {
            GardenBed bed = UserSingleton.Instance.CurrentBed;

            typeName.Text        = bed.Plant.TypeName;
            sortName.Text        = bed.Plant.SortName;
            waterDate.Text       = bed.WaterDate.ToString("dd/MM/yyyy hh:mm");
            waterPeriod.Text     = bed.WaterPeriod.ToString();
            weedDate.Text        = bed.WeedDate.ToString("dd/MM/yyyy hh:mm");
            weedPeriod.Text      = bed.WeedPeriod.ToString();
            pileUpDate.Text      = bed.PileUpDate.ToString("dd/MM/yyyy hh:mm");
            pileUpPeriod.Text    = bed.PileUpPeriod.ToString();
            fertilizeDate.Text   = bed.FertilizeDate.ToString("dd/MM/yyyy hh:mm");
            fertilizePeriod.Text = bed.FertilizePeriod.ToString();
            //FIXME:: Отрисовать все записки

            mRecyclerView = FindViewById <RecyclerView>(Resource.Id.recyclerView1);
            // Plug in the linear layout manager:
            mLayoutManager = new LinearLayoutManager(this);
            mRecyclerView.SetLayoutManager(mLayoutManager);
            // Plug in my adapter:
            mAdapter = new NotesAdapter(bed.Notes, this);
            mRecyclerView.SetAdapter(mAdapter);
            //Привязываю нажатия на элементы адаптера
            mAdapter.NoteChanged += OnNoteChanged;
            RegisterForContextMenu(mRecyclerView);
        }
예제 #2
0
        public async Task <IActionResult> PutGardenBed([FromRoute] int id, [FromBody] GardenBed gardenBed)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != gardenBed.Id)
            {
                return(BadRequest());
            }

            _context.Entry(gardenBed).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!GardenBedExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
예제 #3
0
        public async Task <IActionResult> Edit(int id, [Bind("GardenBedId,name")] GardenBed gardenBed)
        {
            if (id != gardenBed.GardenBedId)
            {
                return(NotFound());
            }
            ModelState.Remove("User");
            ModelState.Remove("UserId");
            var currUser = await GetCurrentUserAsync();

            if (ModelState.IsValid)


            {
                try
                {
                    gardenBed.userId = currUser.Id;
                    _context.Update(gardenBed);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!GardenBedExists(gardenBed.GardenBedId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(gardenBed));
        }
예제 #4
0
        public async Task <IActionResult> PostGardenBed([FromBody] GardenBed gardenBed)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.GardenBeds.Add(gardenBed);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetGardenBed", new { id = gardenBed.Id }, gardenBed));
        }
예제 #5
0
        //Инициализация всех полей
        private void Initialize()
        {
            //Поле вида растения
            typeName = FindViewById <EditText>(Resource.Id.editText1);
            //Поле сорта растения
            sortName = FindViewById <EditText>(Resource.Id.editText2);
            //Поле даты полива
            waterDate = FindViewById <EditText>(Resource.Id.editText3);
            //Поле периодичности полива
            waterPeriod = FindViewById <EditText>(Resource.Id.editText4);
            //Поле даты прополки
            weedDate = FindViewById <EditText>(Resource.Id.editText5);
            //Поле периодичности прополки
            weedPeriod = FindViewById <EditText>(Resource.Id.editText6);
            //Поле даты окучивания
            pileUpDate = FindViewById <EditText>(Resource.Id.editText7);
            //Поле периодичности окучивания
            pileUpPeriod = FindViewById <EditText>(Resource.Id.editText8);
            //Поле даты удобрения
            fertilizeDate = FindViewById <EditText>(Resource.Id.editText9);
            //Поле периодичности удобрения
            fertilizePeriod = FindViewById <EditText>(Resource.Id.editText10);

            bed           = new GardenBed(new PlantType("Вид", "Сорт"));
            typeName.Text = bed.Plant.TypeName;
            sortName.Text = bed.Plant.SortName;
            //Полив
            waterDate.Text   = bed.WaterDate.ToString("dd/MM/yyyy hh:mm");
            waterPeriod.Text = bed.WaterPeriod.ToString();
            //Прополка
            weedDate.Text   = bed.WeedDate.ToString("dd/MM/yyyy hh:mm");
            weedPeriod.Text = bed.WeedPeriod.ToString();
            //Окучивание
            pileUpDate.Text   = bed.PileUpDate.ToString("dd/MM/yyyy hh:mm");
            pileUpPeriod.Text = bed.PileUpPeriod.ToString();
            //Удобрение
            fertilizeDate.Text   = bed.FertilizeDate.ToString("dd/MM/yyyy hh:mm");
            fertilizePeriod.Text = bed.FertilizePeriod.ToString();


            mRecyclerView = FindViewById <RecyclerView>(Resource.Id.recyclerView1);
            // Plug in the linear layout manager:
            mLayoutManager = new LinearLayoutManager(this);
            mRecyclerView.SetLayoutManager(mLayoutManager);
            // Plug in my adapter:
            mAdapter = new NotesAdapter(bed.Notes);
            mRecyclerView.SetAdapter(mAdapter);
            //Привязываю нажатия на элементы адаптера
            mAdapter.NoteChanged += OnNoteChanged;
            RegisterForContextMenu(mRecyclerView);
        }
예제 #6
0
        public async void OnNavigatedTo(NavigationParameters parameters)
        {
            Loading = true;
            int id;

            if (parameters.ContainsKey("id") && int.TryParse(parameters["id"] as string, out id))
            {
                GardenBed = await _gardenBedService.GetGardenBed(id);
            }
            else
            {
                GardenBed = null;
            }
            Loading = false;
        }
예제 #7
0
        public async Task <IActionResult> PostGardenBed([FromBody] GardenBed gardenBed)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            string userName = User.FindFirst(ClaimTypes.NameIdentifier).Value;

            gardenBed.creator = await _context.appUsers.SingleOrDefaultAsync(u => u.UserName == userName);

            _context.GardenBeds.Add(gardenBed);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetGardenBed", new { id = gardenBed.Id }, gardenBed));
        }
예제 #8
0
        public void NavigateToDetailsCommand_CallsNavigationService_WithExpectedArguments()
        {
            //Arrange
            var testData = new GardenBed {
                Id = 7, Name = "test"
            };

            _navMock
            .Setup(n => n.NavigateAsync(It.Is <string>(uri => uri.Equals("Detail?id=7")), null, null, true))
            .Returns(Task.Factory.StartNew(() => { }))
            .Verifiable();
            //Act
            _viewModel = new MainMenuViewModel(_navMock.Object, _serviceMock.Object);
            _viewModel.NavigateToDetailsCommand.Execute(testData);
            //Assert
            _navMock.Verify(); //also happens in cleanup, but well...
        }
예제 #9
0
        public async Task <IActionResult> Create(GardenBed gardenBed)
        {
            ModelState.Remove("User");
            ModelState.Remove("UserId");

            if (ModelState.IsValid)
            {
                var currUser = await GetCurrentUserAsync();

                gardenBed.userId = currUser.Id;
                _context.Add(gardenBed);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(gardenBed));
        }
        public void OnNavigatedTo_LoadsGardenBed_WithGivenId()
        {
            //Arrange
            var testData = new GardenBed {
                Id = 5
            };

            _serviceMock
            .Setup(s => s.GetGardenBed(It.Is <int>(x => x == 5)))
            .Returns(Task.Factory.StartNew(() => testData))
            .Verifiable();
            _viewModel = new DetailViewModel(_navMock.Object, _serviceMock.Object);
            //Act
            _viewModel.OnNavigatedTo(new NavigationParameters {
                ["id"] = "5"
            });
            //Verify
            Assert.AreSame(testData, _viewModel.GardenBed);
        }
예제 #11
0
 private void NavigateToDetails(GardenBed obj)
 {
     _navigationService.NavigateAsync($"{nameof(Detail)}?id={obj.Id}");
 }