コード例 #1
0
ファイル: UserController.cs プロジェクト: war-man/ETrade
        public IActionResult AddManager(AddWorkerDto addWorkerDto)
        {
            var model = new AddManagerViewModel
            {
                AddWorkerDto           = addWorkerDto,
                GenderNamesSelectItems = new List <SelectListItem>
                {
                    new SelectListItem {
                        Text = "Cinsiyet", Value = "0"
                    }
                }
            };

            foreach (var gender in _genderDal.GetList())
            {
                model.GenderNamesSelectItems.Add(new SelectListItem
                {
                    Text  = gender.GenderName,
                    Value = gender.GenderId.ToString()
                });
            }
            if (addWorkerDto.GenderId == 0)
            {
                TempData.Add(TempDataTypes.GenderError, Messages.MustBeFilled);

                return(View(model));
            }

            if (addWorkerDto.BirthDateDay.Equals("0") || addWorkerDto.BirthDateMounth.Equals("0") || addWorkerDto.BirthDateYear.Equals("0"))
            {
                TempData.Add(TempDataTypes.BirthdayError, Messages.MustBeFilled);

                return(View(model));
            }

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var userForRegister = new UserForRegisterDto
            {
                Email       = addWorkerDto.Email,
                GenderId    = addWorkerDto.GenderId,
                LastName    = addWorkerDto.LastName,
                FirstName   = addWorkerDto.FirstName,
                Password    = addWorkerDto.Password,
                PhoneNumber = addWorkerDto.PhoneNumber
            };

            var result = _authService.Register(userForRegister, userForRegister.Password);

            if (!result.Success)
            {
                return(RedirectToAction("InternalError", "Error", new { errorMessage = result.Message }));
            }

            var user   = _userService.GetByMail(addWorkerDto.Email).Data;
            var worker = new Worker
            {
                AddressNumber = addWorkerDto.AddressNumber,
                IdentityNo    = addWorkerDto.IdentityNo,
                Street        = addWorkerDto.Street,
                CityId        = addWorkerDto.CityId,
                DistrictId    = addWorkerDto.DistrictId,
                BirthDate     = new DateTime(Convert.ToInt32(addWorkerDto.BirthDateYear), Convert.ToInt32(addWorkerDto.BirthDateMounth), Convert.ToInt32(addWorkerDto.BirthDateDay), 0, 0, 0),
                WorkerId      = user.Id
            };

            var result2 = _workerService.AddManager(worker);

            if (!result2.Success)
            {
                return(RedirectToAction("InternalError", "Error", new { errorMessage = result2.Message }));
            }

            TempData.Add(TempDataTypes.ManageInfo, Messages.ManagerAddedSuccessfully);
            return(RedirectToAction("Index", "User"));
        }