/// <summary>
        /// Add Combo user to db
        /// </summary>
        /// <param name="user">Combo user object to be added</param>
        /// <returns>ComboResponse object with Added User object</returns>
        public HttpResponseMessage AddUser(Models.ComboUser user)
        {
            Models.ComboResponse _response = new Models.ComboResponse();
            _response.bool_result = true;
            _response.ErrorCode = 0;
            _response.ErrorMsg = "";

            BLL.ComboUser newUser = new ComboUser();
            BLL.ComboUser _user = new ComboUser();
            if (_user.GetUserByUserName(user.UserName))
            {
                _response.ErrorCode = 12;
                _response.ErrorMsg = "Username exists before";
                _response.bool_result = false;
                var res = Request.CreateResponse<Models.ComboResponse>(_response);
                return res;
            }
            newUser.AddNew();
            newUser.UserName = user.UserName;
            if (!string.IsNullOrEmpty(user.DisplayName))
                newUser.DisplayName = user.DisplayName;
            newUser.Password = user.Password;
            newUser.Email = user.Email;
            if (!string.IsNullOrEmpty(user.Bio))
                newUser.Bio = user.Bio;
            if (user.ProfileImgID != 0)
                newUser.ProfileImgID = user.ProfileImgID;
            if (user.CoverImgID != 0)
                newUser.CoverImgID = user.CoverImgID;
            if (user.GenderID !=0 )
                newUser.GenderID = user.GenderID;
            newUser.IsActivated = user.IsActivated;
            if (user.ExternalIDType != 0)
            {
                newUser.ExternalIDType = user.ExternalIDType;
                newUser.ExternalID = user.ExternalID;
            }
            if (!string.IsNullOrEmpty(user.DeviceID))
                newUser.DeviceID = user.DeviceID;
            newUser.Save();

            user.ComboUserID = newUser.ComboUserID;
            _response.Entity = user;

            var response = Request.CreateResponse<Models.ComboResponse>(_response);
            return response;
        }
