public async Task <IActionResult> Edit(int id, [Bind("ProductId,Name,Company,Category,Price,DateOfManufacturing,Colour,Description,EngineType,MileageKmpl,CentralLocking,BrakesType,RearSuspension")] ProductUser productUser) { if (id != productUser.ProductId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(productUser); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProductUserExists(productUser.ProductId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["Category"] = new SelectList(_context.Categories, "Category1", "Category1", productUser.Category); ViewData["Company"] = new SelectList(_context.Companies, "Name", "Name", productUser.Company); return(View(productUser)); }
public async Task <IActionResult> Create2(ProductUser product, IFormFile image) { if (ModelState.IsValid) { var searchProduct = _db.ProductUsers.FirstOrDefault(c => c.Name == product.Name); if (searchProduct != null) { ViewBag.messages = "This product already exists"; ViewData["productTypeId"] = new SelectList(_db.ProductTypes.ToList(), "Id", "ProductType"); ViewData["TagId"] = new SelectList(_db.SpecialTags.ToList(), "Id", "Name"); ViewData["UserId"] = new SelectList(_db.applicationUsers.Where(c => c.droit == "Proprietaire").ToList(), "Id", "UserName"); return(View(product)); } if (image != null) { var name = Path.Combine(_he.WebRootPath + "/images", Path.GetFileName(image.FileName)); await image.CopyToAsync(new FileStream(name, FileMode.Create)); product.Image = Path.GetFileName(name); } if (image == null) { product.Image = "NoImageFound.jpg"; } _db.Products.Add(product); await _db.SaveChangesAsync(); return(RedirectToAction(nameof(Index2))); } return(View(product)); }
public async Task <IActionResult> Edit(ProductUser product, IFormFile image) { if (ModelState.IsValid) { var searchProduct = _db.ProductUsers.FirstOrDefault(c => c.Name == product.Name); /* if (searchProduct != null) * { * ViewBag.message = "This product is already exist"; * ViewData["productTypeId"] = new SelectList(_db.ProductTypes.ToList(), "Id", "ProductType"); * ViewData["TagId"] = new SelectList(_db.SpecialTags.ToList(), "Id", "Name"); * return View(product); * }*/ if (image != null) { var name = Path.Combine(_he.WebRootPath + "/images", Path.GetFileName(image.FileName)); await image.CopyToAsync(new FileStream(name, FileMode.Create)); product.Image = Path.GetFileName(name); } if (image == null) { product.Image = "NoImageFound.jpg"; } _db.Products.Update(product); await _db.SaveChangesAsync(); TempData["save"] = "A car been update"; return(RedirectToAction(nameof(Index2))); } return(View(product)); }
private static async Task <string> SaveUser(string userId, int organizationId, string tenantID, string productName, bool userExists) { string status = string.Empty; ProductUser productUser = null; ProductLicense productLicense = null; Product product = await ColligoO365RMOManager <Product> .FirstOrDefaultAsync(x => x.Name == productName); SystemUser user = null; if (!userExists) { user = new SystemUser(); user.EmailAddress = userId; user.FirstName = GetNameFromMail(userId); user.LastName = GetNameFromMail(userId, true); user.DisplayName = user.FirstName + " " + user.LastName; user.OrganizationMasterId = organizationId; user.IsActive = true; user.CreatedBy = 1; user.CreatedOn = System.DateTime.Now; } else { user = await ColligoO365RMOManager <SystemUser> .FirstOrDefaultAsync(x => x.EmailAddress == userId); } //Check and Update organization product licenes productLicense = await ColligoO365RMOManager <ProductLicense> .FirstOrDefaultAsync(x => x.OrganizationMasterId == organizationId && x.OrganizationMasterId == organizationId && x.ProductId == product.ProductId); //organization doesn't have license to access the product if (productLicense == null) { return("NoProductLicense"); } if (productLicense.LicenseCount == productLicense.LicenseUsed) { status = "LicenseFinished"; return(status); } else { productLicense.LicenseUsed = productLicense.LicenseUsed + 1; //Assgin product to new user productUser = new ProductUser(); productUser.OrganizationMasterId = organizationId; productUser.ProductId = product.ProductId; productUser.CreatedBy = 1; productUser.CreatedOn = System.DateTime.Now; productUser.IsActive = true; var message = new UserDataManager().SaveUser(user, productLicense, productUser); if (message == "success") { status = "UserCreated"; } } return(status); }
public async Task <IActionResult> Create([Bind("ProductId,Name,Company,Category,Price,DateOfManufacturing,Colour,Description,EngineType,MileageKmpl,CentralLocking,BrakesType,RearSuspension")] ProductUser productUser) { if (ModelState.IsValid) { _context.Add(productUser); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["Category"] = new SelectList(_context.Categories, "Category1", "Category1", productUser.Category); ViewData["Company"] = new SelectList(_context.Companies, "Name", "Name", productUser.Company); return(View(productUser)); }
public async Task <OperationResult> PostProductUser([FromBody] ProductUser productUser) { if (!ModelState.IsValid) { var allErrors = ModelState.Values.SelectMany(v => v.Errors); return(new OperationResult(false, string.Join(" ", allErrors.Select(x => x.ErrorMessage)))); } var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value; var user = await userManager.FindByIdAsync(userId); if (user == null) { return(new OperationResult(false, "Пользователь не найден. Авторизируйтесь!")); } await productUserService.AddProductUserAsync(productUser, userId); return(new OperationResult(true, "Продукт добавлен")); }
public async Task DeleteProductUserAsync(ProductUser productUser) { await productUserRepository.DeleteAsync(productUser); }
public async Task AddProductUserAsync(ProductUser productUser, string userId) { productUser.UserId = userId; await productUserRepository.AddAsync(productUser); }
public string SaveUser(SystemUser newUser, ProductLicense productLicense, ProductUser productUser) { try { if (newUser != null) { int systemUserId = 0; using (var context = new ColligoO365RMOEntities()) { context.Database.Connection.Open(); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew)) { if (newUser.SystemUserId != 0) { systemUserId = newUser.SystemUserId; } else { using (DataRepository <SystemUser> objUserRepository = new DataRepository <SystemUser>(context, false)) { objUserRepository.Save(newUser, null, null, true); } } if (productUser != null) { productUser.SystemUserId = newUser.SystemUserId; using (DataRepository <ProductUser> objProductUserRepository = new DataRepository <ProductUser>(context, false)) { if (productUser.ProductUserId == 0) { objProductUserRepository.Save(productUser, null, commitChanges: true); } else { objProductUserRepository.Save(null, productUser, commitChanges: true); } } } if (productLicense != null) { using (DataRepository <ProductLicense> objProductLicenseRepository = new DataRepository <ProductLicense>(context, false)) { if (productUser.ProductUserId == 0) { objProductLicenseRepository.Save(productLicense, null, commitChanges: true); } else { objProductLicenseRepository.Save(null, productLicense, commitChanges: true); } } } scope.Complete(); } if (context.Database.Connection.State == System.Data.ConnectionState.Open) { context.Database.Connection.Close(); } } } } catch { throw; } return("success"); }