internal static string GetEvaluation(string myTag, AvContentsService contentsService, MySqlDbConnection dockerMysqlConn) { string[] arrActresses = common.Actress.ParseTag(myTag); return(Actress.GetEvaluation(arrActresses, contentsService, new MySqlDbConnection())); }
internal static string GetEvaluation(string[] myArrayActress, AvContentsService contentsService, MySqlDbConnection dockerMysqlConn) { bool isFav = false; string resultEvaluation = "", evaluation = ""; int maxFav = 0; string maxActress = ""; foreach (string actress in myArrayActress) { if (String.IsNullOrEmpty(actress)) { continue; } string[] arrFavActress = contentsService.GetFavoriteActresses(actress, dockerMysqlConn); List <AvContentsData> avContentsList = new List <AvContentsData>(); List <AvContentsData> avContentsFilenameLikeList = new List <AvContentsData>(); if (arrFavActress.Length >= 1) { isFav = true; foreach (string favActress in arrFavActress) { List <AvContentsData> list = contentsService.GetActressList(actress, dockerMysqlConn); foreach (AvContentsData data in list) { if (!avContentsList.Exists(x => x.Id == data.Id)) { avContentsList.Add(data); } } } } else { avContentsList = contentsService.GetActressList(actress, dockerMysqlConn); avContentsFilenameLikeList = contentsService.GetActressLikeFilenameList("%" + actress + "%", dockerMysqlConn, avContentsList); } int sumEvaluate = 0, unEvaluate = 0, maxEvaluate = 0; if (avContentsList.Count > 0) { sumEvaluate = avContentsList.Sum(x => x.Rating); unEvaluate = avContentsList.Where(x => x.Rating == 0).Count(); maxEvaluate = avContentsList.Max(x => x.Rating); } if (myArrayActress.Length > 1) { if (maxFav < maxEvaluate) { maxFav = maxEvaluate; maxActress = actress; } } if (sumEvaluate <= 0 || avContentsList.Count - unEvaluate <= 0) { evaluation = String.Format("全未評価 {0} ({1})", avContentsList.Count, avContentsFilenameLikeList.Count); } else { evaluation = String.Format("未 {0}/全 {1} Max {2} Avg {3} ({4})", unEvaluate, avContentsList.Count, maxEvaluate, sumEvaluate / (avContentsList.Count - unEvaluate), avContentsFilenameLikeList.Count); } if (myArrayActress.Length > 1) { resultEvaluation = String.Format("{0} {1} {2}", resultEvaluation, actress, evaluation); } else { resultEvaluation = evaluation; } } if (myArrayActress.Length > 1) { resultEvaluation = String.Format("【{0} Max{1}】{2}", maxActress, maxFav, resultEvaluation); } if (isFav) { resultEvaluation = "Fav " + resultEvaluation; } return(resultEvaluation); }