Example #1
0
        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));
        }
Example #2
0
        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));
        }
Example #3
0
        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));
        }
Example #4
0
        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);
        }
Example #5
0
        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));
        }
Example #6
0
        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);
 }
Example #9
0
        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");
        }