Ejemplo n.º 1
0
        public async Task <RegisterResponseModel> Register(
            RegisterModel validModel,
            UserManager <Entities.UserDb.User> userManager,
            SignInManager <Entities.UserDb.User> signInManager,
            IConfiguration configuration)
        {
            var newUser = _mapper.Map <Entities.UserDb.User>(validModel);

            var result = await userManager.CreateAsync(newUser, validModel.Password);

            //Sign in and generate token if register is succesful
            if (result.Succeeded)
            {
                var user = await userManager.FindByEmailAsync(validModel.Email);

                AddedToOrderDb(user.Id);

                await userManager.AddToRoleAsync(user, validModel.RoleName);

                await signInManager.SignInAsync(user, false);

                var token = await _tokenGenerator.GenerateJwtToken(validModel.Email, user, configuration);

                RegisterResponseModel model = new RegisterResponseModel {
                    UserId = user.Id,
                    Token  = token
                };

                return(model);
            }
            throw new ApplicationException("UNKNOWN_ERROR");
        }
        public async Task <ActionResult <RegisterResponseModel> > RegisterAsync(RegisterRequestModel request)
        {
            var response = new RegisterResponseModel();

            var user = await this.userService
                       .GetUserByRegistrationCodeAsync(request.RegistrationCode);

            if (Object.Equals(user, null))
            {
                response.Status  = -1;
                response.Message = "Invalid Registration Code.";
                return(Ok(response));
            }

            if (user.IsActivatedCode)
            {
                response.Status  = -2;
                response.Message = "The Registration Code Is Taken.";
                return(Ok(response));
            }

            var hashedPassword = PasswordHasher
                                 .HashPassword(request.Password);

            await this.userService
            .UpdateUserToRegistered(user.Id, request.Username, hashedPassword, request.Email);

            response.Status  = 1;
            response.Message = "Success.";
            return(Ok(response));
        }
Ejemplo n.º 3
0
        public IActionResult Regist(RegisterInputModel data, string registype, string conpassword)
        {
            RegisterInputModel dataRegister = new RegisterInputModel();

            dataRegister.FirstName       = data.FirstName;
            dataRegister.LastName        = data.LastName;
            dataRegister.Username        = data.Username;
            dataRegister.NamaPerusahaan  = data.NamaPerusahaan;
            dataRegister.EmailPerusahaan = data.EmailPerusahaan;
            dataRegister.NoTelp          = data.NoTelp;
            dataRegister.Kategori        = data.Kategori;
            dataRegister.NPWP            = data.NPWP;
            dataRegister.Website         = data.Website;
            dataRegister.Alamat          = data.Alamat;
            dataRegister.Catatan         = data.Catatan;
            dataRegister.Password        = data.Password;
            JsonConvert.SerializeObject(dataRegister);

            if (conpassword == data.Password)
            {
                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri(BaseAPI + "Admin/");
                    //HTTP POST
                    var postTask = client.PostAsJsonAsync <RegisterInputModel>("AddSupervisor", dataRegister);
                    postTask.Wait();

                    var result = postTask.Result;
                    if (result.IsSuccessStatusCode)
                    {
                        var content = result.Content.ReadAsStringAsync();
                        RegisterResponseModel logincontent = Newtonsoft.Json.JsonConvert.DeserializeObject <RegisterResponseModel>(content.Result);
                        if (logincontent.data != null && logincontent.data.UserID.ToString() != "")
                        {
                            HttpContext.Session.SetString(SessionKeyCurrent, "");
                            HttpContext.Session.SetString(SessionKeyError, "");
                            return(RedirectToAction("Index", "Users"));
                        }
                        else
                        {
                            HttpContext.Session.SetString(SessionKeyCurrent, "true");
                            HttpContext.Session.SetString(SessionKeyError, "Fail to register.");
                            return(RedirectToAction("Register", "Users"));
                        }
                    }
                }
            }

            HttpContext.Session.SetString(SessionKeyCurrent, "true");
            HttpContext.Session.SetString(SessionKeyError, "Server Error. Please contact administrator.");
            return(RedirectToAction("Register", "Users"));
        }
