Beispiel #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string crewLeaderRole = ConfigurationManager.AppSettings["crewLeaderRole"];

            if (Request.IsAuthenticated)
            {
                if (!User.IsInRole(crewLeaderRole))
                {
                    Response.Redirect("~/Login.aspx");
                }

                InfoUserControl.TryRun(() =>
                {
                    SecurityController security = new SecurityController();
                    UserId.Text = (security.GetCurrentUserId(Context.User.Identity.GetUserName())).ToString();
                    EmployeeController employee = new EmployeeController();
                    YardID.Text = employee.GetYardID(int.Parse(UserId.Text)).ToString();
                    //DriverID.Text = "0";

                    if (!IsPostBack)
                    {
                        PopulateUnitReport();
                        PopulateRouteStatus();
                    }
                });

                RefreshCurrentCrews();
            }
            else
            {
                Response.Redirect("~/Login.aspx");
            }
        }
Beispiel #2
0
        protected void AssignDriver()
        {
            string category = (FleetCategory.SelectedIndex < 0) ? "" : FleetCategory.SelectedItem.Text.Trim();

            int driverId = 0;

            //Retrieve the selected DriverID
            foreach (GridViewRow row in EmployeeGridView.Rows)
            {
                if ((row.FindControl("SelectedDriver") as RadioButton).Checked == true)
                {
                    driverId = int.Parse((row.FindControl("EmployeeID") as Label).Text);
                }
            }

            //Checks that a driver is selecetd. then proceed
            if (driverId == 0)
            {
                InfoUserControl.ShowInfo("Please select a driver");
            }
            else
            {
                CrewController crewManager = new CrewController();
                InfoUserControl.TryRun(() =>
                {
                    crewManager.CreateCrew(int.Parse(SelectUnitDDL.SelectedValue), driverId, category);
                    List <CurrentCrews> crews = crewManager.GetCurrentCrews(int.Parse(YardID.Text));
                    crews.Sort((x, y) => y.CrewID.CompareTo(x.CrewID));
                    CrewID.Text = crews.Count <= 0 ? "" : (crews[0].CrewID).ToString();
                    CloseCrewPane();
                });

                PopulateUnitReport();
            }
        }
Beispiel #3
0
        /// <summary>
        /// This event fires when the user clicks on save unit report
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void UnitReoprtGV_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            string command = e.CommandName;

            if (command == "SaveUnitReport")
            {
                int         crewId = int.Parse(e.CommandArgument.ToString());
                GridViewRow row    = ((e.CommandSource as LinkButton).NamingContainer) as GridViewRow; //Gets hold of the GridViewRow
                string      KS     = ((row.FindControl("KM_Start") as TextBox).Text);
                string      KE     = ((row.FindControl("KM_End") as TextBox).Text);

                int    KmStart = string.IsNullOrEmpty(KS) ? 0 : int.Parse(KS);
                int    KmEnd   = string.IsNullOrEmpty(KE) ? 0 : int.Parse(KE);
                string comment = (row.FindControl("Comment") as TextBox).Text;

                string crew = (row.FindControl("Unit") as Label).Text;

                InfoUserControl.TryRun(() =>
                {
                    CrewController crewManager = new CrewController();
                    crewManager.UpdateCrew(crewId, KmStart, KmEnd, comment);

                    PopulateUnitReport();
                }, crew + " was updated successfully!");
            }
        }
Beispiel #4
0
        /// <summary>
        /// This method validates the search filters
        /// </summary>
        /// <param name="Search"></param>
        /// <param name="missingCriteria"></param>
        protected void ValidateSearch(ProcessSearch Search, string missingCriteria)
        {
            string criteria = SearchCriteria.Text;

            if (string.IsNullOrEmpty(criteria))
            {
                InfoUserControl.ShowWarning(missingCriteria);
                SiteTypeID.Text = SITETYPEID_NOT_DEFINED;
            }
            else
            {
                if (string.IsNullOrEmpty(TaskOption.SelectedValue))
                {
                    InfoUserControl.ShowWarning(TASK_NOT_SELECTED);
                    SiteTypeID.Text = SITETYPEID_NOT_DEFINED;
                }
                else
                {
                    if (SeasonDDL.SelectedIndex == 0)
                    {
                        InfoUserControl.ShowWarning(SEASON_NOT_SELECTED);
                        SiteTypeID.Text = SITETYPEID_NOT_DEFINED;
                    }
                    else
                    {
                        InfoUserControl.TryRun(() =>
                        {
                            Search();
                        });
                    }
                }
            }
        }
