Пример #1
0
        public async Task <IActionResult> Create(SotModelViewModel sotModelViewModel)
        {
            if (ModelState.IsValid)
            {
                string photo = "No File";
                if (sotModelViewModel.Photo != null)
                {
                    string uniqueFileName = null;
                    string stringCutted   = sotModelViewModel.Photo.FileName.Split('.').Last();
                    uniqueFileName = Guid.NewGuid().ToString() + "." + stringCutted;
                    photo          = uniqueFileName;
                    InputFile fileUpload = new InputFile(_hostingEnvironment);
                    fileUpload.Uploadfile("files/sot_models", sotModelViewModel.Photo, photo);
                }

                var loggedInUser = await _userManager.FindByNameAsync(HttpContext.User.Identity.Name);

                var sotModel = new SotModel
                {
                    FactoryId   = loggedInUser.FactoryId,
                    Name        = sotModelViewModel.Name,
                    Dipl        = sotModelViewModel.Dipl,
                    ProcessId   = sotModelViewModel.ProcessId,
                    SignSportId = sotModelViewModel.SignSportId,
                    Photo       = photo
                };

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

                return(RedirectToAction(nameof(Index)));
            }
            return(View(sotModelViewModel));
        }
Пример #2
0
        public async Task <IActionResult> Edit(int id, SotModelViewModel sotModelViewModel)
        {
            if (id != sotModelViewModel.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                var sotModel = new SotModel
                {
                    Id          = sotModelViewModel.Id,
                    FactoryId   = sotModelViewModel.FactoryId,
                    Name        = sotModelViewModel.Name,
                    Dipl        = sotModelViewModel.Dipl,
                    ProcessId   = sotModelViewModel.ProcessId,
                    SignSportId = sotModelViewModel.SignSportId,
                    Photo       = sotModelViewModel.OldPhoto
                };

                if (sotModelViewModel.Photo != null)
                {
                    string uniqueFileName = null;
                    string stringCutted   = sotModelViewModel.Photo.FileName.Split('.').Last();
                    uniqueFileName = Guid.NewGuid().ToString() + "." + stringCutted;
                    sotModel.Photo = uniqueFileName;
                    InputFile fileUpload = new InputFile(_hostingEnvironment);
                    if (sotModelViewModel.OldPhoto.ToLower() == "no file")
                    {
                        fileUpload.Uploadfile("files/sot_models", sotModelViewModel.Photo, uniqueFileName);
                    }
                    else
                    {
                        fileUpload.Updatefile("files/sot_models", sotModelViewModel.Photo, sotModelViewModel.OldPhoto, uniqueFileName);
                    }
                }

                try
                {
                    _context.Update(sotModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SotModelExists(sotModel.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(sotModelViewModel));
        }
Пример #3
0
        public async Task <JsonResult> GetDetails(int id)
        {
            var sotModel = await _context.SotModels
                           .Include(s => s.Process)
                           .Include(s => s.SignSport)
                           .FirstOrDefaultAsync(m => m.Id == id);

            var sotModelJson = new SotModel {
                Dipl = sotModel.Dipl, ProcessName = sotModel.Process.Name, SignSportName = sotModel.SignSport.Name, Photo = sotModel.Photo
            };

            return(Json(sotModelJson));
        }
Пример #4
0
        public async Task <IActionResult> LoadTable([FromBody] DTParameters dtParameters)
        {
            var searchBy = dtParameters.Search?.Value;

            var orderCriteria           = string.Empty;
            var orderAscendingDirection = true;

            if (dtParameters.Order != null)
            {
                try
                {
                    orderCriteria           = dtParameters.Columns[dtParameters.Order[0].Column].Data;
                    orderAscendingDirection = dtParameters.Order[0].Dir.ToString().ToLower() == "asc";
                }
                catch (Exception)
                {
                    orderCriteria           = "Id";
                    orderAscendingDirection = true;
                }
            }
            else
            {
                orderCriteria           = "Id";
                orderAscendingDirection = true;
            }

            //here
            var loggedInUser = await _userManager.FindByNameAsync(HttpContext.User.Identity.Name);

            var result = await _context.SotModels.Where(m => m.FactoryId == loggedInUser.FactoryId).Include(s => s.Process).Include(s => s.SignSport).ToListAsync();


            //here
            List <SotModel> sotModels = new List <SotModel>();

            foreach (var item in result)
            {
                SotModel tempSotModel = new SotModel();
                tempSotModel.Id            = item.Id;
                tempSotModel.Name          = item.Name;
                tempSotModel.Dipl          = item.Dipl;
                tempSotModel.ProcessName   = item.Process.Name;
                tempSotModel.SignSportName = item.SignSport.Name;
                tempSotModel.Photo         = item.Photo;
                sotModels.Add(tempSotModel);
            }

            //here
            if (!string.IsNullOrEmpty(searchBy))
            {
                sotModels = sotModels.Where(r =>

                                            r.Name != null && r.Name.ToUpper().Contains(searchBy.ToUpper()) ||
                                            r.Dipl != null && r.Dipl.ToUpper().Contains(searchBy.ToUpper()) ||
                                            r.ProcessName != null && r.ProcessName.ToUpper().Contains(searchBy.ToUpper()) ||
                                            r.SignSportName != null && r.SignSportName.ToUpper().Contains(searchBy.ToUpper())

                                            ).ToList();
            }

            //here
            sotModels = orderAscendingDirection ? sotModels.AsQueryable().OrderByDynamic(orderCriteria,
                                                                                         LinqExtensions.Order.Asc).ToList() : sotModels.AsQueryable().OrderByDynamic(orderCriteria,
                                                                                                                                                                     LinqExtensions.Order.Desc).ToList();

            //here
            var filteredResultsCount = sotModels.Count();
            //here
            var totalResultsCount = await _context.SotModels.Where(m => m.FactoryId == loggedInUser.FactoryId).Include(s => s.Process).Include(s => s.SignSport).CountAsync();

            if (dtParameters.Length == -1)
            {
                return(Json(new
                {
                    draw = dtParameters.Draw,
                    recordsTotal = totalResultsCount,
                    recordsFiltered = filteredResultsCount,
                    //here
                    data = sotModels
                           .Skip(dtParameters.Start)
                           .ToList()
                }));
            }
            else
            {
                return(Json(new
                {
                    draw = dtParameters.Draw,
                    recordsTotal = totalResultsCount,
                    recordsFiltered = filteredResultsCount,
                    //here
                    data = sotModels
                           .Skip(dtParameters.Start)
                           .Take(dtParameters.Length)
                           .ToList()
                }));
            }
        }