public UserResponseJSON getUserDetails(int userId) { UserResponseJSON res = new UserResponseJSON(); using (MovieEntities db = new MovieEntities()) { var usr = (from u in db.Users where u.Users_ID == userId select new { UserId = u.Users_ID, firstName = u.firstName, lastName = u.lastName, email = u.email, address = u.address, city = u.city, state = u.state, country = u.country, zipcode = u.zipcode, ccNo = u.ccNo, cvc = u.cvc, ccexpiration = u.ccexpiration, createdDate = u.createdDate }).ToList(); foreach (var item in usr) { res.UserId = item.UserId; res.firstName = item.firstName; res.lastName = item.lastName; res.email = item.email; res.address = item.address; res.city = item.city; res.state = item.state; res.country = item.country; res.zipcode = item.zipcode; res.ccNo = item.ccNo; res.cvc = item.cvc; res.ccexpiration = item.ccexpiration; if (item.createdDate.HasValue) { res.createdDate = item.createdDate.Value.ToString("g"); } } var usrexternallogins = db.UsersSocialMedias.Where(x => x.Users_ID == userId).ToList(); List <AuthData> lst = new List <AuthData>(); foreach (var item in usrexternallogins) { AuthData ad = new AuthData(); ad.network = item.network; ad.socialMediaAccessToken = item.socialMediaAccessToken; ad.socialMediaUserId = item.socialMediaUserId; lst.Add(ad); } res.SocialMediaLogins = lst; return(res); } }
public UpdateUserResponseJSON updateUserDetails(UpdateUserRequestJSON req) { using (MovieEntities db = new MovieEntities()) { var query = db.Users.Where(x => x.Users_ID == req.userId).FirstOrDefault(); if (query != null) { query.address = !string.IsNullOrWhiteSpace(req.address) ? req.address : null; query.ccexpiration = !string.IsNullOrWhiteSpace(req.ccexpiration) ? req.ccexpiration : null; query.ccNo = !string.IsNullOrWhiteSpace(req.ccNo) ? req.ccNo : null; query.city = !string.IsNullOrWhiteSpace(req.city) ? req.city : null; query.country = !string.IsNullOrWhiteSpace(req.country) ? req.country : null; query.cvc = !string.IsNullOrWhiteSpace(req.cvc) ? req.cvc : null; //query.email = !string.IsNullOrWhiteSpace(req.email) ? req.email : null; query.firstName = !string.IsNullOrWhiteSpace(req.firstName) ? req.firstName : null; query.lastName = !string.IsNullOrWhiteSpace(req.lastName) ? req.lastName : null; query.state = !string.IsNullOrWhiteSpace(req.state) ? req.state : null; query.zipcode = !string.IsNullOrWhiteSpace(req.zipcode) ? req.zipcode : null; if (!string.IsNullOrWhiteSpace(req.password)) { string salt = query.salt; string hashedpassword = ComputeHash(salt, req.password); query.passwordHash = hashedpassword; } query.createdDate = DateTime.UtcNow; db.SaveChanges(); } if (req.SocialMediaLogins.Count > 0) { // Delete existing and insert from UsersSocialMedia var result = (from r in db.UsersSocialMedias where r.Users_ID == req.userId select r).ToList(); if (result.Count() > 0) { foreach (UsersSocialMedia p in result) { db.UsersSocialMedias.Remove(p); } db.SaveChanges(); } // Insert foreach (var item in req.SocialMediaLogins) { UsersSocialMedia usm = new UsersSocialMedia(); usm.network = item.network; usm.Users_ID = req.userId; usm.socialMediaAccessToken = item.socialMediaAccessToken; usm.socialMediaUserId = item.socialMediaUserId; db.UsersSocialMedias.Add(usm); db.SaveChanges(); } } } // return whole user object except password. UserResponseJSON usr = getUserDetails(req.userId); UpdateUserResponseJSON res = new UpdateUserResponseJSON(); res.address = usr.address; res.ccexpiration = usr.ccexpiration; res.ccNo = usr.ccNo; res.city = usr.city; res.country = usr.country; res.createdDate = usr.createdDate; res.cvc = usr.cvc; res.email = usr.email; res.firstName = usr.firstName; res.lastName = usr.lastName; res.SocialMediaLogins = usr.SocialMediaLogins; res.state = usr.state; res.zipcode = usr.zipcode; return(res); }