public object Post(ErrorLogCreateRequest request) { string googleId = null; User existingUser = new User(); if (String.IsNullOrEmpty(request.AuthToken) == false) { try { googleId = UserService.GetGoogleId(request.AuthToken, AuthTokenRepository, UserRepository); existingUser = UserRepository.GetUserByGoogleId(googleId); } // ReSharper disable EmptyGeneralCatchClause catch // ReSharper restore EmptyGeneralCatchClause { } } ErrorLogRepository.Add(new ErrorLog { Application = request.Application, PhoneId = request.PhoneId, Message = request.ErrorMessage, StackTrace = request.StackTrace, CreateDate = DateTimeOffset.Now, UserId = 0 < existingUser.UserId ? existingUser.UserId : (int?) null, GoogleId = googleId }); return new HttpStatusResult(HttpStatusCode.OK); }
private static void AddOrUpdateTheUser(User user, UserRepository userRepository) { var existingUser = userRepository.GetUserByGoogleId(user.GoogleId); if (existingUser == null) { user.CreateDate = DateTimeOffset.Now; userRepository.Add(user); } else { if (existingUser.DisplayName != user.DisplayName || existingUser.GivenName != user.GivenName || existingUser.FamilyName != user.FamilyName || existingUser.Link != user.Link || existingUser.Picture != user.Picture || existingUser.Gender != user.Gender || existingUser.Locale != user.Locale) { existingUser.DisplayName = user.DisplayName; existingUser.GivenName = user.GivenName; existingUser.FamilyName = user.FamilyName; existingUser.Link = user.Link; existingUser.Picture = user.Picture; existingUser.Gender = user.Gender; existingUser.Locale = user.Locale; existingUser.UpdateDate = DateTimeOffset.Now; userRepository.Update(existingUser); } } }