Beispiel #5
0
        /// <summary>
        /// This event fires when the user click on the Cancel Button
        ///     It turns off all the controls to make up Crews
        ///     It deletes the crew that is currently being formed
        ///     It refreshes the Current Crews List
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Cancel_Click(object sender, EventArgs e)
        {
            EmployeeGridView.Visible = false;
            SelectUnitDDL.Visible    = false;
            FleetCategory.ClearSelection();
            Done.Visible          = false;
            Cancel.Visible        = false;
            CreateCrew.Visible    = false;
            MakeCrew.Visible      = true;
            LastCrews.Visible     = true;
            FleetCategory.Visible = false;

            //Deletes the crew in formation.
            InfoUserControl.TryRun(() =>
            {
                if (!string.IsNullOrEmpty(CrewID.Text))
                {
                    int crewId = int.Parse(CrewID.Text);
                    CrewController crewManager = new CrewController();
                    crewManager.DeleteCrew(crewId);
                    CrewID.Text = "";
                    RefreshCurrentCrews();
                }
            });
        }
Beispiel #6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="source"></param>
        /// <param name="e"></param>
        protected void AllCurrentCrews_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            string caller = e.CommandName;

            switch (caller)
            {
            case "SelectedCrew":
                CrewID.Text = e.CommandArgument.ToString();
                string crew = "";
                SiteMenu.Visible = true;
                Done.Visible     = true;
                JobCardStatusGridView.Visible = false;
                JobcardTitle.Visible          = false;
                UnitReoprtGV.Visible          = false;
                UnitReportHeader.Visible      = false;
                InfoUserControl.TryRun(() =>
                {
                    FleetController fleet = new FleetController();
                    crew = fleet.GetUnitDescription(int.Parse(CrewID.Text));
                });
                InfoUserControl.ShowInfo("You are updating crew " + crew + "");
                RefreshCrewMember();
                break;

            case "RemoveMember":
                InfoUserControl.TryRun(() =>
                {
                    CrewController crewManager = new CrewController();
                    crewManager.RemoveCrewMember(int.Parse(e.CommandArgument.ToString()), int.Parse(CrewID.Text));
                    RefreshCurrentCrews();
                });
                break;

            case "DeleteJobCard":
                InfoUserControl.TryRun(() =>
                {
                    CrewController crewManager = new CrewController();
                    crewManager.DeleteJobCardCrew(int.Parse(e.CommandArgument.ToString()));
                    RefreshCurrentCrews();
                });
                break;

            case "DeleteCrew":
                MessageUserControl.TryRun(() =>
                {
                    CrewController crewManager = new CrewController();
                    crewManager.DeleteCrew(int.Parse(e.CommandArgument.ToString()));
                    RefreshCurrentCrews();
                    PopulateUnitReport();
                    PopulateRouteStatus();
                });
                break;
            }
        }
Beispiel #7
0
 /// <summary>
 /// This methods Populates/Refreshes the list of all Current Crews
 ///     It also returns the ID of the last crew created and set on a Label control
 /// </summary>
 protected void RefreshCurrentCrews()
 {
     InfoUserControl.TryRun(() =>
     {
         CrewController crewManager = new CrewController();
         List <CurrentCrews> crews  = crewManager.GetCurrentCrews(int.Parse(YardID.Text));
         crews.Sort((x, y) => y.CrewID.CompareTo(x.CrewID));
         AllCurrentCrews.DataSource = crews;
         AllCurrentCrews.DataBind();
     });
 }
