コード例 #1
0
        public async Task <IActionResult> PostShoppingArea([FromBody] ShoppingArea shoppingArea)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            ShoppingArea shoppingareadb = _context.ShoppingArea.FirstOrDefault(c => c.Code == shoppingArea.Code);

            if (shoppingareadb != null)
            {
                shoppingareadb.Descr   = shoppingArea.Descr;
                shoppingareadb.Version = shoppingArea.Version;
                shoppingareadb.IsMark  = shoppingArea.IsMark;

                await _context.SaveChangesAsync();

                return(CreatedAtAction("GetShoppingArea", new { id = shoppingareadb.ShoppingAreaId }, shoppingareadb));
            }
            else
            {
                _context.ShoppingArea.Add(shoppingArea);
                await _context.SaveChangesAsync();

                return(CreatedAtAction("GetShoppingArea", new { id = shoppingArea.ShoppingAreaId }, shoppingArea));
            }
        }
コード例 #2
0
        public async Task <IActionResult> AddCustomerShoppingArea([FromBody] Customer customer)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = await _context.Users.SingleAsync(x => x.UserName == HttpContext.User.Identity.Name);

            if (user == null)
            {
                ModelState.AddModelError("", "Sory, your user is empty !");

                return(BadRequest(ModelState));
            }

            UserMeta userMeta = _context.UserMeta.FirstOrDefault(u => u.Id == user.UserMetaId);

            ShoppingArea shoppingArea = await _context.ShoppingArea.FirstOrDefaultAsync(x => x.ShoppingAreaId == userMeta.ShoppingAreaId);

            if (shoppingArea == null)
            {
                ModelState.AddModelError("", "Sory, your Shoping Area is empty !");

                return(BadRequest(ModelState));
            }

            _context.AttachRange(customer);

            CustomerShoppingArea customerShoppingArea = _context.CustomerShoppingArea.FirstOrDefault(c => c.CustomerId == customer.CustomerId & c.ShoppingAreaId == shoppingArea.ShoppingAreaId);

            if (customerShoppingArea != null)
            {
                customerShoppingArea.ShoppingArea = shoppingArea;
                customerShoppingArea.Customer     = customer;
                customerShoppingArea.UpdateStatus = 1;

                await _context.SaveChangesAsync();

                return(CreatedAtAction("GetCustomerShoppingArea", new CustomerShoppingAreaCode {
                    ShoppingAreaCode = shoppingArea.Code, CustomerCode = customer.Code
                }));
            }
            else
            {
                customerShoppingArea = new CustomerShoppingArea();
                customerShoppingArea.ShoppingArea = shoppingArea;
                customerShoppingArea.Customer     = customer;
                customerShoppingArea.UpdateStatus = 1;

                _context.CustomerShoppingArea.Add(customerShoppingArea);
                await _context.SaveChangesAsync();

                return(CreatedAtAction("GetCustomerShoppingArea", new CustomerShoppingAreaCode {
                    ShoppingAreaCode = shoppingArea.Code, CustomerCode = customer.Code
                }));
            }
        }
コード例 #3
0
        public async Task <IActionResult> AddWarehouseShoppingArea([FromBody] Warehouse warehouse)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = await _context.Users.SingleAsync(x => x.UserName == HttpContext.User.Identity.Name);

            if (user == null)
            {
                ModelState.AddModelError("", "Sory, your user is empty !");

                return(BadRequest(ModelState));
            }

            UserMeta userMeta = _context.UserMeta.FirstOrDefault(u => u.Id == user.UserMetaId);

            ShoppingArea shoppingArea = await _context.ShoppingArea.FirstOrDefaultAsync(x => x.ShoppingAreaId == userMeta.ShoppingAreaId);

            if (shoppingArea == null)
            {
                ModelState.AddModelError("", "Sory, your Shoping Area is empty !");

                return(BadRequest(ModelState));
            }

            _context.AttachRange(warehouse);

            WarehouseShoppingArea warehouseShoppingArea = _context.WarehouseShoppingArea.FirstOrDefault(c => c.WarehouseId == warehouse.WarehouseId & c.ShoppingAreaId == shoppingArea.ShoppingAreaId);

            if (warehouseShoppingArea != null)
            {
                warehouseShoppingArea.ShoppingArea = shoppingArea;
                warehouseShoppingArea.Warehouse    = warehouse;
                warehouseShoppingArea.UpdateStatus = 1;

                await _context.SaveChangesAsync();
            }
            else
            {
                warehouseShoppingArea = new WarehouseShoppingArea();
                warehouseShoppingArea.ShoppingArea = shoppingArea;
                warehouseShoppingArea.Warehouse    = warehouse;
                warehouseShoppingArea.UpdateStatus = 1;

                _context.WarehouseShoppingArea.Add(warehouseShoppingArea);
                await _context.SaveChangesAsync();
            }

            return(Ok());
        }
