コード例 #1
0
        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);
        }
コード例 #2
0
        //[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);
        }