Example #1
0
        public async Task <IActionResult> Create([Bind("Id,Name,DescriptionShort,DescriptionLong")] ProjectModel projectModel,
                                                 IFormFile imageFile,
                                                 [Bind("techIds")] int[] techIds)
        {
            if (ModelState.IsValid)
            {
                var UploadImage = new UploadImage(_env, _config);
                projectModel.Image = await UploadImage.Create(imageFile);

                if (techIds != null)
                {
                    foreach (int techId in techIds)
                    {
                        var tech = _context.TechModel.First(t => t.Id == techId);
                        if (tech != null)
                        {
                            projectModel.Teches.Add(tech);
                        }
                    }
                }
                _context.Add(projectModel);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(projectModel));
        }
Example #2
0
        public async Task <IActionResult> DeleteConfirmed(int id)
        {
            var techModel = await _context.TechModel.FindAsync(id);

            if (techModel.Image != null)
            {
                var UploadImage = new UploadImage(_env, _config);
                UploadImage.Delete(techModel.Image);
            }
            _context.TechModel.Remove(techModel);
            await _context.SaveChangesAsync();

            return(RedirectToAction(nameof(Index)));
        }
Example #3
0
        public async Task <IActionResult> Create([Bind("Id,Name,Image,Description")] TechModel techModel,
                                                 IFormFile imageFile)
        {
            if (ModelState.IsValid)
            {
                var UploadImage = new UploadImage(_env, _config);
                techModel.Image = await UploadImage.Create(imageFile);

                _context.Add(techModel);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(techModel));
        }
Example #4
0
        public async Task <IActionResult> Edit(int id,
                                               [Bind("Id,Name,Image,Description")] TechModel techModel,
                                               IFormFile imageFile)
        {
            if (id != techModel.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                if (imageFile != null)
                {
                    var UploadImage = new UploadImage(_env, _config);
                    if (techModel.Image == null)
                    {
                        techModel.Image = await UploadImage.Create(imageFile);
                    }
                    else
                    {
                        techModel.Image = await UploadImage.Edit(techModel.Image, imageFile);
                    }
                }

                try
                {
                    _context.Update(techModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TechModelExists(techModel.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(techModel));
        }
Example #5
0
        public async Task <IActionResult> Edit(int id,
                                               [Bind("Id,Name,DescriptionShort,DescriptionLong,Image")] ProjectModel projectModel,
                                               IFormFile imageFile,
                                               [Bind("techIds")] int[] techIds)
        {
            if (id != projectModel.Id)
            {
                return(NotFound());
            }
            projectModel = await _context.ProjectModel.Include(t => t.Teches).FirstOrDefaultAsync(p => p.Id == id);

            if (ModelState.IsValid)
            {
                if (imageFile != null)
                {
                    var UploadImage = new UploadImage(_env, _config);
                    if (projectModel.Image == null)
                    {
                        projectModel.Image = await UploadImage.Create(imageFile);
                    }
                    else
                    {
                        projectModel.Image = await UploadImage.Edit(projectModel.Image, imageFile);
                    }
                }

                try
                {
                    foreach (var tech in projectModel.Teches.ToList())
                    {
                        if (!techIds.Contains(tech.Id))
                        {
                            projectModel.Teches.Remove(tech);
                        }
                    }

                    foreach (int techId in techIds)
                    {
                        if (!projectModel.Teches.Any(t => t.Id == techId))
                        {
                            var tech = _context.TechModel.First(t => t.Id == techId);
                            projectModel.Teches.Add(tech);
                        }
                    }

                    _context.Update(projectModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ProjectModelExists(projectModel.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(projectModel));
        }