Exemplo n.º 1
0
 public ActionResult Register(ClientSaveModel client)
 {
     if (ModelState.IsValid)
     {
         try
         {
             // add new user of type client to the database
             var httpClient          = Connector.GetHttpClient();
             var response            = httpClient.GetAsync($"Account/UserCheck?PhoneNo={client.PhoneNumber}&Email={client.Email}").Result;
             var httpResponseContent = response.Content.ReadAsStringAsync().Result;
             var responseMessage     = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize <string>(httpResponseContent);
             if (responseMessage == "Valid")
             {
                 var RiCHSMS      = new RiCHSMSManager();
                 var RichResponse = RiCHSMS.SendSmsSignUp(client.PhoneNumber);
                 if (RichResponse.IsSent)//Simulation with Rich by send clientAuth.OriginalCode to Rich api
                 {
                     Session["OriginalCode"] = RichResponse.OTPassword;
                     Session["signUser"]     = client;
                     return(View("Authentication"));
                 }
             }
             else
             {
                 ModelState.AddModelError("", responseMessage);
                 return(View());
             }
         }
         catch (Exception e)
         {
             if (e.InnerException != null)
             {
                 if (e.InnerException.InnerException != null)
                 {
                     GlobalVariable.log.Error(e.InnerException.InnerException.Message);
                 }
             }
             else
             {
                 GlobalVariable.log.Error(e.Message);
             }
             ModelState.AddModelError("", "Something went wrong, please try later");
             return(View(client));
         }
     }
     return(View(client));
 }
Exemplo n.º 2
0
        public ActionResult AddNewUser(UserRegistrationModel user)
        {
            try
            {
                if (Session["filePath"] == null)
                {
                    ModelState.AddModelError("", "Please record your voice or take picture");
                    return(View("Register", user));
                }

                if (Session["filePath"] != null && IsAudio(Session["filePath"].ToString()) && GetAudioDuration(Session["filePath"].ToString()).Value.TotalSeconds <= 5)
                {
                    ModelState.AddModelError("", "The duration of the audio recording should be more than 5 seconds");
                    return(View("Register", user));
                }


                if (ModelState.IsValid)
                {
                    user.File = Session["filePath"].ToString();
                    user.Id   = Convert.ToInt32(Session["UserID"]);

                    var fileExtention = user.File.Split('.');
                    if (IsImage(Session["filePath"].ToString()))
                    {
                        user.LoginType = LoginApproach.Face;
                    }
                    else if (IsAudio(Session["filePath"].ToString()))
                    {
                        user.LoginType = LoginApproach.Voice;
                    }
                    else
                    {
                        ModelState.AddModelError("", "The Email address or the phone number already exists!");
                    }
                    var httpClient          = Connector.GetHttpClient();
                    var response            = httpClient.GetAsync($"Account/UserCheck?PhoneNo={user.PhoneNumber}&Email={user.Email}").Result;
                    var httpResponseContent = response.Content.ReadAsStringAsync().Result;
                    var responseMessage     = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize <string>(httpResponseContent);
                    if (responseMessage == "Valid")
                    {
                        var RiCHSMS      = new RiCHSMSManager();
                        var RichResponse = RiCHSMS.SendSmsSignUp(user.PhoneNumber);
                        if (RichResponse.IsSent) //Simulation with Rich by send clientAuth.OriginalCode to Rich api
                        {
                            Session["OriginalCode"] = RichResponse.OTPassword;
                            Session["signUser"]     = user;
                            return(View("Authentication"));
                        }
                        ModelState.AddModelError("", "Something went wrong, please try later");
                        return(View("Register", user));
                    }
                    else
                    {
                        ModelState.AddModelError("", responseMessage);
                        return(View("Register", user));
                    }
                }
            }
            catch (Exception ex)
            {
                GlobalVariable.log.Write(LogLevel.Error, ex);
                ModelState.AddModelError("", "There is an error, please try later");
            }

            return(View("Register", user));
        }