/// <summary>
 ///
 /// CREATOR: Steve Coonrod
 /// CREATED: 3\08\2020
 /// APPROVER: Ryan Morganti
 ///
 /// This is the no-argument constructor needed for the programs initialization
 ///
 /// </summary>
 /// <remarks>
 ///
 /// UPDATER: NA
 /// UPDATED: NA
 /// UPDATE: NA
 ///
 /// </remarks>
 public EventApprovalForm()
 {
     _eventManager = new PUEventManager();
     _user         = new PetUniverseUser();
     _event        = new PUEvent();
     InitializeComponent();
 }
        /// <summary>
        ///
        /// CREATOR: Steve Coonrod
        /// CREATED: 2020-02-09
        /// APPROVER: Ryan Morganti
        ///
        /// This UpdateEventDetails method is used to Update event data through
        /// a stored procedure sp_update_event in the database
        ///
        /// It returns true if the edit was successful
        ///
        /// </summary>
        /// <remarks>
        ///
        /// Updater: NA
        /// Updated: NA
        /// Update: NA
        ///
        /// </remarks>
        /// <param name="oldEvent"></param>
        /// <param name="newEvent"></param>
        /// <returns> bool successful </returns>
        public bool UpdateEventDetails(PUEvent oldEvent, PUEvent newEvent)
        {
            bool successful   = false;
            int  rowsEffected = 0;

            var conn = DBConnection.GetConnection();

            var cmd = new SqlCommand("sp_update_event", conn);

            cmd.CommandType = CommandType.StoredProcedure;

            //Parameters with values
            cmd.Parameters.AddWithValue("@EventID", oldEvent.EventID);
            cmd.Parameters.AddWithValue("@OldCreatedByID", oldEvent.CreatedByID);
            cmd.Parameters.AddWithValue("@OldDateCreated", oldEvent.DateCreated);
            cmd.Parameters.AddWithValue("@OldEventName", oldEvent.EventName);
            cmd.Parameters.AddWithValue("@OldEventTypeID", oldEvent.EventTypeID);
            cmd.Parameters.AddWithValue("@OldEventDateTime", oldEvent.EventDateTime);
            cmd.Parameters.AddWithValue("@OldEventAddress", oldEvent.Address);
            cmd.Parameters.AddWithValue("@OldEventCity", oldEvent.City);
            cmd.Parameters.AddWithValue("@OldEventState", oldEvent.State);
            cmd.Parameters.AddWithValue("@OldEventZipcode", oldEvent.Zipcode);
            cmd.Parameters.AddWithValue("@OldEventPictureFileName", oldEvent.BannerPath);
            cmd.Parameters.AddWithValue("@OldStatus", oldEvent.Status);
            cmd.Parameters.AddWithValue("@OldDescription", oldEvent.Description);

            cmd.Parameters.AddWithValue("@NewCreatedByID", newEvent.CreatedByID);
            cmd.Parameters.AddWithValue("@NewDateCreated", newEvent.DateCreated);
            cmd.Parameters.AddWithValue("@NewEventName", newEvent.EventName);
            cmd.Parameters.AddWithValue("@NewEventTypeID", newEvent.EventTypeID);
            cmd.Parameters.AddWithValue("@NewEventDateTime", newEvent.EventDateTime);
            cmd.Parameters.AddWithValue("@NewEventAddress", newEvent.Address);
            cmd.Parameters.AddWithValue("@NewEventCity", newEvent.City);
            cmd.Parameters.AddWithValue("@NewEventState", newEvent.State);
            cmd.Parameters.AddWithValue("@NewEventZipcode", newEvent.Zipcode);
            cmd.Parameters.AddWithValue("@NewEventPictureFileName", newEvent.BannerPath);
            cmd.Parameters.AddWithValue("@NewStatus", newEvent.Status);
            cmd.Parameters.AddWithValue("@NewDescription", newEvent.Description);

            try
            {
                conn.Open();
                rowsEffected = cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conn.Close();
            }

            //Verify that exactly one row was affected
            if (rowsEffected == 1)
            {
                successful = true;
            }
            return(successful);
        }