Ejemplo n.º 4
0
        public async Task <ActionResult> Answer(Guid idAd, Guid idQuestion, [FromBody] RegisterResponseModel responseModel)
        {
            responseModel.IdQuestion = idQuestion;

            var response = Map <Response>(responseModel);

            var result = await _service.AnswerAsync(idAd, response);

            if (!result.Sucess)
            {
                return(BadRequest(result.Errors));
            }

            return(new StatusCodeResult(StatusCodes.Status201Created));
        }
Ejemplo n.º 5
0
        public ActionResult <RegisterResponseModel> Register([FromBody] RegisterInputModel data)
        {
            try
            {
                RegisterBL userBL = new RegisterBL(DbContext);
                return(userBL.Register(data, RoleEnum.MediaOwner));
            }
            catch (Exception ex)
            {
                RegisterResponseModel logres = new RegisterResponseModel();
                logres.Message  = ex.Message;
                logres.Response = false;

                return(logres);
            }
        }
Ejemplo n.º 6
0
        public async Task <RegisterResponseModel> Register(RegisterRequestModel model)
        {
            var result = new RegisterResponseModel();

            var user = new ApplicationUser
            {
                FullName = model.Name,
                Email    = model.Name,
                UserName = model.Email
            };

            try
            {
                var createUserResult = await _userManager.CreateAsync(user);

                if (createUserResult.Succeeded)
                {
                    var addClaimsResult = await _userManager.AddClaimsAsync(user, new Claim[] {
                        new Claim("name", model.Name),
                        new Claim("email", model.Email),
                        new Claim("tenantId", model.TenantId),
                        new Claim("role", RoleOptions.User)
                    });

                    if (!addClaimsResult.Succeeded)
                    {
                        await _userManager.DeleteAsync(user);

                        result.Success = false;
                        result.Error   = addClaimsResult.Errors?.FirstOrDefault()?.Description;
                    }
                }
                else
                {
                    result.Success = false;
                    result.Error   = createUserResult.Errors?.FirstOrDefault()?.Description;
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Error   = ex.Message;
            }

            return(result);
        }
Ejemplo n.º 7
0
        public static async Task <RegisterResponseModel> Register(RegisterRequestModel request)
        {
            var channel = new Channel(ConfigurationManager.AppSettings["Server"], int.Parse(ConfigurationManager.AppSettings["Port"]), ChannelCredentials.Insecure);
            var invoker = new DefaultCallInvoker(channel);
            RegisterResponseModel res = null;

            using (var call = invoker.AsyncDuplexStreamingCall(ServiceDefinition.Register, null, new CallOptions {
            }))
            {
                var responseCompleted = call.ResponseStream
                                        .ForEachAsync(async response =>
                {
                    res = response;
                });

                await call.RequestStream.WriteAsync(request);

                await call.RequestStream.CompleteAsync();

                await responseCompleted;
            }

            return(res);
        }
Ejemplo n.º 8
0
        public RegisterResponseModel Register(RegisterInputModel data, RoleEnum roleEnum)
        {
            UserRepository userRepo      = new UserRepository(DbContext);
            var            checkUserName = userRepo.FindByUserName(data.Username);

            if (checkUserName == null)
            {
                Guid id   = Guid.NewGuid();
                User temp = new User();

                temp.ID             = id;
                temp.PasswordHash   = data.Password.ConvertToMD5();
                temp.FirstName      = data.FirstName;
                temp.LastName       = data.LastName;
                temp.UserName       = data.Username;
                temp.PhoneNumber    = data.NoTelp;
                temp.CreateDate     = DateTime.Now;
                temp.CreateByUserID = id;
                if (roleEnum == RoleEnum.MediaOwner || roleEnum == RoleEnum.MediaBuyer)
                {
                    temp.IsActive = false;
                }
                else
                {
                    temp.IsActive = true;
                }

                userRepo = new UserRepository(DbContext);
                var response = userRepo.Insert(temp, false);

                //insert ke table userRole
                UserRole       userRole = new UserRole();
                RoleRepository roleRepo = new RoleRepository(DbContext);

                userRole.ID     = Guid.NewGuid();
                userRole.UserID = temp.ID;
                //RoleID di ambil dari table role
                userRole.RoleID         = roleRepo.GetRole((int)roleEnum).FirstOrDefault().ID;
                userRole.CreateDate     = DateTime.Now;
                userRole.CreateByUserID = id;

                UserRoleRepository userRoleRepository = new UserRoleRepository(DbContext);
                var res2 = userRoleRepository.Insert(userRole, false);

                //INSERT TO COMPANY TABLE
                Company dataComp = new Company();

                dataComp.ID             = Guid.NewGuid();
                dataComp.NPWP           = data.NPWP;
                dataComp.Website        = data.Website;
                dataComp.Alamat         = data.Alamat;
                dataComp.CompanyName    = data.NamaPerusahaan;
                dataComp.Email          = data.EmailPerusahaan;
                dataComp.UserID         = temp.ID;
                dataComp.Kategory       = data.Kategori;
                dataComp.CreateByUserID = id;
                dataComp.CreateDate     = DateTime.Now;

                CompanyRepository comRepo = new CompanyRepository(DbContext);
                comRepo.Insert(dataComp, false);

                //INSERT TO TABLE CONTACT
                ContactPerson temCon = new ContactPerson();

                temCon.ID             = Guid.NewGuid();
                temCon.CompanyID      = dataComp.ID;
                temCon.Email          = data.Username;
                temCon.Name           = data.FirstName + " " + data.LastName;
                temCon.UserID         = temp.ID;
                temCon.CreateDate     = DateTime.Now;
                temCon.CreateByUserID = id;

                ContactPersonRepository conRepo = new ContactPersonRepository(DbContext);
                conRepo.Insert(temCon, true);

                RegisterResponseModel result = new RegisterResponseModel();

                result.Message  = response.Message;
                result.Response = response.Result;

                RegisterOutputModel output = new RegisterOutputModel();
                output.FirstName = temp.FirstName;
                output.LastName  = temp.LastName;
                output.UserName  = temp.UserName;
                output.UserID    = temp.ID;

                result.data     = output;
                result.Message  = "Daftar berhasil.";
                result.Response = true;

                return(result);
            }
            else
            {
                RegisterResponseModel result = new RegisterResponseModel();
                result.Message  = "Email sudah terdaftar!!";
                result.Response = false;

                return(result);
            }
        }
Ejemplo n.º 9
0
        public ActionResult Index(string dummy)
        {
            var data = new RegisterModel();

            var response = new RegisterResponseModel();

            if (Settings.ReCaptchaPublic != "" && Settings.ReCaptchaPrivate != "")
            {
                if (UserValidation.IsValidReCaptcha(Request["g-recaptcha-response"]))
                {
                    response.ReCaptcha.Success = true;
                }
                else
                {
                    response.ReCaptcha.Success = false;
                    response.ReCaptcha.Reason  = "Invalid ReCaptcha";
                }
            }
            else
            {
                response.ReCaptcha.Success = true;
            }

            data.Username        = Request["username"];
            data.Password        = Request["password"];
            data.ConfirmPassword = Request["confirmPassword"];
            data.Email           = Request["email"];

            if (_userMethods.UserExists(data.Username))
            {
                response.Username.Success = false;
                response.Username.Reason  = "This username has already been taken";
            }
            else
            {
                response.Username.Success = true;
            }

            if (!UserValidation.IsValidPassword(data.Password))
            {
                response.Password.Success = false;
                response.Password.Reason  =
                    "Password must contain:<br/>A Capital Letter<br/>A Lowercase Letter<br/>A Number<br/>A Special Character";
            }
            else if (data.Password != data.ConfirmPassword)
            {
                response.Password.Success = false;
                response.Password.Reason  = "The passwords do not match";
            }
            else
            {
                response.Password.Success = true;
            }

            if (!UserValidation.IsValidEmail(data.Email))
            {
                response.Email.Success = false;
                response.Email.Reason  = "Invalid email address";
            }
            else if (_userMethods.EmailExists(data.Email))
            {
                response.Email.Success = false;
                response.Email.Reason  = "Email address already in use";
            }
            else
            {
                response.Email.Success = true;
            }

            if (!response.IsValidRegistration())
            {
                return(View(new Tuple <RegisterModel, RegisterResponseModel, bool>(data, response, false)));
            }
            RPNETForum.Users.Create(data);

            return(View("Complete"));
        }
Ejemplo n.º 10
0
        public IActionResult Regist(RegisterInputModel data, string registype, string conpassword)
        {
            RegisterInputModel dataRegister = new RegisterInputModel();

            dataRegister.FirstName       = data.FirstName;
            dataRegister.LastName        = data.LastName;
            dataRegister.Username        = data.Username;
            dataRegister.NamaPerusahaan  = data.NamaPerusahaan;
            dataRegister.EmailPerusahaan = data.EmailPerusahaan;
            dataRegister.NoTelp          = data.NoTelp;
            dataRegister.Kategori        = data.Kategori;
            dataRegister.NPWP            = data.NPWP;
            dataRegister.Website         = data.Website;
            dataRegister.Alamat          = data.Alamat;
            dataRegister.Catatan         = data.Catatan;
            dataRegister.Password        = data.Password;
            JsonConvert.SerializeObject(dataRegister);

            if (conpassword == data.Password)
            {
                if (registype == "MO")
                {
                    using (var client = new HttpClient())
                    {
                        client.BaseAddress = new Uri(BaseAPI + "MediaOwner/");
                        //HTTP POST
                        var postTask = client.PostAsJsonAsync <RegisterInputModel>("Register", dataRegister);
                        postTask.Wait();

                        var result = postTask.Result;
                        if (result.IsSuccessStatusCode)
                        {
                            var content = result.Content.ReadAsStringAsync();
                            RegisterResponseModel logincontent = Newtonsoft.Json.JsonConvert.DeserializeObject <RegisterResponseModel>(content.Result);
                            if (logincontent.data != null && logincontent.data.UserID.ToString() != "")
                            {
                                HttpContext.Session.SetString(SessionKeyCurrent, "");
                                HttpContext.Session.SetString(SessionKeyError, "");
                                //if (HttpContext.Session.GetString(Loginfrom) == "ADM/SPV")
                                //{
                                //	return RedirectToAction("AdminLogon", "Login");
                                //}
                                //else if (HttpContext.Session.GetString(Loginfrom) == "MDO")
                                //{
                                //	return RedirectToAction("OwnerLogon", "Login");
                                //}
                                //else
                                //{
                                //	return RedirectToAction("OwnerLogon", "Login");
                                //}
                                return(RedirectToAction("Logon", "Login"));
                            }
                            else
                            {
                                HttpContext.Session.SetString(SessionKeyCurrent, "true");
                                HttpContext.Session.SetString(SessionKeyError, "Gagal mendaftarkan.");
                                return(RedirectToAction("ChangePassword", "Profile"));
                            }
                        }
                    }
                }
                else if (registype == "MB")
                {
                    using (var client = new HttpClient())
                    {
                        client.BaseAddress = new Uri(BaseAPI + "MediaBuyer/");
                        //HTTP POST
                        var postTask = client.PostAsJsonAsync <RegisterInputModel>("Register", dataRegister);
                        postTask.Wait();

                        var result = postTask.Result;
                        if (result.IsSuccessStatusCode)
                        {
                            var content = result.Content.ReadAsStringAsync();
                            RegisterResponseModel logincontent = Newtonsoft.Json.JsonConvert.DeserializeObject <RegisterResponseModel>(content.Result);
                            if (logincontent.data != null && logincontent.data.UserID.ToString() != "")
                            {
                                HttpContext.Session.SetString(SessionKeyCurrent, "");
                                HttpContext.Session.SetString(SessionKeyError, "");
                                //if (HttpContext.Session.GetString(Loginfrom) == "ADM/SPV")
                                //{
                                //	return RedirectToAction("AdminLogon", "Login");
                                //}
                                //else if (HttpContext.Session.GetString(Loginfrom) == "MDO")
                                //{
                                //	return RedirectToAction("OwnerLogon", "Login");
                                //}
                                //else
                                //{
                                //	return RedirectToAction("OwnerLogon", "Login");
                                //}
                                return(RedirectToAction("Logon", "Login"));
                            }
                            else
                            {
                                HttpContext.Session.SetString(SessionKeyCurrent, "true");
                                HttpContext.Session.SetString(SessionKeyError, "Gagal mendaftarkan.");
                                return(RedirectToAction("ChangePassword", "Profile"));
                            }
                        }
                    }
                }
            }

            HttpContext.Session.SetString(SessionKeyCurrent, "true");
            HttpContext.Session.SetString(SessionKeyError, "Terjadi kesalahan. Mohon hubungi admin.");
            return(RedirectToAction("ChangePassword", "Profile"));
        }