public UIElement GetRegisterElement()
        {
            ClientRegisterViewModel viewModel = new ClientRegisterViewModel(new ClientRegisterModel()
            {
                DateOfBirth = new DateTime(1990, 01, 01)
            });
            RegisterClientControl control = new RegisterClientControl(viewModel);

            viewModel.ClientCreated += (s, e) =>
            {
                ClientRegisterModel client    = e.Client;
                ClientRegisterDTO   clientDTO = Mapper.Map <ClientRegisterModel, ClientRegisterDTO>(client);

                using (IAccountService service = factory.CreateAccountService())
                {
                    ServiceMessage serviceMessage = service.Register(clientDTO);
                    RaiseReceivedMessageEvent(serviceMessage);

                    if (serviceMessage.IsSuccessful)
                    {
                        viewModel.FirstName       = String.Empty;
                        viewModel.LastName        = String.Empty;
                        viewModel.PhoneNumber     = String.Empty;
                        viewModel.Login           = String.Empty;
                        viewModel.Password        = String.Empty;
                        viewModel.ConfirmPassword = String.Empty;
                        Notify();
                    }
                }
            };

            return(control);
        }
        public ActionResult Register()
        {
            var model = new ClientRegisterViewModel();

            model.Countries        = this.countries.AllNames();
            model.Cities           = this.cities.AllNames();
            model.Banks            = this.banks.AllNames();
            model.Municipalities   = this.municipalities.AllNames();
            model.PERSONAL_ID_DATE = DateTime.Today.ToString("dd/MM/yyyy");
            model.CLIENT_BIRTHDATE = DateTime.Today.ToString("dd/MM/yyyy");

            return(this.View(model));
        }
        public async Task <ActionResult> Register(ClientRegisterViewModel model)
        {
            var    objResponse = new ResponseObject();
            string error       = string.Empty;
            string currentUrl  = string.Empty;

            if (ModelState.IsValid)
            {
                var user = new ApplicationUser
                {
                    UserName = model.RegisterEmail,
                    Email    = model.RegisterEmail
                };
                var result = await UserManager.CreateAsync(user, model.RegisterPassword);

                if (result.Succeeded)
                {
                    currentUrl = HttpContext.Request.Url.ToString().ToLower();
                    var flag = await GenerateEmailConfirmation(user);

                    objResponse.IsSuccess   = "true";
                    objResponse.StrResponse = CommonFunction.SuccessMessage("Well Done!", "Successfully ");
                    return(Json(new
                    {
                        email = model.RegisterEmail,
                        objResponse
                    }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    AddErrors(result);
                    error = result.Errors.FirstOrDefault();
                    objResponse.IsSuccess   = "false";
                    objResponse.StrResponse = CommonFunction.ErrorMessage(CommonMessagetype.TechnicalError.ToString(), Convert.ToString(error));
                }
            }
            else
            {
                string messages = string.Join("; ", ModelState.Values
                                              .SelectMany(x => x.Errors)
                                              .Select(x => x.ErrorMessage));
                objResponse.IsSuccess   = "false";
                objResponse.StrResponse = CommonFunction.ErrorMessage(CommonMessagetype.TechnicalError.ToString(), messages);
            }
            return(Json(new
            {
                currentUrl = currentUrl,
                objResponse
            }, JsonRequestBehavior.AllowGet));
        }
        public async Task <ActionResult> Register(ClientRegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Errors.Any())
                {
                    ViewBag.Errors = result.Errors;
                    return(View(ViewBag));
                }
                UserManager.AddToRole(user.Id, "Client");
                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    ClientModel client = new ClientModel {
                        Client_Contact = model.Email, Client_FName = model.FirstName, Client_LName = model.LastName, Account_Id = user.Id
                    };
                    bool success = new DatabaseAccess().InsertClientRow(client);

                    // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");
                    return(RedirectToAction("SelectBranch", "Branch"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Beispiel #5
0
        public IActionResult ClientRegister(ClientRegisterViewModel client)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var Client = (from c in _context.Members
                                  from r in _context.Roless
                                  from cr in _context.MemberRoles
                                  where cr.RoleId == r.Id && cr.MemberId == c.Id && r.Name == "Customer" && c.Phone == client.UserPhone
                                  select c).FirstOrDefault();

                    if (Client != null)
                    {
                        ModelState.AddModelError("UserPhone", "تم تسجيل هذا الحساب مسبقا");
                        return(View(client));
                    }

                    var Member = new Member();
                    Member.FullName = client.UserName;
                    Member.Phone    = client.UserPhone;
                    Member.Password = RandomURL.GetURL();
                    Member.CityId   = client.CityId;
                    Member.State    = true;


                    _context.Add(Member);
                    var created  = _context.SaveChanges();
                    var Customer = new Member();
                    if (created > 0)
                    {
                        //add Customer to role
                        Customer = _context.Members.ToList().FirstOrDefault(c => c.Phone == client.UserPhone);
                        var role = _context.Roless.FirstOrDefault(r => r.Name == "Customer");
                        if (role != null && Customer != null)
                        {
                            MemberRole CustomerRole = new MemberRole();
                            CustomerRole.MemberId = Customer.Id;
                            CustomerRole.RoleId   = role.Id;
                            _context.MemberRoles.Add(CustomerRole);
                            _context.SaveChanges();
                        }
                    }


                    if (IsClient(Customer.Phone, Customer.Password))
                    {
                        var data = new ClientLoginViewModel {
                            UserPhone = Customer.Phone, Password = Customer.Password, UserName = Customer.FullName
                        };
                        TempData["LoginData"] = JsonConvert.SerializeObject(data);
                        return(RedirectToAction(nameof(Index)));
                    }
                    //else
                    //{
                    //    ModelState.AddModelError("UserPhone", "رقم الهاتف أو كلمة المرور غير صحيحة");
                    //    return View();
                    //}

                    return(RedirectToAction(nameof(Index)));
                }

                ViewData["CityId"] = new SelectList(_context.Cities, "Id", "Name", client.CityId);
                return(View(client));
            }
            catch (Exception ex)
            {
                return(RedirectToAction(nameof(Index)));
            }
        }
        public ActionResult Register(ClientRegisterViewModel model)
        {
            var id = this.User.Identity.GetUserId();

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

            // проверка за физическо или юридическо лице и създаване на FULL_NAME
            if (model.TYPE_PERSON == GlobalConstants.PerTypes[0] ||
                model.TYPE_PERSON == GlobalConstants.PerTypes[2])
            {
                model.FULL_NAME = model.FirmName;
            }
            else
            {
                model.FULL_NAME = $"{model.FIRSTNAME} {model.SECONDNAME} {model.LASTNAME}";
            }

            // TODO: създаване на тези неща
            model.CREATED_BY   = int.Parse(id);
            model.CREATED_WHEN = DateTime.Now.ToString();

            var clientNewId = this.clients.GetNewId();

            model.CLIENTID = clientNewId;

            var tempStr  = "000000";
            var i2       = tempStr.Length - clientNewId.ToString().Length;
            var tempstr2 = tempStr.Substring(0, i2);
            var clstring = "AC";

            model.CLIENTID_STRING = clstring + tempstr2.ToString() + clientNewId.ToString();

            /*Dim rst As ADODB.Recordset
             * myuser = conn_sql.myuser   '' DLookup("[user]", "current_user")
             * 'mypass = DLookup("[pass]", "current_user")
             * Dim userid As Integer
             * userid = conn_sql.userid   ''DLookup("[user_int]", "current_user")
             * 'Call CONNECT_SQL
             * 'conn.Open MYCONN
             * ''''''''''''''''''''''''''''''''''''''''''''''''''''
             * Dim udid As String
             * udid = conn_sql.udid '' Trim(DLookup("[udid]", "tblcurrentud"))
             * ''''''''''''''''''''''''''''''''''''''''''''''''''''
             *
             *
             * '////////////////////////////////////////////////////////////////
             * Dim i As Double
             * rst = conn.Execute("exec sp_getmaxinvid")
             * If rst.EOF Then
             * i = 1
             * Else
             * i = rst.Fields("max_id").Value
             * i = i + 1
             * End If
             *
             * '////////////////////////////////////////////////////////////////
             * 'GET USER CLIENT STRING
             * Dim clstring As String
             * rst = conn.Execute("exec sp_getuserstring " _
             * & userid & "")
             * If rst.EOF Then
             * MsgBox("Не мога да намеря код за потребителя!")
             * Exit Sub
             * Else
             * clstring = rst.Fields("strindex").Value
             * End If
             * '///////////////////////////////////////////////////////////////
             * Dim tempstr As String
             * Dim tempstr2 As String
             * Dim i2 As Integer
             * Dim clidstring As String
             *
             *
             * If udid = "AC" Then
             * tempstr = "000000"
             * i2 = Len(tempstr) - Len(Trim(i))
             * tempstr2 = msvb.Left(tempstr, i2)
             * clidstring = clstring & "-" & tempstr2 & i
             * Else
             * tempstr = "000000"
             * i2 = Len(tempstr) - Len(Trim(i))
             * tempstr2 = msvb.Left(tempstr, i2)
             * clidstring = clstring & tempstr2 & i
             * End If
             *
             *
             * '///////////////////////////////////////////////////////////////////
             * Dim fullnm As String
             * If Me.cmbPERTYPE.Text = "БЪЛГАРСКО ФИЗИЧЕСКО ЛИЦЕ" Or Me.cmbPERTYPE.Text = "ЧУЖДО ФИЗИЧЕСКО ЛИЦЕ" Then
             * fullnm = Me.txtFNAME.Text & " " & Me.txtSNAME.Text & " " & Me.txtLNAME.Text
             * Else
             * fullnm = Me.txtNAME.Text
             * End If
             * '///////////////////////////////////////////////////////////////////
             * Dim crwhen As Date
             * crwhen = Now()
             * '///////////////////////////////////////////////////////////////////
             *
             * Dim dcit As String
             * If Me.checkRES.Checked = True Then
             * dcit = "YES"
             * Else
             * dcit = "NO"
             * End If*/
            var newClient = new INVESTORS_FUNDS();

            this.Mapper.Map(model, newClient);
            this.clients.CreateClient(newClient);
            return(this.RedirectToAction("Index", "Home"));
        }
 public RegisterClientControl(ClientRegisterViewModel viewModel)
 {
     InitializeComponent();
     this.DataContext = viewModel;
 }