Beispiel #8
0
        /// <summary>
        /// This event fires when the user add a job site to a crew or click on the Finish button
        ///     When adding a job site to a crew, it first verifies that a crew is selected
        ///         Then add the Job site
        ///     When user click on the Finish button, it turns off the site menu and the Routes
        ///     It turns on the Job Cards GridView
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void RouteListView_ItemCommand(object sender, ListViewCommandEventArgs e)
        {
            string message = "";
            string command = e.CommandName;

            switch (command)
            {
            case "AddSite":
                //Get hold of the row that fired the event
                ListViewDataItem item = RouteListView.Items[e.Item.DisplayIndex];
                DropDownList     list = item.FindControl("SelectTask") as DropDownList;

                InfoUserControl.TryRun(() =>
                {
                    if (string.IsNullOrEmpty(CrewID.Text))
                    {
                        InfoUserControl.ShowWarning("You must first create or select a Crew before adding a job site!");
                    }
                    else
                    {
                        int crewId = int.Parse(CrewID.Text);
                        int siteId = int.Parse(e.CommandArgument.ToString());
                        int taskId = int.Parse(list.SelectedValue);

                        CrewController crewManager = new CrewController();
                        message = crewManager.AddJobCard(crewId, siteId, taskId);
                        RefreshCurrentCrews();
                    }
                });

                if (!string.IsNullOrEmpty(message))
                {
                    InfoUserControl.ShowInfo("The following Crew(s) are already assigned to this same Site:  " + message);
                    RefreshCurrentCrews();
                }
                break;

            case "Finish":
                SiteMenu.Visible      = false;
                RouteListView.Visible = false;
                PopulateRouteStatus();
                PopulateUnitReport();
                MakeCrew.Visible      = true;
                LastCrews.Visible     = true;
                FleetCategory.Visible = false;

                ARoute.CssClass = "default-tab";
                BRoute.CssClass = "default-tab";
                GRoute.CssClass = "default-tab";
                WRoute.CssClass = "default-tab";
                PRoute.CssClass = "default-tab";
                break;
            }
        }
Beispiel #9
0
 /// <summary>
 /// This event add a new member to a given crew
 ///     It calls the method that adds a new crew member to a crew
 ///     It refreshes the list of current crews
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void EmployeeGridView_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     if (e.CommandName == "AddMember")
     {
         InfoUserControl.TryRun(() =>
         {
             CrewController crewManager = new CrewController();
             crewManager.AddCrewMember(int.Parse(CrewID.Text), int.Parse(e.CommandArgument.ToString()));
             RefreshCurrentCrews();
         });
     }
 }
Beispiel #10
0
 /// <summary>
 /// This Method Populates/Refreshes the list of drivers
 ///     There are two types of drivers:
 ///         1. Truck  Drivers
 ///         2. Equipment Drivers
 /// </summary>
 /// <param name="type">The type specifies the list of drivers to be returned</param>
 protected void RefreshDriverList(int type)
 {
     InfoUserControl.TryRun(() =>
     {
         int unitId = int.Parse(SelectUnitDDL.SelectedValue);
         int yardId = int.Parse(YardID.Text);
         FleetController fleetManager = new FleetController();
         List <Driver> drivers        = fleetManager.GetTruckDrivers(yardId, unitId, type);
         EmployeeGridView.DataSource  = drivers;
         EmployeeGridView.DataBind();
     });
 }
Beispiel #11
0
        /// <summary>
        /// This event fires when the user select a unit from the DropDownList control.
        ///     It resets the EmployeeGridView Pager
        ///     It sets Label control for refreshing the EmployeeGridView to "Driver".
        ///     It turns On/Off all the Necessary/Unnecessary columns
        ///     It refreshses the EmployeeGridView
        /// </summary>
        /// <param name="sender">The Sender is a DropDownList control</param>
        /// <param name="e"></param>
        protected void SelectUnitDDL_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (SelectUnitDDL.SelectedIndex == 0)
            {
                InfoUserControl.ShowWarning("Please select a Unit before proceeding!");
                Done.Visible             = false;
                CreateCrew.Visible       = false;
                EmployeeGridView.Visible = false;
                Cancel.Visible           = false;
            }
            else
            {
                string category = (FleetCategory.SelectedItem.Text).Trim();
                Refresh.Text = "Driver";
                FleetController fleetManager = new FleetController();
                int             unitId       = int.Parse(SelectUnitDDL.SelectedValue);
                string          unitDesc     = SelectUnitDDL.SelectedItem.Text;

                if (fleetManager.FoundUnit(unitId, category))
                {
                    InfoUserControl.ShowWarning(unitDesc + " is already assigned to a different crew. If you want to update the Crew assigned to this unit, " +
                                                "Select the crew in the pane below");
                }
                else
                {
                    if (category == "Equipments")
                    {
                        EmployeeGridView.PageIndex          = 0;
                        EmployeeGridView.Columns[4].Visible = false;
                        EmployeeGridView.Columns[5].Visible = true;
                        EmployeeGridView.Columns[6].Visible = true;
                        EmployeeGridView.Columns[7].Visible = false;
                        EmployeeGridView.Visible            = true;
                        Cancel.Visible = true;
                        RefreshDriverList(1);
                    }
                    else if (category == "Trucks")
                    {
                        EmployeeGridView.PageIndex          = 0;
                        EmployeeGridView.Visible            = true;
                        EmployeeGridView.Columns[4].Visible = true;
                        EmployeeGridView.Columns[5].Visible = true;
                        EmployeeGridView.Columns[6].Visible = true;
                        EmployeeGridView.Columns[7].Visible = false;
                        Cancel.Visible = true;
                        RefreshDriverList(2);
                    }
                }
            }
        }
