Пример #1
0
        public async Task <IActionResult> Create(RequestViewModel requestVM)
        {
            if (ModelState.IsValid)
            {
                string webRootPath = _hostingEnvironment.WebRootPath;
                var    files       = HttpContext.Request.Form.Files;

                var requestFromDb = _db.Requests.Find(requestVM.Request.Id);



                if (files.Count != 0)
                {
                    //Image has been uploaded
                    var uploads  = Path.Combine(webRootPath, @"images\screens\");
                    var fileName = files[0].FileName;


                    using (var filestream = new FileStream(Path.Combine(uploads, fileName), FileMode.Create))
                    {
                        files[0].CopyTo(filestream);
                    }

                    Image image = new Image()
                    {
                        Name = fileName
                    };

                    _db.Image.Add(image);


                    ImagesAssignedToRequest imageAssignedToRequest = new ImagesAssignedToRequest()
                    {
                        RequestId = requestVM.Request.Id,
                        Request   = await _db.Requests.FindAsync(requestVM.Request.Id),
                        Image     = image
                    };

                    await _db.ImagesAssignedToRequest.AddAsync(imageAssignedToRequest);
                }

                await _db.SaveChangesAsync();

                return(RedirectToAction("Index", "Requests", new { id = requestVM.Request.Id }));
            }

            return(View());
        }
Пример #2
0
        public async Task <IActionResult> Create(Request request)
        {
            Team defaultTeam = _db.Teams.FirstOrDefault();
            ClassificationAssignedToTeam defaultClassification = new ClassificationAssignedToTeam();

            if (defaultTeam == null)
            {
                ModelState.AddModelError("", "There must be at least one team!");
            }
            else
            {
                defaultClassification = _db.ClassificationAssignedToTeam.Where(c => c.TeamId == defaultTeam.Id).FirstOrDefault();

                if (defaultClassification == null)
                {
                    ModelState.AddModelError("", $"There must be at least one category assigned to the {defaultTeam.Name} team!");
                }
            }

            if (ModelState.IsValid)
            {
                request.Status     = Utilities.RequestStatus.New;
                request.SubmitDate = DateTime.Now;
                request.Team       = defaultTeam;
                request.Requestor  = (ApplicationUser)await _userManager.GetUserAsync(HttpContext.User);

                request.Classification = _db.Classifications.Find(defaultClassification.ClassificationId);

                _db.Add(request);
                await _db.SaveChangesAsync();



                string webRootPath = _hostingEnvironment.WebRootPath;
                var    files       = HttpContext.Request.Form.Files;

                var requestFromDb = _db.Requests.Find(request.Id);



                if (files.Count != 0)
                {
                    //Image has been uploaded
                    var uploads  = Path.Combine(webRootPath, @"images\screens\");
                    var fileName = files[0].FileName;

                    using (var filestream = new FileStream(Path.Combine(uploads, fileName), FileMode.Create))
                    {
                        files[0].CopyTo(filestream);
                    }

                    Image image = new Image()
                    {
                        Name = fileName
                    };

                    _db.Image.Add(image);

                    ImagesAssignedToRequest imageAssignedToRequest = new ImagesAssignedToRequest()
                    {
                        RequestId = request.Id,
                        Request   = await _db.Requests.FindAsync(request.Id),
                        Image     = image
                    };

                    await _db.ImagesAssignedToRequest.AddAsync(imageAssignedToRequest);
                }

                await _db.SaveChangesAsync();

                return(RedirectToAction("Index", "Requests", new { id = request.Id }));
            }

            return(View(request));
        }