public static List <ChampionshipDetailsModel> getAllActiveChampionshipCurrentSeason(connectionMySQL db, int championshipID, string modeType)
        {
            ChampionshipDetailsModel        modelDetails = new ChampionshipDetailsModel();
            List <ChampionshipDetailsModel> listOfModel  = new List <ChampionshipDetailsModel>();
            DataTable dt = null;

            string[] paramName  = null;
            string[] paramValue = null;

            try
            {
                paramName  = new string[] { "pIdTemporada" };
                paramValue = new string[] { "0" };
                dt         = db.executePROC("spGetAllCampeonatosActiveOfTemporada", paramName, paramValue);

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if (dt.Rows[i]["ID_CAMPEONATO"].ToString() != championshipID.ToString() && (dt.Rows[i]["MODE_TYPE"].ToString() == modeType || modeType == String.Empty))
                    {
                        modelDetails            = new ChampionshipDetailsModel();
                        modelDetails.id         = Convert.ToInt32(dt.Rows[i]["ID_CAMPEONATO"].ToString());
                        modelDetails.seasonID   = Convert.ToInt32(dt.Rows[i]["ID_TEMPORADA"].ToString());
                        modelDetails.seasonName = dt.Rows[i]["NM_TEMPORADA"].ToString();
                        modelDetails.name       = dt.Rows[i]["NM_CAMPEONATO"].ToString();
                        modelDetails.type       = dt.Rows[i]["SG_TIPO_CAMPEONATO"].ToString();
                        modelDetails.modeType   = dt.Rows[i]["MODE_TYPE"].ToString();
                        modelDetails.totalTeam  = Convert.ToInt32(dt.Rows[i]["QT_TIMES"].ToString());
                        modelDetails.startDate  = Convert.ToDateTime(dt.Rows[i]["DT_INICIO"].ToString());
                        modelDetails.drawDate   = Convert.ToDateTime(dt.Rows[i]["DT_SORTEIO"].ToString());
                        modelDetails.active     = Convert.ToBoolean(dt.Rows[i]["IN_CAMPEONATO_ATIVO"].ToString());

                        listOfModel.Add(modelDetails);
                    }
                }

                return(listOfModel);
            }
            catch (Exception ex)
            {
                return(listOfModel);
            }
            finally
            {
                modelDetails = null;
                listOfModel  = null;
                dt           = null;
                paramName    = null;
                paramValue   = null;
            }
        }
        public ActionResult AcceptingNewSeasonDetails(FormCollection formHTML)
        {
            HttpResponseMessage             response            = new HttpResponseMessage();
            AcceptingNewSeasonViewModel     modelReturnJSON     = new AcceptingNewSeasonViewModel();
            AcceptingDetails                modelReturnJSON2    = new AcceptingDetails();
            List <UserDetailsModel>         listOfUser          = new List <UserDetailsModel>();
            List <ChampionshipDetailsModel> listOChampionship   = new List <ChampionshipDetailsModel>();
            ChampionshipDetailsModel        championshipDetails = new ChampionshipDetailsModel();
            returnJSON_UserLoginModel       userDetails         = new returnJSON_UserLoginModel();
            UserDetailsModel                userDetails2        = new UserDetailsModel();
            string championshipName = String.Empty;

            string actionForm = formHTML["actionForm"].ToLower();
            string primaryKey = String.Empty;

            string[] arrayPK = null;

            setViewBagVariables();

            try
            {
                if (actionForm == "save")
                {
                    modelReturnJSON.seasonID       = Convert.ToUInt16(formHTML["seasonID"]);
                    modelReturnJSON.userID         = Convert.ToUInt16(formHTML["cmbTecnico"]);
                    modelReturnJSON.championshipID = Convert.ToUInt16(formHTML["cmbCampeonato"]);
                    //modelReturnJSON.dataBaseName = "";
                    modelReturnJSON.actionUser   = actionForm;
                    modelReturnJSON.teamName     = formHTML["txtTime"];
                    modelReturnJSON.confirmation = formHTML["cmbConfirma"];
                    if (modelReturnJSON.confirmation == "-")
                    {
                        modelReturnJSON.confirmation = String.Empty;
                    }
                    if (!String.IsNullOrEmpty(formHTML["txtOrdem"]))
                    {
                        modelReturnJSON.ordering = formHTML["txtOrdem"];
                    }
                    else
                    {
                        modelReturnJSON.ordering = "0";
                    }


                    modelReturnJSON.dataBaseName = GlobalVariables.DATABASE_NAME_STAGING;
                    response        = GlobalVariables.WebApiClient.PostAsJsonAsync("AcceptingNewSeason", modelReturnJSON).Result;
                    modelReturnJSON = response.Content.ReadAsAsync <AcceptingNewSeasonViewModel>().Result;
                    TempData["actionSuccessfully"] = "Registro incluído/alterado com sucesso";
                }
                else if (actionForm == "add" || actionForm == "view" || actionForm == "edit")
                {
                    modelReturnJSON.returnMessage = "ModeratorSuccessfully";
                    response.StatusCode           = HttpStatusCode.Created;
                }

                switch (response.StatusCode)
                {
                case HttpStatusCode.Created:
                    if (modelReturnJSON.returnMessage == "ModeratorSuccessfully")
                    {
                        if (actionForm == "save")
                        {
                            return(RedirectToAction("AcceptingNewSeason", "BatchServicesValidate"));
                        }
                        else
                        {
                            if (actionForm == "view" || actionForm == "edit")
                            {
                                primaryKey = formHTML["selectedID"];
                                arrayPK    = primaryKey.Split(Convert.ToChar(";"));

                                modelReturnJSON.seasonID       = Convert.ToUInt16(arrayPK[0]);
                                modelReturnJSON.userID         = Convert.ToUInt16(arrayPK[1]);
                                modelReturnJSON.championshipID = Convert.ToUInt16(arrayPK[2]);

                                response    = GlobalVariables.WebApiClient.GetAsync("HomeUser/" + Convert.ToString(modelReturnJSON.userID)).Result;
                                userDetails = response.Content.ReadAsAsync <returnJSON_UserLoginModel>().Result;

                                userDetails2       = new UserDetailsModel();
                                userDetails2.id    = userDetails.id;
                                userDetails2.name  = userDetails.name;
                                userDetails2.psnID = userDetails.psnID;
                                listOfUser.Add(userDetails2);

                                modelReturnJSON.actionUser   = "******";
                                modelReturnJSON.dataBaseName = GlobalVariables.DATABASE_NAME_STAGING;
                                response         = GlobalVariables.WebApiClient.PostAsJsonAsync("AcceptingNewSeason", modelReturnJSON).Result;
                                modelReturnJSON2 = response.Content.ReadAsAsync <AcceptingDetails>().Result;

                                championshipDetails      = new ChampionshipDetailsModel();
                                championshipDetails.id   = modelReturnJSON.championshipID;
                                championshipDetails.name = getChampionshipNameNewSeason(championshipDetails.id);
                                listOChampionship.Add(championshipDetails);

                                modelReturnJSON2.listOfUser         = listOfUser;
                                modelReturnJSON2.listOfChampionship = listOChampionship;
                            }
                            else if (actionForm == "add")
                            {
                                response                        = GlobalVariables.WebApiClient.GetAsync("HomeUser").Result;
                                modelReturnJSON2                = response.Content.ReadAsAsync <AcceptingDetails>().Result;
                                modelReturnJSON2.seasonID       = 0;
                                modelReturnJSON2.userID         = 0;
                                modelReturnJSON2.championshipID = 999;
                                modelReturnJSON2.ordering       = "0";

                                for (int i = 0; i < 15; i++)
                                {
                                    championshipName = getChampionshipNameNewSeason(i);
                                    if (championshipName != String.Empty)
                                    {
                                        championshipDetails      = new ChampionshipDetailsModel();
                                        championshipDetails.id   = i;
                                        championshipDetails.name = championshipName;
                                        listOChampionship.Add(championshipDetails);
                                    }
                                }
                                modelReturnJSON2.DateconfirmationFormatted = DateTime.Now.Date.ToString("dd/MM/yyyy");
                                modelReturnJSON2.listOfChampionship        = listOChampionship;
                            }
                            modelReturnJSON2.actionUser = actionForm.ToUpper();
                            return(View(modelReturnJSON2));
                        }
                    }
                    else
                    {
                        //ModelState.AddModelError("", "Senha Atual inválida! Favor tentar novamente.");
                        TempData["returnMessage"] = "Some error occurred when the system was trying to show the view - Accepting New Season Register Details - " + actionForm + ". (" + modelReturnJSON.returnMessage + ")";
                        return(View(modelReturnJSON));
                    }

                default:
                    TempData["returnMessage"] = "Some error occurred when the system was trying to show the view - Accepting New Season Register Details - " + actionForm + ". (" + response.StatusCode + ")";
                    ModelState.AddModelError("", "application error.");
                    return(View(modelReturnJSON));
                }
            }
            catch (Exception ex)
            {
                TempData["returnMessage"] = "Internal error - when the system was trying to show the view - Accepting New Season Register Details - " + actionForm + ": (" + ex.Message + ")";
                ModelState.AddModelError("", "application error.");
                return(View(modelReturnJSON));
            }
            finally
            {
                response            = null;
                modelReturnJSON     = null;
                modelReturnJSON2    = null;
                listOChampionship   = null;
                championshipDetails = null;
                listOfUser          = null;
                userDetails         = null;
                userDetails2        = null;
            }
        }
        public static ChampionshipDetailsModel getChampionshipDetails(connectionMySQL db, int championshipID)
        {
            ChampionshipDetailsModel             modelDetails = new ChampionshipDetailsModel();
            ChampionshipStageDetailsModel        stageDetails = new ChampionshipStageDetailsModel();
            List <ChampionshipStageDetailsModel> listOfStage  = new List <ChampionshipStageDetailsModel>();

            DataTable dt = null;

            string[] paramName  = null;
            string[] paramValue = null;

            try
            {
                paramName  = new string[] { "pIdCamp" };
                paramValue = new string[] { Convert.ToString(championshipID) };
                dt         = db.executePROC("spGetCampeonatosDetails", paramName, paramValue);

                if (dt.Rows.Count > 0)
                {
                    modelDetails.id         = Convert.ToInt32(dt.Rows[0]["ID_CAMPEONATO"].ToString());
                    modelDetails.seasonID   = Convert.ToInt32(dt.Rows[0]["ID_TEMPORADA"].ToString());
                    modelDetails.name       = dt.Rows[0]["NM_CAMPEONATO"].ToString();
                    modelDetails.seasonName = dt.Rows[0]["NM_Temporada"].ToString();
                    modelDetails.type       = dt.Rows[0]["SG_TIPO_CAMPEONATO"].ToString();
                    modelDetails.typeName   = dt.Rows[0]["DS_TIPO_CAMPEONATO"].ToString();
                    modelDetails.modeType   = dt.Rows[0]["TIPO_CAMPEONATO"].ToString();
                    modelDetails.active     = Convert.ToBoolean(dt.Rows[0]["IN_CAMPEONATO_ATIVO"].ToString());
                    //modelDetails.startDateFormatted = dt.Rows[0]["DT_INICIO_FORMATADA"].ToString();
                    //modelDetails.drawDateFormatted = dt.Rows[0]["DT_SORTEIO_FORMATADA"].ToString();
                    modelDetails.startDate = Convert.ToDateTime(dt.Rows[0]["DT_INICIO"].ToString());
                    modelDetails.drawDate  = Convert.ToDateTime(dt.Rows[0]["DT_SORTEIO"].ToString());


                    modelDetails.totalTeam                = Convert.ToInt16(dt.Rows[0]["QT_TIMES"].ToString());
                    modelDetails.totalGroup               = Convert.ToInt16(dt.Rows[0]["QT_GRUPOS"].ToString());
                    modelDetails.totalQualify             = Convert.ToInt16(dt.Rows[0]["QT_TIMES_CLASSIFICADOS"].ToString());
                    modelDetails.totalRelegation          = Convert.ToInt16(dt.Rows[0]["QT_TIMES_REBAIXADOS"].ToString());
                    modelDetails.totalDayStageOne         = Convert.ToInt16(dt.Rows[0]["QT_DIAS_PARTIDA_CLASSIFICACAO"].ToString());
                    modelDetails.totalDayStagePlayoff     = Convert.ToInt16(dt.Rows[0]["QT_DIAS_PARTIDA_FASE_MATAxMATA"].ToString());
                    modelDetails.totalQualifyNextStage    = Convert.ToInt16(dt.Rows[0]["QT_TIMES_PROX_CLASSIF"].ToString());
                    modelDetails.totalTeamQualifyDivAbove = Convert.ToInt16(dt.Rows[0]["QT_TIMES_ACESSO"].ToString());
                    if (!String.IsNullOrEmpty(dt.Rows[0]["IN_POSICAO_ORIGEM"].ToString()))
                    {
                        modelDetails.sourcePlaceFromChampionshipSource = Convert.ToInt16(dt.Rows[0]["IN_POSICAO_ORIGEM"].ToString());
                        if (!String.IsNullOrEmpty(dt.Rows[0]["ID_CAMPEONATO_DESTINO"].ToString()))
                        {
                            modelDetails.ChampionshipIDDestiny = Convert.ToInt16(dt.Rows[0]["ID_CAMPEONATO_DESTINO"].ToString());
                        }
                        if (!String.IsNullOrEmpty(dt.Rows[0]["ID_CAMPEONATO_ORIGEM"].ToString()))
                        {
                            modelDetails.ChampionshipIDSource = Convert.ToInt16(dt.Rows[0]["ID_CAMPEONATO_ORIGEM"].ToString());
                        }
                    }

                    modelDetails.forGroup    = Convert.ToBoolean(dt.Rows[0]["IN_CAMPEONATO_GRUPO"].ToString());
                    modelDetails.justOneTurn = Convert.ToBoolean(dt.Rows[0]["IN_CAMPEONATO_TURNO_UNICO"].ToString());
                    modelDetails.twoTurns    = Convert.ToBoolean(dt.Rows[0]["IN_CAMPEONATO_TURNO_RETURNO"].ToString());
                    modelDetails.playoff     = Convert.ToBoolean(dt.Rows[0]["IN_SISTEMA_MATA"].ToString());
                    modelDetails.twoLegs     = Convert.ToBoolean(dt.Rows[0]["IN_SISTEMA_IDA_VOLTA"].ToString());

                    modelDetails.console = dt.Rows[0]["IN_CONSOLE"].ToString();

                    modelDetails.userID1   = Convert.ToInt32(dt.Rows[0]["ID_USUARIO_MODERADOR"].ToString());
                    modelDetails.userName1 = dt.Rows[0]["NM_Usuario"].ToString();
                    modelDetails.psnID1    = dt.Rows[0]["PSN_ID"].ToString();
                    modelDetails.email1    = dt.Rows[0]["DS_EMAIL"].ToString();

                    modelDetails.userID2   = Convert.ToInt32(dt.Rows[0]["ID_USUARIO_2oMODERADOR"].ToString());
                    modelDetails.userName2 = dt.Rows[0]["NM_Usuario2"].ToString();
                    modelDetails.psnID2    = dt.Rows[0]["PSN_ID2"].ToString();
                    modelDetails.email2    = dt.Rows[0]["DS_EMAIL2"].ToString();

                    modelDetails.stageID_Round = dt.Rows[0]["ID_FASE_NUMERO_RODADA"].ToString();

                    modelDetails.started = Convert.ToInt32(dt.Rows[0]["inInicioCampeonato"].ToString());
                    if (!String.IsNullOrEmpty(dt.Rows[0]["idPrimFaseCampeonato"].ToString()))
                    {
                        modelDetails.firstStageID = Convert.ToInt32(dt.Rows[0]["idPrimFaseCampeonato"].ToString());
                    }
                    else
                    {
                        modelDetails.firstStageID = 99;
                    }


                    paramName  = new string[] { "pIdCamp" };
                    paramValue = new string[] { Convert.ToString(championshipID) };
                    dt         = db.executePROC("spGetAllFasePorCampeonato", paramName, paramValue);
                    for (var i = 0; i < dt.Rows.Count; i++)
                    {
                        stageDetails      = new ChampionshipStageDetailsModel();
                        stageDetails.id   = Convert.ToInt16(dt.Rows[i]["ID_FASE"].ToString());
                        stageDetails.name = dt.Rows[i]["NM_FASE"].ToString();
                        listOfStage.Add(stageDetails);
                    }
                    modelDetails.listOfStage = listOfStage;
                }

                return(modelDetails);
            }
            catch (Exception ex)
            {
                return(modelDetails);
            }
            finally
            {
                modelDetails = null;
                dt           = null;
                paramName    = null;
                paramValue   = null;
                stageDetails = null;
                listOfStage  = null;
            }
        }