예제 #1
0
        public void AddNewInvitation(UInt64 eventUniqueID, string inviteeEmail, EInvitationStatus invitationStatus)
        {
            if (GetInvitationStatus(eventUniqueID, inviteeEmail) != EInvitationStatus.eInvitationNull)
            {
                throw new System.ArgumentException("Invitation Exists alread on Event=" + eventUniqueID.ToString() + " and Email=" + inviteeEmail, "eventUniqueID");
            }

            try
            {
                SqlCommand sqlCommand = new SqlCommand("Insert Into EventsInvitations" +
                                                       " (EventUniqueID, InviteeEmail, EInvitationStatus) values ('" +
                                                       eventUniqueID.ToString() + "', '" +
                                                       inviteeEmail + "', '" +
                                                       invitationStatus.ToString() + "');");

                sqlCommand.Connection = mSqlConnection;

                int lineInserted = sqlCommand.ExecuteNonQuery();

                if (lineInserted != 1)
                {
                    throw new System.ArgumentException("Insert Into EventsInvitations eventUniqueID=" + eventUniqueID.ToString() + " failed", "eventUniqueID");
                }
            }
            catch (Exception exception)
            {
                throw exception;
            }
        }
예제 #2
0
        public List <string> GetEmailsInvitationsByStatus(UInt64 eventUniqueID, EInvitationStatus invitationStatus)
        {
            List <string> emailsInvitations = new List <string>();
            SqlDataReader sqlReader         = null;
            SqlCommand    sqlCommand        = null;

            try
            {
                sqlCommand = new SqlCommand("select * from EventsInvitations where EventUniqueID = @1 and EInvitationStatus = @2", mSqlConnection);
                SqlParameter sqlParameter = new SqlParameter("@1", SqlDbType.BigInt);
                sqlParameter.Value = eventUniqueID;
                sqlCommand.Parameters.Add(sqlParameter);

                sqlParameter       = new SqlParameter("@2", SqlDbType.VarChar);
                sqlParameter.Value = invitationStatus.ToString();
                sqlCommand.Parameters.Add(sqlParameter);

                sqlReader = sqlCommand.ExecuteReader();

                while (sqlReader.Read())
                {
                    emailsInvitations.Add(sqlReader["InviteeEmail"].ToString());
                }

                sqlReader.Close();
                return(emailsInvitations);
            }
            catch (Exception exception)
            {
                sqlReader.Close();
                throw exception;
            }
        }
예제 #3
0
        public EInvitationStatus GetInvitationStatus(UInt64 eventUniqueID, string inviteeEmail)
        {
            SqlDataReader sqlReader  = null;
            SqlCommand    sqlCommand = null;

            try
            {
                sqlCommand = new SqlCommand("select * from EventsInvitations where EventUniqueID = @1 and InviteeEmail = @2", mSqlConnection);
                SqlParameter sqlParameter = new SqlParameter("@1", SqlDbType.BigInt);
                sqlParameter.Value = eventUniqueID;
                sqlCommand.Parameters.Add(sqlParameter);

                sqlParameter       = new SqlParameter("@2", SqlDbType.VarChar);
                sqlParameter.Value = inviteeEmail;
                sqlCommand.Parameters.Add(sqlParameter);

                sqlReader = sqlCommand.ExecuteReader();
                if (sqlReader.Read())
                {
                    EInvitationStatus invitationStatus = (EInvitationStatus)Enum.Parse(typeof(EInvitationStatus), sqlReader["EInvitationStatus"].ToString());
                    sqlReader.Close();
                    return(invitationStatus);
                }
                else
                {
                    sqlReader.Close();
                    return(EInvitationStatus.eInvitationNull);
                }
            }
            catch (Exception exception)
            {
                sqlReader.Close();
                throw exception;
            }
        }
예제 #4
0
        public List <EventBase> GetInvitedEvents(string inviteeEmail, EInvitationStatus invitationStatus)
        {
            List <EventBase> invitedEvents = new List <EventBase>();
            SqlDataReader    sqlReader     = null;
            SqlCommand       sqlCommand    = null;

            try
            {
                sqlCommand = new SqlCommand("select * from EventsInvitations where InviteeEmail = @1 and EInvitationStatus = @2", mSqlConnection);
                SqlParameter sqlParameter = new SqlParameter("@1", SqlDbType.VarChar);
                sqlParameter.Value = inviteeEmail;
                sqlCommand.Parameters.Add(sqlParameter);

                sqlParameter       = new SqlParameter("@2", SqlDbType.VarChar);
                sqlParameter.Value = invitationStatus.ToString();
                sqlCommand.Parameters.Add(sqlParameter);

                sqlReader = sqlCommand.ExecuteReader();

                while (sqlReader.Read())
                {
                    invitedEvents.Add(new EventBase(Convert.ToUInt64(sqlReader["EventUniqueID"].ToString())));
                }

                sqlReader.Close();
                return(invitedEvents);
            }
            catch (Exception exception)
            {
                sqlReader.Close();
                throw exception;
            }
        }
        public void AcceptInvitation(UInt64 eventUniqueID, string inviteeEmail)
        {
            EInvitationStatus currentInvitationStatus = GetInvitationStatus(eventUniqueID, inviteeEmail);

            if (currentInvitationStatus != EInvitationStatus.eInvitationPending)
            {
                throw new System.ArgumentException("AcceptInvitation for EventUniqueID=" + eventUniqueID.ToString() + " failed", "EventUniqueID");
            }

            mEventsInvitationsDAL.SetInvitationStatus(eventUniqueID, inviteeEmail, EInvitationStatus.eInvitationAccepted);
        }
    public string ValidateEmailRegex(string email)
    {
        if (!mIsInit)
        {
            InitMembers();
        }

        if (mCurrentUser == null)
        {
            return("User is not Loaded");
        }

        if (email.Length == 0)
        {
            return("Please enter an email address");
        }

        if (!mEmailRegex.IsMatch(email.Trim()))
        {
            return(email + " is not a valid email address");
        }

        if (email == mCurrentUser.Email)
        {
            return("Sending an invitation to yourself???");
        }

        EInvitationStatus invitationStatus = mEventsInvitationsBO.GetInvitationStatus(mCurrentEvent.UniqueID, email);

        if (invitationStatus != EInvitationStatus.eInvitationNull)
        {
            if ((invitationStatus == EInvitationStatus.eInvitationPending) ||
                (invitationStatus == EInvitationStatus.eInvitationRejected))
            {
                return("Invitation to " + email + " was already sent!");
            }
            else
            {
                return("Invitation to " + email + " was already accepted!");
            }
        }

        return(email);
    }
예제 #7
0
        public void SetInvitationStatus(UInt64 eventUniqueID, string inviteeEmail, EInvitationStatus invitationStatus)
        {
            try
            {
                SqlCommand sqlCommand = new SqlCommand("Update EventsInvitations set " +
                                                       "EInvitationStatus='" + invitationStatus.ToString() + "' " +
                                                       "Where EventUniqueID='" + eventUniqueID.ToString() + "' and " +
                                                       "InviteeEmail='" + inviteeEmail + "';");

                sqlCommand.Connection = mSqlConnection;

                int lineInserted = sqlCommand.ExecuteNonQuery();

                if (lineInserted != 1)
                {
                    throw new System.ArgumentException("Update Into EventsInvitations Where EventUniqueID=" + eventUniqueID.ToString() + " failed", "EventUniqueID");
                }
            }
            catch (Exception exception)
            {
                throw exception;
            }
        }