Exemplo n.º 3
0
 /// <summary>
 /// CREATOR: Steve Coonrod, Matt Deaton
 /// CREATED 2/10/2020
 /// APPROVER: Ryan Morganti
 ///
 /// Constructor for Editing Events. (UC-607)
 /// Must base functionality on user's role
 /// Takes in an existing Event, as well as the eventManager interface and user object involved
 /// Sets the Edit Mode to true
 ///
 /// </summary>
 /// <remarks>
 ///
 /// UPDATER: NA
 /// UPDATED: NA
 /// UPDATE: NA
 ///
 /// </remarks>
 public CreateEventForm(IPUEventManager eventManager, PetUniverseUser user, EventMgmt eventMgmt, PUEvent puEvent)
 {
     _eventManager = eventManager;
     _user         = user;
     _event        = puEvent;
     _editMode     = true;
     _eventMgmt    = eventMgmt;
     InitializeComponent();
 }
Exemplo n.º 4
0
        public ActionResult Create(PUEvent puEvent)
        {
            ApplicationUserManager userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>();
            var userid = User.Identity.GetUserId();
            int userID = 0;

            Int32.TryParse(userid, out userID);
            if (ModelState.IsValid)
            {
                try
                {
                    PetUniverseUser current = _userManager.getUserByEmail(Membership.GetUser().Email);
                    puEvent.Status      = "PendingApproval";
                    puEvent.DateCreated = DateTime.Now;
                    puEvent.BannerPath  = "default.png";
                    puEvent.CreatedByID = userID;
                    puEvent.EventID     = _eventManager.AddEvent(puEvent);
                    if (puEvent.EventID != 0)
                    {
                        Request request = new Request()
                        {
                            DateCreated      = DateTime.Now,
                            Open             = true,
                            RequestingUserID = puEvent.CreatedByID,
                            RequestTypeID    = "Event"
                        };
                        request.RequestID = _eventManager.AddRequest(request);
                        if (request.RequestID != 0)
                        {
                            EventRequest eventRequest = new EventRequest()
                            {
                                Active           = true,
                                DateCreated      = DateTime.Now,
                                EventID          = puEvent.EventID,
                                Open             = request.Open,
                                RequestID        = request.RequestID,
                                RequestingUserID = request.RequestingUserID,
                                RequestTypeID    = request.RequestTypeID
                            };

                            _eventManager.AddEventRequest(eventRequest);
                        }
                    }

                    return(RedirectToAction("Index"));
                }
                catch
                {
                    return(View());
                }
            }

            ViewBag.EventTypes = _eventTypes;
            return(View(puEvent));
        }
        /// <summary>
        ///
        /// CREATOR: Steve Coonrod, Matt Deaton
        /// CREATED: 2020-02-06
        /// APPROVER: Ryan Morganti
        ///
        /// This InsertEvent method is used to access data through a stored
        /// procedure sp_insert_event in the database
        /// It returns the new Event's EventID
        ///
        /// </summary>
        /// <remarks>
        ///
        /// Updater: NA
        /// Updated: NA
        /// Update: NA
        ///
        /// </remarks>
        /// <param name="puEvent"></param>
        /// <returns> int eventID </returns>
        public int InsertEvent(PUEvent puEvent)
        {
            int eventID = 0;
            //Connection
            var conn = DBConnection.GetConnection();

            var cmd = new SqlCommand("sp_insert_event");

            cmd.Connection  = conn;
            cmd.CommandType = CommandType.StoredProcedure;

            //Parameters
            cmd.Parameters.Add("@CreatedByID", SqlDbType.Int);
            cmd.Parameters.Add("@DateCreated", SqlDbType.DateTime);
            cmd.Parameters.Add("@EventName", SqlDbType.NVarChar, 150);
            cmd.Parameters.Add("@EventTypeID", SqlDbType.NVarChar, 50);
            cmd.Parameters.Add("@EventDateTime", SqlDbType.DateTime);
            cmd.Parameters.Add("@EventAddress", SqlDbType.NVarChar, 200);
            cmd.Parameters.Add("@EventCity", SqlDbType.NVarChar, 50);
            cmd.Parameters.Add("@EventState", SqlDbType.NVarChar, 50);
            cmd.Parameters.Add("@EventZipcode", SqlDbType.NVarChar, 15);
            cmd.Parameters.Add("@EventPictureFileName", SqlDbType.NVarChar, 250);
            cmd.Parameters.Add("@Status", SqlDbType.NVarChar, 50);
            cmd.Parameters.Add("@Description", SqlDbType.NVarChar, 500);

            //Values
            cmd.Parameters["@CreatedByID"].Value          = puEvent.CreatedByID;
            cmd.Parameters["@DateCreated"].Value          = puEvent.DateCreated;
            cmd.Parameters["@EventName"].Value            = puEvent.EventName;
            cmd.Parameters["@EventTypeID"].Value          = puEvent.EventTypeID;
            cmd.Parameters["@EventDateTime"].Value        = puEvent.EventDateTime;
            cmd.Parameters["@EventAddress"].Value         = puEvent.Address;
            cmd.Parameters["@EventCity"].Value            = puEvent.City;
            cmd.Parameters["@EventState"].Value           = puEvent.State;
            cmd.Parameters["@EventZipcode"].Value         = puEvent.Zipcode;
            cmd.Parameters["@EventPictureFileName"].Value = puEvent.BannerPath;
            cmd.Parameters["@Status"].Value      = puEvent.Status;
            cmd.Parameters["@Description"].Value = puEvent.Description;

            try
            {
                conn.Open();
                eventID = Convert.ToInt32(cmd.ExecuteScalar());
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conn.Close();
            }
            return(eventID);
        }
 /// <summary>
 ///
 /// CREATOR: Steve Coonrod
 /// CREATED: 2\08\2020
 /// APPROVER: Ryan Morganti
 ///
 /// This is the full argument constructor which is used for Reviewing an Event (UC-619)
 /// It will set the approveMode to true when called
 ///
 /// </summary>
 /// <remarks>
 ///
 /// UPDATER: NA
 /// UPDATED: NA
 /// UPDATE: NA
 ///
 /// </remarks>
 /// <param name="eventManager"></param>
 /// <param name="user"></param>
 /// <param name="puEvent"></param>
 /// <param name="eventMgmt"></param>
 /// <param name="approveMode"></param>
 public EventApprovalForm(IPUEventManager eventManager, PetUniverseUser user,
                          PUEvent puEvent, EventMgmt eventMgmt, bool approveMode)
 {
     _eventManager         = eventManager;
     _user                 = user;
     _event                = puEvent;
     _approveMode          = approveMode;
     _eventMgmt            = eventMgmt;
     _volunteerTaskManager = new VolunteerTaskManager();
     InitializeComponent();
 }
        private bool _approveMode    = false; //To track Review vs View Mode

        /// <summary>
        ///
        /// CREATOR: Steve Coonrod
        /// CREATED: 2\08\2020
        /// APPROVER: Ryan Morganti
        ///
        /// This is the constructor that will load this page for Viewing an Event's details
        /// It keeps the approveMode as false
        ///
        /// </summary>
        /// <remarks>
        ///
        /// UPDATER: NA
        /// UPDATED: NA
        /// UPDATE: NA
        ///
        /// </remarks>
        /// <param name="eventManager"></param>
        /// <param name="user"></param>
        /// <param name="puEvent"></param>
        /// <param name="eventMgmt"></param>
        public EventApprovalForm(IPUEventManager eventManager, PetUniverseUser user,
                                 PUEvent puEvent, EventMgmt eventMgmt)
        {
            _eventManager   = eventManager;
            _requestManager = new RequestManager();
            _user           = user;
            _event          = puEvent;
            _eventMgmt      = eventMgmt;

            InitializeComponent();
        }
 /// <summary>
 ///
 /// CREATOR: Steve Coonrod
 /// CREATED: 2020/2/06
 /// APPROVER: Ryan Morganti
 ///
 /// The EditEvent method that attempts to edit an existing event.
 ///
 /// </summary>
 /// <remarks>
 ///
 /// UPDATER: NA
 /// UPDATED: NA
 /// UPDATE: NA
 ///
 /// </remarks>
 /// <param name="oldEvent"></param>
 /// <param name="newEvent"></param>
 /// <returns></returns>
 public bool EditEvent(PUEvent oldEvent, PUEvent newEvent)
 {
     try
     {
         return(_eventAccessor.UpdateEventDetails(oldEvent, newEvent));
     }
     catch (Exception ex)
     {
         throw new ApplicationException("Data Unavailable", ex);
     }
 }