Example #2
0
        public void AddUser(Models.ComboUser user)
        {
            Models.ComboResponse _response = new Models.ComboResponse();
            _response.bool_result = true;
            _response.ErrorCode = 0;
            _response.ErrorMsg = "";

            BLL.ComboUser newUser = new ComboUser();
            BLL.ComboUser _user = new ComboUser();
            if (_user.GetUserByUserName(user.UserName) || _user.GetUserByUserName(user.Email))
            {
                _response.ErrorCode = 12;
                _response.ErrorMsg = "Username or Email exists before";
                _response.bool_result = false;
                SetContentResult(_response);
                return;
            }

            //if (string.IsNullOrEmpty(user.SecurityQuestion))
            //{
            //    _response.ErrorCode = 14;
            //    _response.ErrorMsg = "No secuity question found";
            //    _response.bool_result = false;
            //    SetContentResult(_response);
            //    return;
            //}

            //if (string.IsNullOrEmpty(user.SecurityAnswer))
            //{
            //    _response.ErrorCode = 15;
            //    _response.ErrorMsg = "No security answer found";
            //    _response.bool_result = false;
            //    SetContentResult(_response);
            //    return;
            //}
            if (string.IsNullOrEmpty(user.SecurityWord))
            {
                _response.ErrorCode = 15;
                _response.ErrorMsg = "No security word found";
                _response.bool_result = false;
                SetContentResult(_response);
                return;
            }
            newUser.AddNew();
            newUser.UserName = user.UserName;
            if (!string.IsNullOrEmpty(user.DisplayName))
                newUser.DisplayName = user.DisplayName;
            newUser.Password = user.Password;
            newUser.Email = user.Email;
            //newUser.SecurityQuestion = user.SecurityQuestion;
            //newUser.SecurityAnswer = user.SecurityAnswer;
            newUser.SecurityWord = user.SecurityWord;
            if (!string.IsNullOrEmpty(user.Bio))
                newUser.Bio = user.Bio;
            if (user.ProfileImgID != 0)
                newUser.ProfileImgID = user.ProfileImgID;
            if (user.CoverImgID != 0)
                newUser.CoverImgID = user.CoverImgID;
            if (user.GenderID != 0)
                newUser.GenderID = user.GenderID;
            newUser.IsActivated = user.IsActivated;
            if (user.ExternalIDType != 0)
            {
                newUser.ExternalIDType = user.ExternalIDType;
                newUser.ExternalID = user.ExternalID;
            }
            if (!string.IsNullOrEmpty(user.DeviceID))
                newUser.DeviceID = user.DeviceID;

            // set rank by default
            newUser.UserRankID = 1;

            if (user.BirthDate != DateTime.MinValue)
                newUser.BirthDate = user.BirthDate;
            if (!string.IsNullOrEmpty(user.Country))
                newUser.Country  = user.Country;
            if (!string.IsNullOrEmpty(user.Phone))
                newUser.Phone = user.Phone;
            if (!string.IsNullOrEmpty(user.Website))
                newUser.Website = user.Website;
            if (user.CountryID != 0)
                newUser.CountryID = user.CountryID;
            if (!string.IsNullOrEmpty(user.Location))
                newUser.Location = user.Location;

            try
            {
                newUser.IsPrivateAccount = user.IsPrivateAccount;
            }
            catch (Exception ex)
            {

            }

            newUser.Save();

            user.ComboUserID = newUser.ComboUserID;
            _response.Entity = new Models.ComboUser[]{ user};

            try
            {
                MailMessage msg = new MailMessage();
                string body = Combo.Properties.Resources.registrationBody;
                string mail = Combo.Properties.Resources.mail;

                string mailto = user.Email;
                msg.To.Add(mailto);
                msg.From = new MailAddress(mail);
                msg.Subject = Combo.Properties.Resources.registrationSubject;
                msg.IsBodyHtml = true;
                msg.BodyEncoding = System.Text.Encoding.UTF8;

                msg.Body = string.Format(body, user.UserName);

                SmtpClient client = new SmtpClient(Combo.Properties.Resources.mailserver, Convert.ToInt32(Combo.Properties.Resources.port));

                client.UseDefaultCredentials = false;
                //client.EnableSsl = true;
                client.Credentials = new System.Net.NetworkCredential(mail, Combo.Properties.Resources.mailpass);
                client.Send(msg);
            }
            catch (Exception ex)
            {
                //_response.ErrorCode = 9999;
                //_response.ErrorMsg = "An Error Occured.Please try again.<br />" + ex.Message;
                //_response.bool_result = false;
            }

            SetContentResult(_response);
            return;
        }
Example #3
0
        public void GetUser(string username, string password, string DeviceID)
        {
            Models.ComboResponse _response = new Models.ComboResponse();
            _response.bool_result = true;
            _response.ErrorCode = 0;
            _response.ErrorMsg = "";

            ComboUser user = new ComboUser();
            if (!user.GetUserByUserNameAndPassword(username, password))
            {
                _response.ErrorCode = 11;
                _response.ErrorMsg = "User doesn't exist";
                _response.bool_result = false;
                if (user.GetUserByUserName(username))
                {
                    _response.ErrorCode = 10;
                    _response.ErrorMsg = "Password not correct";
                }
            }
            else
            {
                // save device id if changed
                user.DeviceID = DeviceID;
                user.Save();
                // get user info
                List<Models.ComboUser> Users = user.DefaultView.Table.AsEnumerable().Select(row =>
                {
                    return new Models.ComboUser
                    {
                        ComboUserID = Convert.ToInt32(row["ComboUserID"]),
                        UserName = row["UserName"].ToString(),
                        DisplayName = row["DisplayName"].ToString(),
                        Password = row["Password"].ToString(),
                        Email = row["Email"].ToString(),
                        Bio = row["Bio"].ToString(),
                        ProfileImgID = row.IsNull("ProfileImgID") ? 0 : Convert.ToInt32(row["ProfileImgID"]),
                        CoverImgID = row.IsNull("CoverImgID") ? 0 : Convert.ToInt32(row["CoverImgID"]),
                        GenderID = row.IsNull("GenderID") ? 0 : Convert.ToInt32(row["GenderID"]),
                        IsActivated = row.IsNull("IsActivated") ? false : Convert.ToBoolean(row["IsActivated"]),
                        ExternalIDType = row.IsNull("ExternalIDType") ? 0 : Convert.ToInt32(row["ExternalIDType"]),
                        ExternalID = row["ExternalID"].ToString(),
                        DeviceID = row["DeviceID"].ToString(),
                        ActivationCode = row.IsNull("ActivationCode") ? Guid.Empty : new Guid(row["ActivationCode"].ToString()),
                        PassResetCode = row.IsNull("PassResetCode") ? Guid.Empty : new Guid(row["PassResetCode"].ToString()),
                        SecurityQuestion = row["SecurityQuestion"].ToString(),
                        SecurityAnswer = row["SecurityAnswer"].ToString(),
                        UserRankID = Convert.ToInt32(row["UserRankID"]),
                        SecurityWord = row["SecurityWord"].ToString(),
                        Location = row["Location"].ToString()
                    };
                }).ToList();

                _response.Entity = Users;
            }
            SetContentResult(_response);
            return;
        }