Beispiel #12
0
        /// <summary>
        /// This method populates the Routes on Gridview
        /// </summary>
        protected void PopulateSearch()
        {
            RouteController    routeManager = new RouteController();
            List <RouteStatus> route        = new List <RouteStatus>();
            int    yardId          = int.Parse(YardID.Text);
            int    taskId          = int.Parse(TaskID.Text);
            int    season          = int.Parse(SeasonDDL.SelectedValue);
            string searchCriterion = SearchCriteria.Text;

            switch (SearchCategory.SelectedIndex)
            {
            case 0:
                InfoUserControl.ShowWarning(CRITERION_IS_MISSING);
                SiteTypeID.Text = SITETYPEID_NOT_DEFINED;
                break;

            case 1:
                route = routeManager.Get_RouteByPin(int.Parse(SearchCriteria.Text), yardId, taskId, season);
                break;

            case 2:
                //Community
                route = routeManager.GetRoutesByCommunity(SearchCriteria.Text, yardId, taskId, season);
                break;

            case 3:
                //Description
                route = routeManager.GetRoutesByDescription(searchCriterion, yardId, taskId, season);
                break;

            case 4:
                //Address
                route = routeManager.GetRoutesByAddress(searchCriterion, yardId, taskId, season);
                break;
            }
            if (route == null || route.Count == 0)
            {
                InfoUserControl.ShowInfo("There is no data retuned with the given search criteria");
                RoutesManager(route);
            }
            else
            {
                RoutesManager(route);
            }
        }
Beispiel #13
0
 /// <summary>
 /// This method populates JobCards
 /// </summary>
 public void PopulateRouteStatus()
 {
     InfoUserControl.TryRun(() =>
     {
         CrewController crewManager       = new CrewController();
         List <JobCardStatus> cardStatus  = crewManager.Get_JobCardStatus();
         JobCardStatusGridView.DataSource = cardStatus;
         JobCardStatusGridView.DataBind();
         if (cardStatus.Count > 0)
         {
             JobCardStatusGridView.Visible = true;
             JobcardTitle.Visible          = true;
         }
         else
         {
             JobCardStatusGridView.Visible = false;
             JobcardTitle.Visible          = false;
         }
     });
 }
Beispiel #14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string crewLeaderRole = ConfigurationManager.AppSettings["crewLeaderRole"];

            if (Request.IsAuthenticated)
            {
                if (!User.IsInRole(crewLeaderRole))
                {
                    Response.Redirect("~/Login.aspx");
                }

                InfoUserControl.TryRun(() =>
                {
                    SecurityController security = new SecurityController();
                    UserID.Text = (security.GetCurrentUserId(Context.User.Identity.GetUserName())).ToString();
                    EmployeeController employee = new EmployeeController();
                    YardID.Text = employee.GetYardID(int.Parse(UserID.Text)).ToString();
                });

                if (!Page.IsPostBack)
                {
                    SearchCategory.Items.Insert(0, "Search Criteria...");
                    SearchCategory.Items.Insert(1, "Pin");
                    SearchCategory.Items.Insert(2, "Community");
                    SearchCategory.Items.Insert(3, "Description");
                    SearchCategory.Items.Insert(4, "Address");

                    SeasonDDL.Items.Insert(0, "Seasons");
                    int currentSeason = DateTime.Now.Year;
                    for (int season = currentSeason; season >= currentSeason - 10; season--)
                    {
                        ListItem list = new ListItem(season.ToString());
                        SeasonDDL.Items.Add(list);
                    }
                }
            }
            else
            {
                Response.Redirect("~/Login.aspx");
            }
        }