Exemplo n.º 9
0
        /// <summary>
        ///
        /// Creator: Steve Coonrod
        /// Created: 02/06/2020
        /// Approver: Ryan Morganti
        ///
        /// The method used to add a test event to the fake repository
        /// Returns false if failed
        /// Returns true if successful
        ///
        /// </summary>
        /// <remarks>
        ///
        /// Updater: NA
        /// Updated: NA
        /// Update: NA
        ///
        /// </remarks>
        /// <param name="eventID"></param>
        /// <returns></returns>
        public bool DeleteEvent(int eventID)
        {
            bool    successfulDelete = false;
            PUEvent eventToBeDeleted = puEvents.Find(delegate(PUEvent e) { return(e.EventID == eventID); });

            puEvents.Remove(eventToBeDeleted);
            if (puEvents.Count == 3)
            {
                successfulDelete = true;
            }
            return(successfulDelete);
        }
Exemplo n.º 10
0
        /// <summary>
        ///
        /// CREATOR: Steve Coonrod
        /// CREATED: 3/15/2020
        /// APPROVER: Ryan Morganti
        ///
        /// The data accessor method for Selecting a List of Events by the Status
        ///
        /// </summary>
        /// <remarks>
        ///
        /// Updater: NA
        /// Updated: NA
        /// Update: NA
        ///
        /// </remarks>
        /// <param name="status"></param>
        /// <returns></returns>
        public List <PUEvent> SelectEventsByStatus(string status)
        {
            List <PUEvent> retrievedEvents = new List <PUEvent>();

            var conn = DBConnection.GetConnection();

            var cmd = new SqlCommand("sp_select_events_by_status", conn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@Status", status);

            try
            {
                conn.Open();
                var reader = cmd.ExecuteReader();

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        PUEvent retrievedEvent = new PUEvent();

                        retrievedEvent.EventID       = reader.GetInt32(0);
                        retrievedEvent.CreatedByID   = reader.GetInt32(1);
                        retrievedEvent.DateCreated   = reader.GetDateTime(2);
                        retrievedEvent.EventName     = reader.GetString(3);
                        retrievedEvent.EventTypeID   = reader.GetString(4);
                        retrievedEvent.EventDateTime = reader.GetDateTime(5);
                        retrievedEvent.Address       = reader.GetString(6);
                        retrievedEvent.City          = reader.GetString(7);
                        retrievedEvent.State         = reader.GetString(8);
                        retrievedEvent.Zipcode       = reader.GetString(9);
                        retrievedEvent.BannerPath    = reader.GetString(10);
                        retrievedEvent.Status        = reader.GetString(11);
                        retrievedEvent.Description   = reader.GetString(12);

                        retrievedEvents.Add(retrievedEvent);
                    }
                }
                reader.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conn.Close();
            }
            return(retrievedEvents);
        }