コード例 #4
0
        public async Task <IActionResult> PostCustomerShoppingArea([FromBody] CustomerShoppingAreaCode customerShoppingAreaCode)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Customer     customer     = _context.Customers.FirstOrDefault(p => p.Code == customerShoppingAreaCode.CustomerCode);
            ShoppingArea shoppingArea = _context.ShoppingArea.FirstOrDefault(p => p.Code == customerShoppingAreaCode.ShoppingAreaCode);

            if (customer == null)
            {
                return(BadRequest(ModelState));
            }

            if (shoppingArea == null)
            {
                return(BadRequest(ModelState));
            }

            CustomerShoppingArea customerShoppingArea = _context.CustomerShoppingArea.FirstOrDefault(c => c.CustomerId == customer.CustomerId & c.ShoppingAreaId == shoppingArea.ShoppingAreaId);

            if (customerShoppingArea != null)
            {
                customerShoppingArea.ShoppingArea = shoppingArea;
                customerShoppingArea.Customer     = customer;
                customerShoppingArea.UpdateStatus = 0;

                await _context.SaveChangesAsync();

                return(CreatedAtAction("GetCustomerShoppingArea", new CustomerShoppingAreaCode {
                    ShoppingAreaCode = shoppingArea.Code, CustomerCode = customer.Code
                }));
            }
            else
            {
                customerShoppingArea = new CustomerShoppingArea();
                customerShoppingArea.ShoppingArea = shoppingArea;
                customerShoppingArea.Customer     = customer;
                customerShoppingArea.UpdateStatus = 0;

                _context.CustomerShoppingArea.Add(customerShoppingArea);
                await _context.SaveChangesAsync();

                return(CreatedAtAction("GetCustomerShoppingArea", new CustomerShoppingAreaCode {
                    ShoppingAreaCode = shoppingArea.Code, CustomerCode = customer.Code
                }));
            }
        }
コード例 #5
0
        private static void AddUsers(StoreContext context)
        {
            if (UserManager.FindByEmailAsync("*****@*****.**").GetAwaiter().GetResult() == null)
            {
                var user = new ApplicationUser
                {
                    FirstName      = "Admin",
                    LastName       = "Admin",
                    UserName       = "******",
                    Email          = "*****@*****.**",
                    EmailConfirmed = true,
                    LockoutEnabled = false
                };

                var registerResult = UserManager.CreateAsync(user, "Admin@2018").GetAwaiter().GetResult();

                if (registerResult.Succeeded)
                {
                    UserManager.AddToRoleAsync(user, "Admins").GetAwaiter().GetResult();

                    var shoppingArea = new ShoppingArea
                    {
                        Descr   = "Site " + user.LastName + " " + user.FirstName,
                        Code    = "",
                        Version = "",
                        IsMark  = false
                    };

                    var userMeta = new UserMeta
                    {
                        UserId       = user.Id,
                        FirstName    = user.FirstName,
                        LastName     = user.LastName,
                        ShoppingArea = shoppingArea
                    };

                    context.ShoppingArea.Add(shoppingArea);
                    context.UserMeta.Add(userMeta);
                    context.SaveChanges();

                    user.UserMetaId = userMeta.Id;
                    UserManager.UpdateAsync(user).GetAwaiter().GetResult();
                }
            }
        }
コード例 #6
0
        public async Task <IActionResult> GetCustomerShoppingArea([FromBody] CustomerShoppingAreaCode customerShoppingAreaCode)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Customer     customer     = _context.Customers.FirstOrDefault(p => p.Code == customerShoppingAreaCode.CustomerCode);
            ShoppingArea shoppingArea = _context.ShoppingArea.FirstOrDefault(p => p.Code == customerShoppingAreaCode.ShoppingAreaCode);

            var customerShoppingArea = await _context.CustomerShoppingArea.SingleOrDefaultAsync(c => c.CustomerId == customer.CustomerId& c.ShoppingAreaId == shoppingArea.ShoppingAreaId);

            if (customerShoppingArea == null)
            {
                return(NotFound());
            }

            return(Ok(customerShoppingArea));
        }
