Ejemplo n.º 1
0
        public IActionResult Create(UserCreateVm model)
        {
            if (HttpContext.Session.GetInt32("LoginLevel") != 2)
            {
                ViewBag.checkLogin = 0;
                return(View("../Home/AddCart"));
            }
            if (!ModelState.IsValid)
            {
                var x = _userService.GetList();
                ViewBag.StatusList = x.StatusList;
                return(View());
            }

            string uniqueFileName = ProcessUploadedFile(model);
            string passHash;

            using (MD5 md5Hash = MD5.Create())
            {
                passHash = MD5Hash.GetMd5Hash(md5Hash, model.Password);
            }

            SaveUserDto saveUserDto = new SaveUserDto()
            {
                FirstName = model.FirstName,
                LastName  = model.LastName,
                Mail      = model.Mail,
                Password  = passHash,
                Birth     = model.Birth,
                Address   = model.Address,
                Phone     = model.Phone,
                Status    = model.Status,
                Level     = model.Level,
                Note      = model.Note,
                AvtPath   = uniqueFileName
            };

            //Validate duplicates

            var users          = _service.GetAll();
            int DuplicateCount = 0;

            foreach (UserDto item in users)
            {
                if (item.Phone == saveUserDto.Phone)
                {
                    ViewBag.PhoneDuplicateErrorMessage = "Error!";
                    DuplicateCount++;
                    break;
                }
            }
            foreach (UserDto item in users)
            {
                if (item.Mail.ToLower() == model.Mail.ToLower())
                {
                    ViewBag.MailDuplicateErrorMessage = "Error!";
                    DuplicateCount++;
                    break;
                }
            }

            //
            //
            //Validate Age >= 13
            var age = _userService.GetAge(saveUserDto.Birth);

            if (age < 13)
            {
                ViewBag.AgeErrorMessage = "Error!";
                DuplicateCount++;
            }


            if (DuplicateCount > 0) //Has Error
            {
                var x = _userService.GetList();
                ViewBag.StatusList = x.StatusList;
                return(View());
            }

            _service.Add(saveUserDto);

            return(RedirectToAction("Index"));
        }
Ejemplo n.º 2
0
        public IActionResult Profile(UserEditVm model)
        {
            if (HttpContext.Session.GetString("LoginName") == null)
            {
                ViewBag.checkLogin = 0;
                return(View("AddCart"));
            }
            if (!ModelState.IsValid)
            {
                var x = _userService.GetList();
                ViewBag.StatusList = x.StatusList;
                return(View(model));
            }

            var users      = _serviceCustomer.GetAll();
            int ErrorCount = 0;

            foreach (UserDto item in users)
            {
                if (item.Phone == model.Phone && item.ID != model.ID)
                {
                    ViewBag.UserPhoneEditErrorMessage = "Error";
                    ErrorCount++;
                }
            }
            var age = _userService.GetAge(model.Birth);

            if (age < 13)
            {
                ViewBag.AgeErrorMessage = "Error!";
                ErrorCount++;
            }
            if (ErrorCount > 0)
            {
                var x = _userService.GetList();
                ViewBag.StatusList = x.StatusList;
                return(View(model));
            }

            UserDto     userDto     = _serviceCustomer.GetUser(model.ID);
            SaveUserDto saveUserDto = _mapper.Map <UserDto, SaveUserDto>(userDto);

            saveUserDto.LastName  = model.LastName;
            saveUserDto.FirstName = model.FirstName;
            saveUserDto.Address   = model.Address;
            saveUserDto.Birth     = model.Birth;
            saveUserDto.Level     = model.Level;
            saveUserDto.Mail      = model.Mail;
            saveUserDto.Note      = model.Note;
            //saveUserDto.Password = model.Password;
            saveUserDto.Phone  = model.Phone;
            saveUserDto.Status = model.Status;

            if (model.Avt != null)
            {
                if (model.ExistAvtPath != null)
                {
                    string filePath = Path.Combine(_hostingEnvironment.WebRootPath, "images", model.ExistAvtPath);
                    System.IO.File.Delete(filePath);
                }
                saveUserDto.AvtPath = ProcessUploadedFile(model);
            }
            _serviceCustomer.Update(saveUserDto);
            var user = _serviceCustomer.GetUser(model.ID);
            var id   = user.ID;

            return(RedirectToAction("Profile", id));
        }