Exemplo n.º 11
0
        }     //End Submit click event

        /// <summary>
        /// CREATOR: Steve Coonrod
        /// CREATED 2/10/2020
        /// APPROVER: Ryan Morganti
        ///
        /// Edit Event Click Event. Submits Form Data for processing.
        ///
        /// </summary>
        /// <remarks>
        ///
        /// UPDATER: NA
        /// UPDATED: NA
        /// UPDATE: NA
        ///
        /// </remarks>
        private void BtnSubmitEdit_Click(object sender, RoutedEventArgs e)
        {
            //This method will validate the field data and return the values in a string array
            //The validated field data strings will be assigned to a new Event Object
            //To be passed to the DB through the eventManager interface
            string[] validatedFieldData = validateFormData();
            if (validatedFieldData != null)
            {
                try
                {
                    //Create an Event object from the validated fields
                    PUEvent newEvent = new PUEvent()
                    {
                        CreatedByID   = Int32.Parse(validatedFieldData[0]),
                        DateCreated   = DateTime.Parse(validatedFieldData[1]),
                        EventName     = validatedFieldData[2],
                        EventTypeID   = validatedFieldData[3],
                        EventDateTime = DateTime.Parse(validatedFieldData[4]),
                        Address       = validatedFieldData[5],
                        City          = validatedFieldData[6],
                        State         = validatedFieldData[7],
                        Zipcode       = validatedFieldData[8],
                        BannerPath    = validatedFieldData[9],
                        Status        = validatedFieldData[10],
                        Description   = validatedFieldData[11]
                    };

                    if (_eventManager.EditEvent(_event, newEvent))
                    {
                        MessageBox.Show("Event: " + newEvent.EventName
                                        + " has been updated.");
                        _eventMgmt.frAllEvents.Content      = new ListAllEvents(_eventManager, _eventMgmt);
                        _eventMgmt.frPendingEvents.Content  = new ListPendingEvents(_eventManager, _eventMgmt);
                        _eventMgmt.frApprovedEvents.Content = new ListApprovedEvents(_eventManager, _eventMgmt);
                        CloseThisPage();
                    }
                    else
                    {
                        MessageBox.Show("An unknown error has occurred.\nPlease try again later.");
                        CloseThisPage();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("We're Sorry.\n" +
                                    "There was an error with the process.\n" +
                                    "Please try again later.\n" + ex.Message);
                    CloseThisPage();
                }
            }
        }
        /// <summary>
        ///
        /// CREATOR: Steve Coonrod
        /// CREATED: 2020/2/06
        /// APPROVER: Ryan Morganti
        ///
        /// The AddEvent method that attempt to add a new event.
        ///
        /// </summary>
        /// <remarks>
        ///
        /// UPDATER: NA
        /// UPDATED: NA
        /// UPDATE: NA
        ///
        /// </remarks>
        /// <param name="puEvent"></param>
        /// <returns> bool result true if successful </returns>
        public int AddEvent(PUEvent puEvent)
        {
            int eventID = 0;

            try
            {
                eventID = _eventAccessor.InsertEvent(puEvent);
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Data Unavailable", ex);
            }
            return(eventID);
        }
Exemplo n.º 13
0
        /// <summary>
        ///
        /// Creator: Steve Coonrod, Matt Deaton
        /// Created: 02/06/2020
        /// Approver: Ryan Morganti
        ///
        /// The method used to add a test event to the fake repository
        /// Returns 0 if failed
        /// Returns 1 if successful
        ///
        /// </summary>
        /// <remarks>
        ///
        /// Updater: NA
        /// Updated: NA
        /// Update: NA
        ///
        /// </remarks>
        /// <param name="puEvent"></param>
        /// <returns>result</returns>
        public int InsertEvent(PUEvent puEvent)
        {
            //Actual method returns the scope_identity EventID
            int result = 0;

            if (puEvent.EventName.Length < 8 || puEvent.EventName.Length > 150)
            {
                throw new ApplicationException("The Event Name value was outside the acceptable range.");
            }
            else if (puEvent.EventDateTime < DateTime.Now.AddDays(14))
            {
                throw new ApplicationException("The event date is too close. Must be at least 14 days in the future.");
            }
            else if (puEvent.Address.Length > 200 || puEvent.Address.Length < 6)
            {
                throw new ApplicationException("The address value was not within the acceptable range.");
            }
            else if (puEvent.City.Length < 2 || puEvent.City.Length > 50)
            {
                throw new ApplicationException("The city value was not within acceptable range.");
            }
            else if (puEvent.Zipcode.Length < 5 || puEvent.Zipcode.Length > 11)
            {
                throw new ApplicationException("The zipcode is not within acceptable range.");
            }
            else if (puEvent.BannerPath.Length < 5 || puEvent.BannerPath.Length > 250)
            {
                throw new ApplicationException("The picture file name is not within acceptable range.");
            }
            else if (!puEvent.BannerPath.ToLower().Contains(".jpg") && !puEvent.BannerPath.ToLower().Contains(".png"))
            {
                throw new ApplicationException("The picture file name is missing the file extension.");
            }
            else if (puEvent.Description.Length < 2 || puEvent.Description.Length > 500)
            {
                throw new ApplicationException("The discription value is not within the acceptable range.");
            }
            else
            {
                puEvents.Add(puEvent);
                if (puEvents.Count == 5)
                {
                    result = 1;
                }
            }
            return(result);
        }
Exemplo n.º 14
0
 /// <summary>
 ///
 /// NAME: Steve Coonrod
 /// DATE: 2020-03-04
 /// CHECKED BY:
 ///
 /// This is the constructor for the Delete Event form
 ///
 /// Updated By:
 /// Updated On:
 ///
 /// </summary>
 /// <param name="eventManager"></param>
 /// <param name="puEvent"></param>
 public frmDeleteEvent(IPUEventManager eventManager, PUEvent puEvent)
 {
     _eventManager = eventManager;
     _event        = puEvent;
     InitializeComponent();
 }
Exemplo n.º 15
0
        /// <summary>
        /// CREATOR: Steve Coonrod, Matt Deaton
        /// CREATED 2/10/2020
        /// APPROVER: Ryan Morganti
        ///
        /// Main Click Event to submit an Event. Submits Form Data for processing.
        ///
        /// </summary>
        /// <remarks>
        ///
        /// UPDATER: NA
        /// UPDATED: NA
        /// UPDATE: NA
        ///
        /// </remarks>
        private void BtnSubmitCreate_Click(object sender, RoutedEventArgs e)
        {
            int eventID;   //Will be returned with the Event
            int requestID; //Will be returned with the Request


            //This method will validate the field data and return the values in a string array
            //The validated field data strings will be assigned to a new Event Object
            //To be passed to the DB through the eventManager interface
            string[] validatedFieldData = validateFormData();
            if (validatedFieldData != null)
            {
                try
                {
                    //Create an Event object from the validated fields
                    PUEvent newEvent = new PUEvent()
                    {
                        CreatedByID   = Int32.Parse(validatedFieldData[0]),
                        DateCreated   = DateTime.Parse(validatedFieldData[1]),
                        EventName     = validatedFieldData[2],
                        EventTypeID   = validatedFieldData[3],
                        EventDateTime = DateTime.Parse(validatedFieldData[4]),
                        Address       = validatedFieldData[5],
                        City          = validatedFieldData[6],
                        State         = validatedFieldData[7],
                        Zipcode       = validatedFieldData[8],
                        BannerPath    = validatedFieldData[9],
                        Status        = validatedFieldData[10],
                        Description   = validatedFieldData[11]
                    };

                    //Check the User's Role

                    //In any case, the event is created...
                    //But a DC will create one with the status Approved, and will not need to create a request
                    if (_user.PURoles.Contains("Donation Coordinator"))
                    {
                        newEvent.Status = (statusOptions.Approved.ToString());
                        eventID         = _eventManager.AddEvent(newEvent);
                        if (eventID != 0)
                        {
                            MessageBox.Show("Event: " + newEvent.EventName + "\n"
                                            + "has been created.");
                        }
                    }
                    else // If the user does not have the Donation Coordinator Role...
                    {
                        newEvent.Status = (statusOptions.PendingApproval.ToString());
                        eventID         = _eventManager.AddEvent(newEvent);
                        if (eventID != 0)
                        {
                            //Create A Request
                            Request newRequest = new Request()
                            {
                                DateCreated      = DateTime.Now,
                                RequestTypeID    = "Event",
                                RequestingUserID = _user.PUUserID,
                                Open             = true
                            };
                            requestID = _eventManager.AddRequest(newRequest);
                            if (requestID != 0)
                            {
                                //Will need to create an eventRequest
                                EventRequest newEventRequest = new EventRequest()
                                {
                                    EventID           = eventID,
                                    RequestID         = requestID,
                                    DisapprovalReason = "",
                                    DesiredVolunteers = 0,
                                    ReviewerID        = 0,
                                    Active            = true
                                };

                                //Verify that all tables were updated
                                int rowsEffectedByAddRequestEvent =
                                    _eventManager.AddEventRequest(newEventRequest);
                                if (rowsEffectedByAddRequestEvent == 1 &&
                                    eventID != 0 &&
                                    requestID != 0)
                                {
                                    MessageBox.Show("Event: " + newEvent.EventName
                                                    + " has been created. \nA request has been made to review this event.");
                                    _eventMgmt.frAllEvents.Content      = new ListAllEvents(_eventManager, _eventMgmt);
                                    _eventMgmt.frPendingEvents.Content  = new ListPendingEvents(_eventManager, _eventMgmt);
                                    _eventMgmt.frApprovedEvents.Content = new ListApprovedEvents(_eventManager, _eventMgmt);
                                    CloseThisPage();
                                }
                                else
                                {
                                    MessageBox.Show("An unknown error has occurred.\nPlease try again later.");
                                    _eventManager.DeleteEvent(eventID);
                                    CloseThisPage();
                                }
                            }
                        } //End if for non-DC member Event creation
                    }     //End if-else for role-based implementation
                }         //End try
                catch (Exception ex)
                {
                    MessageBox.Show("We're Sorry.\n" +
                                    "There was an error with the process.\n" +
                                    "Please try again later.\n" + ex.Message);
                    CloseThisPage();
                }
            } //End if(validatedFieldData[] != null)
        }     //End Submit click event
Exemplo n.º 16
0
        /// <summary>
        ///
        /// Creator: Steve Coonrod
        /// Created: 02/06/2020
        /// Approver: Ryan Morganti
        ///
        /// The method used to Edit a test event in the fake repository
        /// Returns false if failed
        /// Returns true if successful
        ///
        /// </summary>
        /// <remarks>
        ///
        /// Updater: NA
        /// Updated: NA
        /// Update: NA
        ///
        /// </remarks>
        /// <param name="oldEvent"></param>
        /// <param name="newEvent"></param>
        /// <returns></returns>
        public bool UpdateEventDetails(PUEvent oldEvent, PUEvent newEvent)
        {
            bool successfulEdit = false;

            if (newEvent.EventName.Length < 8 || newEvent.EventName.Length > 150)
            {
                throw new ApplicationException("The Event Name value was outside the acceptable range.");
            }
            else if (newEvent.EventDateTime < DateTime.Now.AddDays(14))
            {
                throw new ApplicationException("The event date is too close. Must be at least 14 days in the future.");
            }
            else if (newEvent.Address.Length > 200 || newEvent.Address.Length < 6)
            {
                throw new ApplicationException("The address value was not within the acceptable range.");
            }
            else if (newEvent.City.Length < 2 || newEvent.City.Length > 50)
            {
                throw new ApplicationException("The city value was not within acceptable range.");
            }
            else if (!Regex.Match(newEvent.Zipcode, "^[0-9]{5}(?:-[0-9]{4})?$").Success)
            {
                throw new ApplicationException("Invalid Zipcode");
            }
            else if (newEvent.BannerPath.Length < 6 || newEvent.BannerPath.Length > 250)
            {
                throw new ApplicationException("The picture file name is not within acceptable range.");
            }
            else if (!newEvent.BannerPath.Substring(newEvent.BannerPath.Length - 4).ToLower().Equals(".jpg") &&
                     !newEvent.BannerPath.Substring(newEvent.BannerPath.Length - 4).ToLower().Equals(".png"))
            {
                throw new ApplicationException("The picture file name is missing the file extension.");
            }
            else if (newEvent.Description.Length < 2 || newEvent.Description.Length > 500)
            {
                throw new ApplicationException("The discription value is not within the acceptable range.");
            }
            else
            {
                //Finds the event matching the old event's eventID and assigns the values from the new event
                PUEvent eventToBeEdited = puEvents.Find(delegate(PUEvent e) { return(e.EventID == oldEvent.EventID); });
                eventToBeEdited.EventName     = newEvent.EventName;
                eventToBeEdited.EventTypeID   = newEvent.EventTypeID;
                eventToBeEdited.EventDateTime = newEvent.EventDateTime;
                eventToBeEdited.Address       = newEvent.Address;
                eventToBeEdited.City          = newEvent.City;
                eventToBeEdited.State         = newEvent.State;
                eventToBeEdited.Zipcode       = newEvent.Zipcode;
                eventToBeEdited.DateCreated   = newEvent.DateCreated;
                eventToBeEdited.BannerPath    = newEvent.BannerPath;
                eventToBeEdited.CreatedByID   = newEvent.CreatedByID;
                eventToBeEdited.Description   = newEvent.Description;
                eventToBeEdited.Status        = newEvent.Status;
            }
            //Checks that the old events values now match the new events values
            if (oldEvent.EventName == newEvent.EventName &&
                oldEvent.EventTypeID == newEvent.EventTypeID &&
                oldEvent.EventDateTime == newEvent.EventDateTime &&
                oldEvent.Address == newEvent.Address &&
                oldEvent.City == newEvent.City &&
                oldEvent.State == newEvent.State &&
                oldEvent.Zipcode == newEvent.Zipcode &&
                oldEvent.DateCreated == newEvent.DateCreated &&
                oldEvent.BannerPath == newEvent.BannerPath &&
                oldEvent.CreatedByID == newEvent.CreatedByID &&
                oldEvent.Description == newEvent.Description &&
                oldEvent.Status == newEvent.Status)
            {
                successfulEdit = true;
            }
            return(successfulEdit);
        }