Beispiel #15
0
        /// <summary>
        /// This event fires when when the user presses on the Create a Crew button
        ///     It retrives the driver ID
        ///     It calls the method that creates a New Crew
        ///     It populates/refreshes all current crews
        /// </summary>
        /// <param name="sender">The sender is a button control</param>
        /// <param name="e"></param>
        protected void CreateCrew_Click(object sender, EventArgs e)
        {
            int    driverId = 0;
            string category = (FleetCategory.SelectedItem.Text).Trim();

            //Retrieve the selected DriverID
            foreach (GridViewRow row in EmployeeGridView.Rows)
            {
                if ((row.FindControl("SelectedDriver") as RadioButton).Checked == true)
                {
                    driverId = int.Parse((row.FindControl("EmployeeID") as Label).Text);
                }
            }

            //Checks that a driver is selecetd. then proceed
            if (driverId == 0)
            {
                InfoUserControl.ShowInfo("Please select a driver");
            }
            else
            {
                DriverID.Text = driverId.ToString();
                CrewController crewManager = new CrewController();
                InfoUserControl.TryRun(() =>
                {
                    crewManager.CreateCrew(int.Parse(SelectUnitDDL.SelectedValue), driverId, category);
                    Refresh.Text = "Member";
                    EmployeeGridView.PageIndex = 0;
                    Cancel.Visible             = true;
                    CreateCrew.Visible         = false;
                    PopulateUnitReport();
                    RefreshCrewMember();
                    RefreshCurrentCrews();
                    InfoUserControl.ShowInfo("Add Crew Members");
                    List <CurrentCrews> crews = crewManager.GetCurrentCrews(int.Parse(YardID.Text));
                    crews.Sort((x, y) => y.CrewID.CompareTo(x.CrewID));
                    CrewID.Text = crews.Count <= 0 ? "" : (crews[0].CrewID).ToString();
                });
            }
        }
Beispiel #16
0
        /// <summary>
        /// This method populates the GridView for reporting the mileage
        /// </summary>
        public void PopulateUnitReport()
        {
            int            yardId      = int.Parse(YardID.Text);
            CrewController crewManager = new CrewController();

            InfoUserControl.TryRun(() =>
            {
                List <UnitReport> report = crewManager.GetUnitReports(yardId);
                if (report.Count == 0)
                {
                    UnitReportHeader.Visible = false;
                    UnitReoprtGV.Visible     = false;
                }
                else
                {
                    UnitReportHeader.Visible = true;
                    UnitReoprtGV.Visible     = true;
                    report.Sort((x, y) => x.Unit.CompareTo(y.Unit));
                    UnitReoprtGV.DataSource = report;
                    UnitReoprtGV.DataBind();
                }
            });
        }
