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)); }
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)); }
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)); }
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() })); } }