예제 #1
0
        public RunnerDTO GetRunner(int Id)
        {
            var entity = _context.Runners.Include(r => r.Gender).Include(r => r.State).Include(r => r.StatusRunner).Include(r => r.ClothingSize).SingleOrDefault(r => r.Id.Equals(Id));
            var runner = new RunnerDTO().MapToDTO(entity);

            runner.ClothingSize     = entity.ClothingSize?.Name;
            runner.State            = entity.State?.Name;
            runner.RunnerStatusName = entity.StatusRunner.Name;
            return(runner);
        }
        private async Task <RunnerDTO> GetRunner(int Id)
        {
            var entity = await DbContext.Runners.FindAsync(Id);

            DbContext.Entry(entity).Reference(r => r.Gender);
            DbContext.Entry(entity).Reference(r => r.State);
            DbContext.Entry(entity).Reference(r => r.ClothingSize);
            DbContext.Entry(entity).Reference(r => r.StatusRunner);

            var runner = new RunnerDTO().MapToDTO(entity);

            runner.ClothingSize     = entity.ClothingSize?.Name;
            runner.ClothingSizeId   = entity.ClothingSizeId;
            runner.State            = entity.State?.Name;
            runner.RunnerStatusName = entity.StatusRunner?.Name ?? DbContext.StatusRunners.FirstOrDefault(s => s.IsActive == true).Name;
            return(runner);
        }
예제 #3
0
        public async Task <IActionResult> Create([Bind("FirstName,LastName,Email,PhoneNumber,StateId,Address,Zipcode,GenderId,ClothingSizeId,Age,City")] RunnerDTO runner)
        {
            if (ModelState.IsValid)
            {
                var entity = runner.MapToEntity(runner);
                entity.RunnerStatusId = DbContext.StatusRunners.FirstOrDefault(s => s.IsActive == true).Id;
                DbContext.Runners.Add(entity);
                await DbContext.SaveChangesAsync();

                runner.Id = entity.Id;
                return(RedirectToAction(nameof(Details), new { runner.Id }));
            }
            var rvm = new CreateRunnerViewModel(DbContext);

            rvm.InitModel();
            rvm.Runner = runner;
            return(View(rvm));
        }
예제 #4
0
        public async Task <IActionResult> Edit([Bind("Id,FirstName,LastName,Email,PhoneNumber,StateId,Address,Zipcode,GenderId,Address,City,StateId,Zipcode,RunnerStatusId")] RunnerDTO runner)
        {
            if (runner.Id == 0 || runner.Id == null)
            {
                Response.StatusCode = (int)HttpStatusCode.NotFound;
            }
            if (ModelState.IsValid)
            {
                var entity = runner.MapToEntity(runner);
                DbContext.Runners.Update(entity);
                await DbContext.SaveChangesAsync();

                return(RedirectToAction(nameof(Details), new { Id = runner.Id }));
            }
            else
            {
                var rvm = new EditRunnerViewModel(DbContext);
                await rvm.InitModel((int)runner.Id);

                return(View());
            }
        }