public User GetSigningUserByEmail(string emailAddress)
        {
            try
            {
                using (CraveatsDbContext craveatsDbContext = new CraveatsDbContext())
                {
                    DBCommonUtility dBCommonUtility   = new DBCommonUtility();
                    string          sqlCmdParamString = "";
                    SqlParameter[]  sqlParameters     = dBCommonUtility.GetSqlParameters(
                        new object[] {
                        emailAddress
                    },
                        out sqlCmdParamString
                        , true);
                    StringBuilder sbRawSQL = new StringBuilder("exec GetSigningUserByEmail");
                    sbRawSQL.AppendFormat(" {0}", sqlCmdParamString.Trim());

                    User newUser = craveatsDbContext.User.SqlQuery(
                        sql: sbRawSQL.ToString(),
                        parameters: sqlParameters
                        ).FirstOrDefault();

                    return(newUser);
                }
            }
            catch (Exception e) {
                throw e;
            }
        }
        internal int?RegisterNew(string email, string hashedPassword, string role)
        {
            try {
                Common.UserTypeEnum registeringRole = Common.CommonUtility.GetEnumValueFromDescription <Common.UserTypeEnum>(role);

                if (!(registeringRole.HasFlag(Common.UserTypeEnum.CraveatsDiner) ||
                      registeringRole.HasFlag(Common.UserTypeEnum.PartnerRestaurant)))
                {
                    throw new InvalidOperationException("Requested role could not be used in this context.");
                }

                using (CraveatsDbContext craveatsDbContext = new CraveatsDbContext()) {
                    DBCommonUtility dBCommonUtility   = new DBCommonUtility();
                    string          sqlCmdParamString = "";
                    SqlParameter[]  sqlParameters     = dBCommonUtility.GetSqlParameters(
                        new object[] {
                        email,
                        hashedPassword,
                        (int)registeringRole
                    },
                        out sqlCmdParamString
                        , true);
                    StringBuilder sbRawSQL = new StringBuilder("exec RegisterNewActiveUser");
                    sbRawSQL.AppendFormat(" {0}", sqlCmdParamString.Trim());

                    User newUser = craveatsDbContext.User.SqlQuery(
                        sql: sbRawSQL.ToString(),
                        parameters: sqlParameters
                        ).FirstOrDefault();

                    return(newUser?.Id);
                }
            }
            catch (Exception e) {
                throw e;
            }
        }
示例#3
0
        private static SessionTracking EditSessionTracking(SessionTracking sessionTracking)
        {
            SessionTracking savedSessionTracking = null;

            try
            {
                using (CraveatsDbContext craveatsDbContext = new CraveatsDbContext()) {
                    DBCommonUtility dBCommonUtility   = new DBCommonUtility();
                    string          sqlCmdParamString = "";
                    SqlParameter[]  sqlParameters     = dBCommonUtility.GetSqlParameters(
                        new object[] {
                        sessionTracking.SessionID,
                        sessionTracking.IPAddress,
                        sessionTracking.UserId,
                        null,
                        sessionTracking.LoggedInAt,
                        sessionTracking.LoggedOutAt
                    },
                        out sqlCmdParamString
                        , true);
                    StringBuilder sbRawSQL = new StringBuilder("exec EditSessionTracking");
                    sbRawSQL.AppendFormat(" {0}", sqlCmdParamString.Trim());

                    savedSessionTracking = craveatsDbContext.Database.SqlQuery <SessionTracking>(
                        sql: sbRawSQL.ToString(),
                        parameters: sqlParameters
                        ).FirstOrDefault();
                }
            }
            catch (Exception exception)
            {
                throw exception;
            }

            return(savedSessionTracking);
        }