Esempio n. 1
0
        public ActionResult DeleteConfirmed(int id)
        {
            webpages_Membership webmember = null;

            UserProfile userprofile = db.UserProfiles.Find(id);

            if (System.Web.Security.Roles.IsUserInRole(userprofile.UserName, "Owner"))
            {
                //Do not delete the user
            }
            else
            {
                if (userprofile != null)
                {
                    webmember = db.webpages_Membership.Find(id);
                    if (webmember != null)
                    {
                        db.webpages_Membership.Remove(webmember);
                    }
                }
                db.UserProfiles.Remove(userprofile);
                db.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }
        /// <summary>
        /// POST api/CustomRegistration
        /// </summary>
        public HttpResponseMessage Post(RegistrationRequest Request)
        {
            // Validate the email format
            if (!EmailValidator.Validate(Request.Email, true))
            {
                return(this.Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid email format"));
            }
            // Validate the password
            else if (Request.Password.Length < 6)
            {
                return(this.Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid password (at least 8 chars required)"));
            }

            // Use local database context for testing local to service
            //alltheairgeadmobileContext context = new alltheairgeadmobileContext();
            // Setup the database connection to the remote server
            alltheairgeadContext context = new alltheairgeadContext(Services.Settings["ExistingDbConnectionString"]);
            // Check that the account doesn't already exist
            UserProfile account = context.UserProfiles.Where(a => a.Email == Request.Email).SingleOrDefault();

            if (account != null)
            {
                return(this.Request.CreateResponse(HttpStatusCode.BadRequest, "Email already exists"));
            }
            // Otherwise create a new account
            else
            {
                // Build new account from provided email.
                UserProfile newAccount = new UserProfile
                {
                    Email = Request.Email
                };
                // Add the email to the userprofiles table
                context.UserProfiles.Add(newAccount);
                context.SaveChanges();

                // Get autogenerated UserId to use.
                newAccount = context.UserProfiles.Where(a => a.Email == Request.Email).SingleOrDefault();
                // Build a new membership item for the webpages_Membershup table
                webpages_Membership newMembership = new webpages_Membership
                {
                    UserId                                  = newAccount.UserId,
                    CreateDate                              = DateTime.Now,
                    IsConfirmed                             = true,
                    LastPasswordFailureDate                 = null,
                    PasswordFailuresSinceLastSuccess        = 0,
                    Password                                = Crypto.HashPassword(Request.Password),
                    PasswordChangedDate                     = null,
                    PasswordSalt                            = "blank",
                    PasswordVerificationToken               = null,
                    PasswordVerificationTokenExpirationDate = null
                };
                // Add to the table
                context.Memberships.Add(newMembership);
                context.SaveChanges();

                // Return the successful response
                return(this.Request.CreateResponse(HttpStatusCode.Created));
            }
        }
        /// <summary>
        /// POST api/CustomLogin HTTP request handler
        /// </summary>
        public HttpResponseMessage Post(LoginRequest Request)
        {
            // Use local database context for testing local to service
            //alltheairgeadmobileContext context = new alltheairgeadmobileContext();
            // Setup the connection to the remote database
            alltheairgeadContext context = new alltheairgeadContext(Services.Settings["ExistingDbConnectionString"]);

            try
            {
                // Look for an account with the provided details
                UserProfile account = context.UserProfiles.Where(a => a.Email == Request.Email).SingleOrDefault();
                if (account != null)
                {
                    // Store membership data from database in a webpages_Membership
                    webpages_Membership membership = context.Memberships.Where(a => a.UserId == account.UserId).SingleOrDefault();
                    // Attempt to verify the supplied password
                    if (Crypto.VerifyHashedPassword(membership.Password, Request.Password))
                    {
                        // Generate authentication token
                        ClaimsIdentity claimsIdentity = new ClaimsIdentity();
                        claimsIdentity.AddClaim(new Claim(ClaimTypes.NameIdentifier, Request.Email));
                        LoginResult loginResult = new CustomLoginProvider(handler).CreateLoginResult(claimsIdentity, Services.Settings.MasterKey);
                        return(this.Request.CreateResponse(HttpStatusCode.OK, loginResult));
                    }
                }
                // If an account could not be found with the username, return an unautherized response
                return(this.Request.CreateResponse(HttpStatusCode.Unauthorized, "Invalid username or password"));
            }
            catch
            {
                return(this.Request.CreateResponse(HttpStatusCode.Unauthorized, "Invalid username or password"));
            }
        }
Esempio n. 4
0
        // POST /webpages_Membership/token/
        public HttpResponseMessage Post(string token, [FromBody] webpages_Membership param)
        {
            // Abre nova conexão
            using (painel_taxservices_dbContext _db = new painel_taxservices_dbContext())
            {
                tbLogAcessoUsuario log = new tbLogAcessoUsuario();
                try
                {
                    HttpResponseMessage retorno = new HttpResponseMessage();

                    log = Bibliotecas.LogAcaoUsuario.New(token, JsonConvert.SerializeObject(param), "Post", _db);

                    if (Permissoes.Autenticado(token, _db))
                    {
                        Int32 dados = GatewayWebpagesMembership.Add(token, param, _db);
                        log.codResposta = (int)HttpStatusCode.OK;
                        Bibliotecas.LogAcaoUsuario.Save(log, _db);
                        return(Request.CreateResponse <Int32>(HttpStatusCode.OK, dados));
                    }
                    else
                    {
                        log.codResposta = (int)HttpStatusCode.Unauthorized;
                        Bibliotecas.LogAcaoUsuario.Save(log, _db);
                        return(Request.CreateResponse(HttpStatusCode.Unauthorized));
                    }
                }
                catch (Exception e)
                {
                    log.codResposta = (int)HttpStatusCode.InternalServerError;
                    log.msgErro     = e.Message;
                    Bibliotecas.LogAcaoUsuario.Save(log);
                    throw new HttpResponseException(HttpStatusCode.InternalServerError);
                }
            }
        }
Esempio n. 5
0
        public UserProfile Insert(UserProfile userProfile, string password)
        {
            try
            {
                using (UnitOfWork uow = _unitOfWorkFactory.Create())
                {
                    UserProfile insertedUserProfile = uow.Repository <UserProfile>().Add(userProfile);

                    uow.SaveChanges();

                    webpages_Membership membership = new webpages_Membership()
                    {
                        UserId = insertedUserProfile.UserId, Password = password
                    };
                    webpages_Membership insertedMembership = uow.Repository <webpages_Membership>().Add(membership);

                    uow.SaveChanges();

                    return(insertedUserProfile);
                }
            }
            catch (Exception ex)
            {
                throw new DataLayerException(ex.Message);
            }
        }
Esempio n. 6
0
 public ActionResult Create(UserProfileModel model)
 {
     if (ModelState.IsValid)
     {
         webpages_Membership member    = new webpages_Membership();
         UserProfile         user      = new UserProfile();
         UserModel           userModel = new UserModel();
         userModel.FullName = model.FullName;
         userModel.Group_Id = model.Group_Id;
         userModel.Email    = model.Email;
         bool checkSave = false;
         user.UserName = model.UserName;
         user.FullName = model.FullName;
         user.Email    = model.Email;
         WebSecurity.CreateUserAndAccount(model.UserName, model.Password, userModel, true);
         member = membershipService.webpages_MembershipResponsitory.Single(WebSecurity.GetUserId(model.UserName));
         if (member != null)
         {
             member.IsConfirmed = true;
             checkSave          = membershipService.webpages_MembershipResponsitory.Update(member);
         }
         TempData["MessageStatus"] = checkSave;
         TempData["Message"]       = $"thêm mới tài khoản {(checkSave ? "" : "không")} thành công";
         return(RedirectToAction("Management"));
     }
     return(View(model));
 }
Esempio n. 7
0
        public ActionResult DeleteConfirmed(int id)
        {
            webpages_Membership webpages_membership = db.webpages_Membership.Find(id);

            db.webpages_Membership.Remove(webpages_membership);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 8
0
        //
        // GET: /webpages_MembershipAdmin/Delete/5

        public ActionResult Delete(int id = 0)
        {
            webpages_Membership webpages_membership = db.webpages_Membership.Find(id);

            if (webpages_membership == null)
            {
                return(HttpNotFound());
            }
            return(View(webpages_membership));
        }
Esempio n. 9
0
 public ActionResult Edit(webpages_Membership webpages_membership)
 {
     if (ModelState.IsValid)
     {
         db.Entry(webpages_membership).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(webpages_membership));
 }
Esempio n. 10
0
        public ActionResult Create(webpages_Membership webpages_membership)
        {
            if (ModelState.IsValid)
            {
                db.webpages_Membership.Add(webpages_membership);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(webpages_membership));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            UserProfile         userprofile = db.UserProfiles.Find(id);
            webpages_Membership webPageMem  = db.webpages_Membership.Find(id);

            db.UserProfiles.Remove(userprofile);
            db.webpages_Membership.Remove(webPageMem);
            db.SaveChanges();
            TempData["notice"] = "User has been deleted";
            return(RedirectToAction("Index"));
        }
Esempio n. 12
0
        public string GetUserPWHashByID(int uID)
        {
            webpages_Membership usrMembership = _context.webpages_Membership.GetSingle(e => e.UserId == uID);

            if (usrMembership != null)
            {
                return(usrMembership.Password);
            }
            else
            {
                return(string.Empty);
            }
        }
Esempio n. 13
0
        public bool ChangePassword(string username, string newPassword)
        {
            int usrID = GetUserIDByEmail(username);

            if (usrID != 0)
            {
                webpages_Membership webMembership = _context.webpages_Membership.GetSingle(e => e.UserId == usrID);
                webMembership.Password = newPassword;
                _context.webpages_Membership.SaveChanges();
                return(true);
            }
            return(false);
        }
Esempio n. 14
0
        /// <summary>
        /// Altera webpages_Membership
        /// Reseta Senha de usuário
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        ///
        public static void Update(string token, webpages_Membership param, painel_taxservices_dbContext _dbContext = null)
        {
            painel_taxservices_dbContext _db;

            if (_dbContext == null)
            {
                _db = new painel_taxservices_dbContext();
            }
            else
            {
                _db = _dbContext;
            }
            try
            {
                var value = _db.webpages_Users
                            .Where(e => e.id_users.Equals(param.UserId))
                            .FirstOrDefault();


                string resetToken = WebSecurity.GeneratePasswordResetToken(value.ds_login, 2);
                if (param.Password == "")
                {
                    WebSecurity.ResetPassword(resetToken, "atos123");
                }
                else
                {
                    WebSecurity.ResetPassword(resetToken, param.Password);
                }
            }
            catch (Exception e)
            {
                if (e is DbEntityValidationException)
                {
                    string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e);
                    throw new Exception(erro.Equals("") ? "Falha ao alterar membership" : erro);
                }
                throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message);
            }
            finally
            {
                if (_dbContext == null)
                {
                    // Fecha conexão
                    _db.Database.Connection.Close();
                    _db.Dispose();
                }
            }
        }
Esempio n. 15
0
        public ActionResult Delete(int Id)
        {
            UserProfile         Adv    = usersProfileService.userProfileRepository.Single(Id);
            webpages_Membership member = membershipService.webpages_MembershipResponsitory.Single(Id);

            member.IsConfirmed = false;
            bool checkDeleteMember = false, checkDelete = false;

            if (Adv != null)
            {
                checkDeleteMember = membershipService.webpages_MembershipResponsitory.Update(member);
            }
            TempData["MessageStatus"] = checkDeleteMember;
            TempData["Message"]       = $"Xóa tài khoản {(checkDelete ? "" : "không")} thành công";
            return(RedirectToAction("Management", new { page = Request.Params["page"], pageSize = Request.Params["pageSize"] }));
        }
Esempio n. 16
0
        public static void ResetPasswordToken(int userID)
        {
            HCEntities ent = new HCEntities();

            var query = from m in ent.webpages_Membership
                        where m.UserId == userID
                        select m;

            webpages_Membership member = query.FirstOrDefault();

            if (member != null)
            {
                member.PasswordVerificationToken = null;
                member.PasswordVerificationTokenExpirationDate = null;
                ent.SaveChanges();
            }
        }
Esempio n. 17
0
        public webpages_Membership GetMembershipByConfirmationToken(string confirmationToken)
        {
            webpages_Membership membership = null;

            try
            {
                using (var db = new Entities())
                {
                    membership = db.webpages_Membership.Single(i => i.ConfirmationToken == confirmationToken);
                }
            }
            catch (Exception ex)
            {
                Logger.ErrorFormat("GetMembershipByConfirmationToken - error [{0}] - \r\n {1} \r\n\r\n", ex.Message, ex.StackTrace);
            }

            return(membership);
        }
Esempio n. 18
0
        public webpages_Membership GetMembership(int userId)
        {
            webpages_Membership membership = null;

            try
            {
                using (var db = new Entities())
                {
                    membership = db.webpages_Membership.Single(i => i.UserId == userId);
                }
            }
            catch (Exception ex)
            {
                Logger.ErrorFormat("GetMembership - error [{0}] - \r\n {1} \r\n\r\n", ex.Message, ex.StackTrace);
            }

            return(membership);
        }
Esempio n. 19
0
        public bool DeleteUser(int userId)
        {
            UserProfile usr = GetUser(userId);

            _datacontext.UserProfile.DeleteOnSubmit(usr);
            webpages_Membership member = GetMembership(userId);

            _datacontext.webpages_Membership.DeleteOnSubmit(member);
            webpages_UsersInRoles userRole = GetUserRole(userId);

            if (userRole != null)
            {
                _datacontext.webpages_UsersInRoles.DeleteOnSubmit(userRole);
            }
            member = GetMembership(userId);
            _datacontext.webpages_Membership.DeleteOnSubmit(member);
            _datacontext.SubmitChanges();
            return(true);
        }
Esempio n. 20
0
        public static void GetCeInventory(webpages_Membership user)
        {
            var rep = new Repository();
            var infomediainventory = rep.GetCeInventoryItems(user.Client.ContentEditsClientID);
            var items = from inv in infomediainventory
                        select new ShopInventory()
            {
                ClientID = user.ClientID ?? 0,
                Name     = inv.title
            };

            foreach (var item in items)
            {
                if (rep.GetShopInventory(user.ClientID ?? 0, item.Name) == null)
                {
                    rep.Add(item);
                }
            }
            rep.Save();
        }
Esempio n. 21
0
        /// <summary>
        /// Adiciona nova Webpages_Membership
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public static Int32 Add(string token, webpages_Membership param, painel_taxservices_dbContext _dbContext = null)
        {
            painel_taxservices_dbContext _db;

            if (_dbContext == null)
            {
                _db = new painel_taxservices_dbContext();
            }
            else
            {
                _db = _dbContext;
            }
            try
            {
                _db.webpages_Membership.Add(param);
                _db.SaveChanges();
                return(param.UserId);
            }
            catch (Exception e)
            {
                if (e is DbEntityValidationException)
                {
                    string erro = MensagemErro.getMensagemErro((DbEntityValidationException)e);
                    throw new Exception(erro.Equals("") ? "Falha ao adicionar membership" : erro);
                }
                throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message);
            }
            finally
            {
                if (_dbContext == null)
                {
                    // Fecha conexão
                    _db.Database.Connection.Close();
                    _db.Dispose();
                }
            }
        }
Esempio n. 22
0
        public JsonResult CreatMemberShip(string name, string pwd)
        {
            try
            {
                using (var db = new TTDBEntities())
                {
                    if ((from it in db.UserProfile
                         where it.UserName == name
                         select it).Count() > 0)
                    {
                        return(loginReturn(false, ""));
                    }

                    var nUser = new UserProfile()
                    {
                        UserName = name, Email = pwd
                    };
                    db.UserProfile.Add(nUser);
                    db.SaveChanges();
                    var nMem = new webpages_Membership()
                    {
                        Password = pwd, PasswordSalt = "", PasswordFailuresSinceLastSuccess = 0
                    };
                    nMem.UserId = nUser.UserId;
                    db.webpages_Membership.Add(nMem);
                    db.SaveChanges();

                    return(loginReturn(true, name));
                }
            }
            catch (System.Exception ex)
            {
                System.Console.WriteLine(ex);
                return(loginReturn(false, ""));
            }
        }
Esempio n. 23
0
        // POST api/registration
        public HttpResponseMessage Post(AuthenticationData value)
        {
            // checking whether new user already exist on database or not
            var subquery = from u in container.UserProfiles
                           join p in container.webpages_Membership
                           on u.UserId equals p.UserId
                           where u.UserName == value.Email
                           select u.UserId;

            var checkUser = (from t1 in container.STEPPY_API_m_user
                             where subquery.Contains(t1.id_user_shesop)
                             select t1).ToList();

            if (checkUser.Count != 0)
            {
                return(Request.CreateResponse <string>(HttpStatusCode.Forbidden, "User already exist!"));
            }

            //create new user and then save to database shesop
            UserProfile newUserProfile = new UserProfile()
            {
                UserName     = value.Email,
                NoTelp       = value.TelpNumber,
                Umur         = value.Age,
                BeratBadan   = value.Weight,
                Tinggi       = value.Height,
                JenisKelamin = value.Gender
            };

            container.UserProfiles.Add(newUserProfile);
            container.SaveChanges();

            webpages_Membership newUserWebpages = new webpages_Membership()
            {
                UserId      = newUserProfile.UserId,
                IsConfirmed = true,
                Password    = HashingPassword(value.Password),
                PasswordFailuresSinceLastSuccess = 0,
                PasswordSalt = "",
                PasswordVerificationToken = "",
                CreateDate          = DateTime.Now,
                PasswordChangedDate = DateTime.Now,
            };

            container.webpages_Membership.Add(newUserWebpages);
            container.SaveChanges();

            webpages_UsersInRoles newUserRole = new webpages_UsersInRoles()
            {
                UserId = newUserProfile.UserId,
                RoleId = 3,
            };

            container.webpages_UsersInRoles.Add(newUserRole);
            container.SaveChanges();

            DCHANNEL_User_Patient profile = new DCHANNEL_User_Patient()
            {
                Patient_Name   = newUserProfile.UserName,
                User_Id        = newUserProfile.UserId,
                Email          = newUserProfile.UserName,
                Join_date      = DateTime.Now,
                generated_guid = Guid.NewGuid().ToString()
            };

            container.DCHANNEL_User_Patient.Add(profile);
            container.SaveChanges();

            //end of create new user and then save to database shesop

            // register to table user steppy
            STEPPY_API_m_user newUser = new STEPPY_API_m_user()
            {
                display_name   = value.DisplayName,
                password       = newUserWebpages.Password,
                telp_number    = value.TelpNumber,
                join_date      = DateTime.Now,
                last_login     = DateTime.Now,
                id_user_shesop = newUserWebpages.UserId
                                 //id_country = countryData.id_country
            };


            container.STEPPY_API_m_user.Add(newUser);
            container.SaveChanges();

            //create new token data
            STEPPY_API_t_security_token tokenData = container.STEPPY_API_t_security_token.Create();

            tokenData.id_user        = newUser.id_user;
            tokenData.request_date   = DateTime.Now;
            tokenData.expired_date   = DateTime.Now.AddMonths(2);
            tokenData.is_logout      = false;
            tokenData.security_token = Guid.NewGuid().ToString();
            container.STEPPY_API_t_security_token.Add(tokenData);
            container.SaveChanges();

            // create user profile
            STEPPY_API_t_user_profile newProfile = container.STEPPY_API_t_user_profile.Create();

            newProfile.id_user               = newUser.id_user;
            newProfile.hi_score              = 0;
            newProfile.current_level         = 1;
            newProfile.current_experience    = 0;
            newProfile.next_level_experience = 100;
            newProfile.gold          = 0;
            newProfile.diamond       = 0;
            newProfile.current_score = 0;
            container.STEPPY_API_t_user_profile.Add(newProfile);
            container.SaveChanges();

            // get all friends data
            var friends   = container.STEPPY_API_v_user_friend.Where <STEPPY_API_v_user_friend>(friend => friend.id_user == tokenData.id_user).ToList();
            var frienddto = (from fr in friends
                             join pf in container.STEPPY_API_t_user_profile
                             on fr.id_user equals pf.id_user
                             select new FriendDataDTO
            {
                IdUser = fr.id_user,
                FriendIdUser = fr.friend_id_user,
                DisplayName = fr.display_name,
                HiScore = pf.hi_score,
                Level = pf.current_level,
                TelpNumber = fr.telp_number,
                FriendDetailUrl = Url.Link("TransactApi", new { controller = "friend", token = tokenData.security_token, id = fr.id_contact }),
                IdContact = fr.id_contact
            }).ToList();

            //create user data to be transferred to cient
            UserDataDTO userdto = new UserDataDTO()
            {
                IdUser       = newUser.id_user,
                IdUserShesop = newUser.id_user_shesop,
                Email        = newUserProfile.UserName,
                DisplayName  = newUser.display_name,
                TelpNumber   = newUser.telp_number,
                Gender       = newUserProfile.JenisKelamin,
                Age          = newUserProfile.Umur,
                Weight       = newUserProfile.BeratBadan,
                Height       = newUserProfile.Tinggi,
                JoinDate     = newUser.join_date,
                Token        = tokenData.security_token,

                /*UserContacts = container.STEPPY_API_m_contact
                 *              .Select(c => new UserContactDTO()
                 *              {
                 *                  IdContact = c.id_contact,
                 *                  TelpNumber = c.telp_number
                 *              }).ToList(),*/
                FriendProfiles = frienddto,
                Profile        = new ProfileDTO()
                {
                    IdUser              = newProfile.id_user,
                    IdProfile           = newProfile.id_profile,
                    DisplayName         = newUser.display_name,
                    HiScore             = newProfile.hi_score,
                    CurrentLevel        = newProfile.current_level,
                    CurrentExperience   = newProfile.current_experience,
                    NextLevelExperience = newProfile.next_level_experience,
                    Gold         = newProfile.gold,
                    CurrentScore = newProfile.current_score,
                    Diamond      = newProfile.diamond
                },
                FriendsUrl = Url.Link("TransactApi", new { controller = "friend", token = tokenData.security_token }),
                ProfileUrl = Url.Link("TransactApi", new { controller = "profile", token = tokenData.security_token }),
            };

            /*
             * //update registration status of this new user in contact info
             * SqlParameter[] sqlParams = new SqlParameter[2];
             * sqlParams[0] = new SqlParameter("@telp_number", newUser.telp_number);
             * sqlParams[1] = new SqlParameter("@countrycode", countryData.country_phone_prefix);
             * int effected = container.Database.ExecuteSqlCommand("UPDATE STEPPY_API_m_contact SET is_registered = 1 WHERE telp_number = '0' + @telp_number OR telp_number = @countrycode + @telp_number",
             *                                                   sqlParams);*/

            var response = Request.CreateResponse <UserDataDTO>(HttpStatusCode.Created, userdto);

            return(response);
        }