コード例 #7
0
        public async Task <IActionResult> DeleteCustomerShoppingArea([FromBody] Customer customer)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = await _context.Users.SingleAsync(x => x.UserName == HttpContext.User.Identity.Name);

            if (user == null)
            {
                ModelState.AddModelError("", "Sory, your user is empty !");

                return(BadRequest(ModelState));
            }

            UserMeta userMeta = _context.UserMeta.FirstOrDefault(u => u.Id == user.UserMetaId);

            ShoppingArea shoppingArea = await _context.ShoppingArea.FirstOrDefaultAsync(x => x.ShoppingAreaId == userMeta.ShoppingAreaId);

            if (shoppingArea == null)
            {
                ModelState.AddModelError("", "Sory, your Shoping Area is empty !");

                return(BadRequest(ModelState));
            }

            CustomerShoppingArea customerShoppingArea = _context.CustomerShoppingArea.FirstOrDefault(c => c.ShoppingAreaId == userMeta.ShoppingAreaId && c.CustomerId == customer.CustomerId);

            if (customerShoppingArea != null)
            {
                customerShoppingArea.UpdateStatus = 2;
                await _context.SaveChangesAsync();
            }

            return(Ok());
        }
コード例 #8
0
        public async Task <IActionResult> PostShoppingAreaUsers([FromBody] List <UserShoppingArea> userShoppingArea)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            int count = 0;

            foreach (var item in userShoppingArea)
            {
                var user = await _context.Users.FirstOrDefaultAsync(x => x.Id == item.UserId);

                if (user != null)
                {
                    UserMeta userMeta = _context.UserMeta.FirstOrDefault(u => u.Id == user.UserMetaId);

                    ShoppingArea shoppingarea = await _context.ShoppingArea.FirstOrDefaultAsync(c => c.Code == item.ShoppingAreaCode);

                    if (shoppingarea != null)
                    {
                        userMeta.ShoppingAreaId = shoppingarea.ShoppingAreaId;
                        _context.AttachRange(userMeta);

                        //user.ShoppingAreaId = shoppingarea.ShoppingAreaId;
                        //_context.AttachRange(user);

                        count++;
                    }
                }
            }

            await _context.SaveChangesAsync();

            return(Ok(new { count = count }));
        }
コード例 #9
0
        public async Task <IActionResult> Register([FromBody] RegisterViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = await _userManager.FindByEmailAsync(model.Name);

            if (user != null)
            {
                //return BadRequest("A user with that e-mail address already exists!");
                return(BadRequest(_localizer["UserExist"].Value));
            }

            user = new ApplicationUser
            {
                Email          = model.Name,
                UserName       = model.Name,
                EmailConfirmed = true,
                LockoutEnabled = true,
                FirstName      = model.FirstName,
                LastName       = model.LastName
            };

            var registerResult = await _userManager.CreateAsync(user, model.Password);

            if (registerResult.Succeeded)
            {
                _logger.LogInformation("User created a new account with password.");

                await _userManager.AddToRoleAsync(user, "Users");

                var shoppingArea = new ShoppingArea
                {
                    Descr   = "Site " + model.LastName + " " + model.FirstName,
                    Code    = "",
                    Version = "",
                    IsMark  = false
                };

                var userMeta = new UserMeta
                {
                    User         = user,
                    FirstName    = model.FirstName,
                    LastName     = model.LastName,
                    ShoppingArea = shoppingArea
                };

                _context.ShoppingArea.Add(shoppingArea);
                _context.UserMeta.Add(userMeta);
                await _context.SaveChangesAsync();

                user.UserMetaId = userMeta.Id;
                await _userManager.UpdateAsync(user);


                var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                var callbackUrl = Url.EmailConfirmationLink(user.Id, code, Request.Scheme);
                await _emailSender.SendEmailConfirmationAsync(model.Name, callbackUrl);

                await _signInManager.SignInAsync(user, isPersistent : false);

                _logger.LogInformation("User created a new account with password.");
            }
            else
            {
                return(BadRequest(registerResult.Errors));
            }

            return(Ok());
        }