Example #4
0
        public void ForgetPassword(string Username, string securityWord)
        {
            Models.ComboResponse _response = new Models.ComboResponse();
            _response.bool_result = true;
            _response.ErrorCode = 0;
            _response.ErrorMsg = "";

            ComboUser user = new ComboUser();
            if (!user.GetUserByUserName(Username))
            {
                _response.ErrorCode = 11;
                _response.ErrorMsg = "User doesn't exist";
                _response.bool_result = false;

            }
            else if (user.SecurityWord != securityWord)
            {
                _response.ErrorCode = 16;
                _response.ErrorMsg = "Security word is not matched to our databse.";
                _response.bool_result = false;

            }
            else
            {
                //user.PassResetCode = Guid.NewGuid();
                //user.Save();

                //try
                //{
                //    MailMessage msg = new MailMessage();
                //    string body = Combo.Properties.Resources.body;
                //    string mail = Combo.Properties.Resources.mail;

                //    string mailto = user.Email;
                //    msg.To.Add(mailto);
                //    msg.From = new MailAddress(mail);
                //    msg.Subject = Combo.Properties.Resources.subject;
                //    msg.IsBodyHtml = true;
                //    msg.BodyEncoding = System.Text.Encoding.UTF8;

                //    msg.Body = string.Format(body, user.UserName, user.PassResetCode.ToString());

                //    SmtpClient client = new SmtpClient(Combo.Properties.Resources.mailserver, Convert.ToInt32(Combo.Properties.Resources.port));

                //    client.UseDefaultCredentials = false;
                //    //client.EnableSsl = true;
                //    client.Credentials = new System.Net.NetworkCredential(mail, Combo.Properties.Resources.mailpass);
                //    client.Send(msg);
                //}
                //catch (Exception ex)
                //{
                //    _response.ErrorCode = 9999;
                //    _response.ErrorMsg = "An Error Occured.Please try again.<br />" + ex.Message;
                //    _response.bool_result = false;
                //}

                List<Models.ComboUser> Users = user.DefaultView.Table.AsEnumerable().Select(row =>
                {
                    return new Models.ComboUser
                    {
                        ComboUserID = Convert.ToInt32(row["ComboUserID"]),
                        UserName = row["UserName"].ToString(),
                        DisplayName = row["DisplayName"].ToString(),
                        Password = row["Password"].ToString(),
                        Email = row["Email"].ToString(),
                        Bio = row["Bio"].ToString(),
                        ProfileImgID = row.IsNull("ProfileImgID") ? 0 : Convert.ToInt32(row["ProfileImgID"]),
                        CoverImgID = row.IsNull("CoverImgID") ? 0 : Convert.ToInt32(row["CoverImgID"]),
                        GenderID = row.IsNull("GenderID") ? 0 : Convert.ToInt32(row["GenderID"]),
                        IsActivated = row.IsNull("IsActivated") ? false : Convert.ToBoolean(row["IsActivated"]),
                        ExternalIDType = row.IsNull("ExternalIDType") ? 0 : Convert.ToInt32(row["ExternalIDType"]),
                        ExternalID = row["ExternalID"].ToString(),
                        DeviceID = row["DeviceID"].ToString(),
                        ActivationCode = row.IsNull("ActivationCode") ? Guid.Empty : new Guid(row["ActivationCode"].ToString()),
                        PassResetCode = row.IsNull("PassResetCode") ? Guid.Empty : new Guid(row["PassResetCode"].ToString()),
                        UserRankID = Convert.ToInt32(row["UserRankID"]),
                        SecurityWord = row["SecurityWord"].ToString()
                    };
                }).ToList();

                _response.Entity = Users;
            }

            SetContentResult(_response);
            return;
        }
 public HttpResponseMessage GetUser(Models.ComboUser _user)
 {
     Models.ComboResponse _response = new Models.ComboResponse();
     _response.bool_result = true;
     _response.ErrorCode = 0;
     _response.ErrorMsg = "";
     ComboUser user = new ComboUser();
     if (!user.GetUserByUserNameAndPassword(_user.UserName, _user.Password))
     {
         _response.ErrorCode = 11;
         _response.ErrorMsg = "User doesn't exist";
         _response.bool_result = false;
         if (user.GetUserByUserName(_user.UserName))
         {
             _response.ErrorCode = 10;
             _response.ErrorMsg = "Password not correct";
         }
     }
     else
     {
         List<Models.ComboUser> Users = user.DefaultView.Table.AsEnumerable().Select(row =>
         {
             return new Models.ComboUser
             {
                 ComboUserID = Convert.ToInt32(row["ComboUserID"]),
                 UserName = row["UserName"].ToString(),
                 DisplayName = row["DisplayName"].ToString(),
                 Password = row["Password"].ToString(),
                 Email = row["Email"].ToString(),
                 Bio = row["Bio"].ToString(),
                 ProfileImgID = row.IsNull("ProfileImgID") ? 0 : Convert.ToInt32(row["ProfileImgID"]),
                 CoverImgID = row.IsNull("CoverImgID") ? 0 : Convert.ToInt32(row["CoverImgID"]),
                 GenderID = row.IsNull("GenderID") ? 0 : Convert.ToInt32(row["GenderID"]),
                 IsActivated = row.IsNull("IsActivated") ? false : Convert.ToBoolean(row["IsActivated"]),
                 ExternalIDType = row.IsNull("ExternalIDType") ? 0 : Convert.ToInt32(row["ExternalIDType"]),
                 ExternalID = row["ExternalID"].ToString(),
                 DeviceID = row["DeviceID"].ToString(),
                 ActivationCode = row.IsNull("ActivationCode") ? Guid.Empty : new Guid(row["ActivationCode"].ToString()),
                 PassResetCode = row.IsNull("PassResetCode") ? Guid.Empty : new Guid(row["PassResetCode"].ToString())
             };
         }).ToList();
         _response.Entity = Users;
     }
     var response = Request.CreateResponse<Models.ComboResponse>(_response);
     return  response;
 }
        public HttpResponseMessage ForgetPassword(string Username)
        {
            Models.ComboResponse _response = new Models.ComboResponse();
            _response.bool_result = true;
            _response.ErrorCode = 0;
            _response.ErrorMsg = "";

            ComboUser user = new ComboUser();
            if (!user.GetUserByUserName(Username))
            {
                _response.ErrorCode = 11;
                _response.ErrorMsg = "User doesn't exist";
                _response.bool_result = false;

            }
            else
            {
                user.PassResetCode = Guid.NewGuid();
                user.Save();

                try
                {
                    MailMessage msg = new MailMessage();
                    string body = Combo.Properties.Resources.body;
                    string mail = Combo.Properties.Resources.mail;

                    string mailto = user.Email;
                    msg.To.Add(mailto);
                    msg.From = new MailAddress(mail);
                    msg.Subject = Combo.Properties.Resources.subject;
                    msg.IsBodyHtml = true;
                    msg.BodyEncoding = System.Text.Encoding.UTF8;

                    msg.Body = string.Format(body, user.UserName, user.PassResetCode.ToString());

                    SmtpClient client = new SmtpClient(Combo.Properties.Resources.mailserver, Convert.ToInt32(Combo.Properties.Resources.port));

                    client.UseDefaultCredentials = false;
                    client.EnableSsl = true;
                    client.Credentials = new System.Net.NetworkCredential(mail, Combo.Properties.Resources.mailpass);
                    client.Send(msg);
                }
                catch (Exception ex)
                {
                    _response.ErrorCode = 9999;
                    _response.ErrorMsg = "An Error Occured.Please try again.<br />" + ex.Message;
                    _response.bool_result = false;
                }
            }

            _response.Entity = null;
            var response = Request.CreateResponse<Models.ComboResponse>(_response);
            return response;
        }