public async Task <IActionResult> Create(MaterialCreateViewModel materialViewModel) { AppUser appUser = AuthExtender.GetLoggedInUser(this, _context); if (ModelState.IsValid) { AppUser newOwner = null; if (appUser.Id.Equals(materialViewModel.OwnerId)) { newOwner = appUser; } else { AppUser probablyNewOwner = _context.Users.FirstOrDefault(p => p.Id.Equals(materialViewModel.OwnerId)); if (probablyNewOwner == null) { ModelState.AddModelError("OwnerId", "Hack attempt!"); ViewBag.UserList = MakeAllowedUsersList(appUser, null); return(View(materialViewModel)); } if (_context.SickWardenRelations.Any(p => p.Warden.Equals(appUser) && p.Sick.Equals(probablyNewOwner) && p.IsAccepted.Equals(true))) { newOwner = probablyNewOwner; } else { ModelState.AddModelError("OwnerId", "Hack attempt!"); ViewBag.UserList = MakeAllowedUsersList(appUser, null); return(View(materialViewModel)); } } Material material = new Material { Id = materialViewModel.Id, Name = materialViewModel.Name, Comment = materialViewModel.Comment, Owner = newOwner, LastPlaceLeft = materialViewModel.LastPlaceLeft, LastUsedDate = materialViewModel.LastUsedDate, IsMedicine = materialViewModel.IsMedicine, Amount = materialViewModel.Amount, MedicineDose = materialViewModel.MedicineDose, Type = materialViewModel.Type }; _context.Add(material); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewBag.UserList = MakeAllowedUsersList(appUser, null); return(View(materialViewModel)); }
public ActionResult CreateMaterial(MaterialCreateViewModel model) { if (ModelState.IsValid) { IMaterialService materialSvc = new MaterialService(); materialSvc.CreateMaterial(model.Code, model.LargyCategory, model.SmallCategory, model.Describe, model.Unit, model.Note); return(RedirectToAction(nameof(MaterialList))); } ModelState.AddModelError("", @"您录入的信息有误"); return(View()); }
public ActionResult Create(MaterialCreateViewModel data) { try { // TODO: Add insert logic here //if (ModelState.IsValid) //{ var plantIds = data.PlantId; foreach (var plant in plantIds) { var model = Mapper.Map <MaterialDto>(data); model.WERKS = plant; if (model.MATERIAL_UOM != null) { foreach (var uom in model.MATERIAL_UOM) { uom.STICKER_CODE = model.STICKER_CODE; uom.WERKS = model.WERKS; uom.MEINH = HttpUtility.UrlDecode(uom.MEINH); } } model.CREATED_BY = CurrentUser.USER_ID; model.CREATED_DATE = DateTime.Now; model.HJE = data.HjeStr == null ? 0 : Convert.ToDecimal(data.HjeStr); model.TARIFF = data.TariffStr == null ? 0 : Convert.ToDecimal(data.TariffStr); var output = _materialBll.Save(model, CurrentUser.USER_ID); if (!output.Success) { AddMessageInfo(output.ErrorMessage, Enums.MessageInfoType.Error); } else { AddMessageInfo(Constans.SubmitMessage.Saved, Enums.MessageInfoType.Success); } } return(RedirectToAction("Index")); //} //return RedirectToAction("Create"); } catch (Exception ex) { InitCreateModel(data); return(View(data)); } }
private MaterialCreateViewModel InitCreateModel(MaterialCreateViewModel model) { model.MainMenu = _mainMenu; model.CurrentMenu = PageInfo; model.PlantList = GlobalFunctions.GetVirtualPlantListMultiSelect(); model.GoodTypeList = GlobalFunctions.GetGoodTypeList(_goodTypeBll); model.BaseUOM = GlobalFunctions.GetUomList(_unitOfMeasurementBll); model.CurrencyList = GlobalFunctions.GetCurrencyList(); model.ConversionUomList = GlobalFunctions.GetConversionUomList(); return(model); }
// // GET: /Material/Create public ActionResult Create() { if (CurrentUser.UserRole == Enums.UserRole.Viewer || CurrentUser.UserRole == Enums.UserRole.Controller) { AddMessageInfo("Operation not allow", Enums.MessageInfoType.Error); return(RedirectToAction("Index")); } var model = new MaterialCreateViewModel(); InitCreateModel(model); return(View(model)); }
// GET: Materials/Edit/5 public async Task <IActionResult> Edit(long?id) { AppUser appUser = AuthExtender.GetLoggedInUser(this, _context); if (id == null) { return(NotFound()); } var material = await _context.Materials.FindAsync(id); if (material == null) { return(NotFound()); } await _context.Entry(material).Reference(p => p.Owner).LoadAsync(); if (!material.Owner.Equals(appUser) & !_context.SickWardenRelations.Any(p => p.Warden.Equals(appUser) && p.Sick.Equals(material.Owner) && p.IsAccepted.Equals(true))) { return(NotFound()); } ViewBag.UserList = MakeAllowedUsersList(appUser, material.Owner.Id); MaterialCreateViewModel materialViewModel = new MaterialCreateViewModel { Id = material.Id, Name = material.Name, Comment = material.Comment, OwnerId = material.Owner.Id, LastPlaceLeft = material.LastPlaceLeft, LastUsedDate = material.LastUsedDate, IsMedicine = material.IsMedicine.GetValueOrDefault(), Amount = material.Amount, MedicineDose = material.MedicineDose, Type = material.Type }; return(View(materialViewModel)); }
public async Task <IActionResult> Edit(long id, MaterialCreateViewModel materialViewModel) { AppUser appUser = AuthExtender.GetLoggedInUser(this, _context); if (id != materialViewModel.Id) { return(NotFound()); } if (ModelState.IsValid) { Material material = await _context.Materials.FindAsync(id); await _context.Entry(material).Reference(p => p.Owner).LoadAsync(); if (!material.Owner.Equals(appUser) & !_context.SickWardenRelations.Any(p => p.Warden.Equals(appUser) && p.Sick.Equals(material.Owner) && p.IsAccepted.Equals(true))) { return(NotFound()); } if (!material.Owner.Id.Equals(materialViewModel.OwnerId)) { AppUser newOwner = null; if (appUser.Id.Equals(materialViewModel.OwnerId)) { newOwner = appUser; } else { AppUser probablyNewOwner = _context.Users.FirstOrDefault(p => p.Id.Equals(materialViewModel.OwnerId)); if (probablyNewOwner == null) { ModelState.AddModelError("OwnerId", "Hack attempt!"); ViewBag.UserList = MakeAllowedUsersList(appUser, null); return(View(materialViewModel)); } if (_context.SickWardenRelations.Any(p => p.Warden.Equals(appUser) && p.Sick.Equals(probablyNewOwner) && p.IsAccepted.Equals(true))) { newOwner = probablyNewOwner; } else { ModelState.AddModelError("OwnerId", "Hack attempt!"); ViewBag.UserList = MakeAllowedUsersList(appUser, null); return(View(materialViewModel)); } } material.Owner = newOwner; } material.Name = materialViewModel.Name; material.Comment = materialViewModel.Comment; material.LastUsedDate = materialViewModel.LastUsedDate; material.LastPlaceLeft = materialViewModel.LastPlaceLeft; material.IsMedicine = materialViewModel.IsMedicine; material.MedicineDose = materialViewModel.MedicineDose; material.Amount = materialViewModel.Amount; material.Type = materialViewModel.Type; try { _context.Update(material); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MaterialExists(material.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewBag.UserList = MakeAllowedUsersList(appUser, materialViewModel.OwnerId); return(View(materialViewModel)); }