public UserRegistrationStatusDTO AddProject(string partnerName, UserDetailsTDO user) { UserRegistrationStatusDTO retObj = new UserRegistrationStatusDTO(); try { // get requestIP address var request = HttpContext.Current.Request; string requestIpAddress = request.UserHostAddress; // additional user info List <KeyValuePair <string, string> > additionalData = (from T in request.Headers.AllKeys where T.ToLower().StartsWith("form-data-") select new KeyValuePair <string, string>( T.Substring(10), request.Headers[T].ToString() )).ToList(); // Register User int dbErrorCode; string dbErrorMsg; int userId = UserDetailsFacade.RegisterUser(user, partnerName, additionalData, requestIpAddress, out dbErrorCode, out dbErrorMsg); if (userId != -1) { retObj.UserId = userId; retObj.Status = true; retObj.Message = string.Empty; } else if (dbErrorCode == 0 && !string.IsNullOrEmpty(dbErrorMsg)) { retObj.Message = dbErrorMsg; } else { throw new Exception(string.Format("UserRegistration() - Database ERROR: ErrorCode: {0}, ErrorMsg: {1}", dbErrorCode, dbErrorMsg)); } } catch (Exception exc) { log.Error(exc); retObj = new UserRegistrationStatusDTO(); } return(retObj); }
//[ApiExplorerSettings(IgnoreApi = true)] public UserRegistrationStatusDTO RegisterUser(UserDetailsTDO user) { UserRegistrationStatusDTO retVal = new UserRegistrationStatusDTO() { Status = false }; XDocument xDoc = new XDocument(); int errorCode; string errorMsg, requestIpAddress = string.Empty; try { if (string.IsNullOrWhiteSpace(user.CompanyDetails.Name)) { user.CompanyDetails = new CompanyDetailsDTO(); } // get XML based on UserRegistrationDTO object using (var writer = xDoc.CreateWriter()) { var serializer = new DataContractSerializer(user.GetType()); serializer.WriteObject(writer, user); } try { // get requestIP address requestIpAddress = HttpContext.Current.Request.UserHostAddress; // additional user info XNamespace xNamespace = xDoc.Root.Attribute("xmlns").Value; var request = HttpContext.Current.Request; xDoc.Root.LastNode.AddAfterSelf(new XElement(xNamespace + "additional-data", from T in request.Headers.AllKeys.Where(T => T.StartsWith("form-data-")).ToList() select new XElement(xNamespace + "item", new XAttribute("type", T.Substring(10)), request.Headers[T].ToString() ))); } catch { } // add a user to repository int userId = UserDetailsFacade.AddUserDetails(xDoc, requestIpAddress, out errorCode, out errorMsg); if (userId != -1) { retVal = new UserRegistrationStatusDTO() { UserId = userId, Status = true }; return(retVal); } if (errorCode == 0 && !string.IsNullOrEmpty(errorMsg)) { retVal.Message = errorMsg; } else { throw new Exception(string.Format("Add new UserDeatils() - Database ERROR: ErrorCode: {0}, ErrorMsg: {1}", errorCode, errorMsg)); } } catch (Exception exc) { log.Error(exc); retVal.Message = "The server encountered an error processing registration. Please try again later."; } return(retVal); }