Beispiel #17
0
        /// <summary>
        /// This event fires when the pre-render stage of the page life cycle is complete
        ///     It loads the RoutesGridView
        ///     It turns On/Off the columns inthe GridView that are necessary/unnecessary
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_PreRenderComplete(object sender, EventArgs e)
        {
            List <RouteStatus> routes       = new List <RouteStatus>();
            RouteController    routeManager = new RouteController();
            int siteTypeId = int.Parse(SiteTypeID.Text);
            int yardId     = int.Parse(YardID.Text);
            int taskId     = int.Parse(TaskID.Text);
            int searchFlag = int.Parse(SearchFlag.Text);

            switch (siteTypeId)
            {
            case 0:
                if (SearchFlag.Text == "1")
                {
                    ValidateSearch(() =>
                    {
                        PopulateSearch();
                    }, "");
                }

                //RoutesManager(routes);
                if (taskId == 1)
                {
                    A_Routes();
                    MenuItem item = RouteMenu.Items[0] as MenuItem;
                    item.Selected = true;
                }
                else if (taskId == 7)
                {
                    G_Routes();
                    MenuItem item = RouteMenu.Items[2] as MenuItem;
                    item.Selected = true;
                }
                else if (taskId == 6)
                {
                    W_Routes();
                    MenuItem item = RouteMenu.Items[3] as MenuItem;
                    item.Selected = true;
                }
                else if (taskId == 2)
                {
                    P_Routes();
                    MenuItem item = RouteMenu.Items[4] as MenuItem;
                    item.Selected = true;
                }
                break;

            //A Routes
            case 1:
                InfoUserControl.TryRun(() =>
                {
                    if (searchFlag == 1)
                    {
                        PopulateSearch();
                        MenuItem item = RouteMenu.Items[0] as MenuItem;
                        item.Selected = true;
                    }
                    else
                    {
                        routes = routeManager.Get_AB_Routes(yardId, siteTypeId, taskId);
                        RoutesManager(routes);
                    }
                });

                A_Routes();
                break;

            //B Routes
            case 2:

                InfoUserControl.TryRun(() =>
                {
                    routes = routeManager.Get_AB_Routes(yardId, siteTypeId, taskId);
                });

                RoutesManager(routes);
                B_Routes();
                break;

            //Grass Routes
            case 3:
                InfoUserControl.TryRun(() =>
                {
                    if (searchFlag == 1)
                    {
                        PopulateSearch();
                        MenuItem item = RouteMenu.Items[2] as MenuItem;
                        item.Selected = true;
                    }
                    else
                    {
                        routes = routeManager.GrassRouteList(yardId);
                        RoutesManager(routes);
                    }
                });
                G_Routes();
                break;

            //Watering Routes
            case 4:
                InfoUserControl.TryRun(() =>
                {
                    if (searchFlag == 1)
                    {
                        PopulateSearch();
                        MenuItem item = RouteMenu.Items[3] as MenuItem;
                        item.Selected = true;
                    }
                    else
                    {
                        routes = routeManager.WateringList(yardId);
                        RoutesManager(routes);
                    }
                });
                W_Routes();
                break;

            //Planting Routes
            case 5:
                InfoUserControl.TryRun(() =>
                {
                    if (searchFlag == 1)
                    {
                        PopulateSearch();
                        MenuItem item = RouteMenu.Items[4] as MenuItem;
                        item.Selected = true;
                    }
                    else
                    {
                        routes = routeManager.PlantingList(yardId);
                        RoutesManager(routes);
                    }
                });

                P_Routes();
                break;
            }
        }
Beispiel #18
0
        /// <summary>
        /// This method fires when the user click on the search button
        ///     It calls the ValidateSearch method that raises notifications
        ///         to the user in case there is an issue with the search criteria
        ///     It sets the TaskID, and SiteTypeID needed to do the search
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void SearchButton_Click(object sender, EventArgs e)
        {
            RoutesGridView.PageIndex = 0;
            RouteController routeManager = new RouteController();

            SearchFlag.Text = "1";
            if (!string.IsNullOrEmpty(TaskOption.SelectedValue))
            {
                if (TaskOption.SelectedValue == "1")
                {
                    TaskID.Text     = "1";
                    SiteTypeID.Text = "1";
                }
                else if (TaskOption.SelectedValue == "2")
                {
                    TaskID.Text     = "7";
                    SiteTypeID.Text = "3";
                }
                else if (TaskOption.SelectedValue == "3")
                {
                    TaskID.Text     = "6";
                    SiteTypeID.Text = "4";
                }
                else if (TaskOption.SelectedValue == "4")
                {
                    TaskID.Text     = "2";
                    SiteTypeID.Text = "5";
                }
            }

            switch (SearchCategory.SelectedIndex)
            {
            case 0:
                InfoUserControl.ShowWarning(CRITERION_IS_MISSING);
                SiteTypeID.Text = SITETYPEID_NOT_DEFINED;
                break;

            case 1:
                int pin;
                if (int.TryParse(SearchCriteria.Text, out pin))
                {
                    SiteTypeID.Text = "0";
                }
                else
                {
                    InfoUserControl.ShowWarning(PIN_IS_NOT_A_NUMBER);
                    SiteTypeID.Text = SITETYPEID_NOT_DEFINED;
                }
                break;

            case 2:
                ValidateSearch(() =>
                {
                }, COMMUNITY_IS_MISSING);
                break;

            case 3:
                ValidateSearch(() =>
                {
                }, DESCRIPTION_IS_MISSING);
                break;

            case 4:
                ValidateSearch(() =>
                {
                }, ADDRESS_IS_MISSING);
                break;
            }
        }