using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EcomAnalysis {
class Feedback {
public enum FBITEM { OK, GOOD, NICE, GREAT, EXCELLENT, TOTAL }
private const int NUM_ITEMS = 5;
private int[] _Counts = new int[NUM_ITEMS];
private int[] _Points = new int[NUM_ITEMS];
/// <summary>
/// ログからFB回数とポイントを計算
/// </summary>
/// <param name="data"></param>
public void Calc(List<LogData> data) {
for (int i = 0; i < NUM_ITEMS; i++) {
_Counts[i] = data.Where(s => s.Feedback == i + 1).Count();
_Points[i] = _Counts[i] * (i + 1);
}
}
/// <summary>
/// FB回数を返す
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
public int Count(FBITEM item) {
if (item == FBITEM.TOTAL) {
return _Counts.Sum();
}
return _Counts[(int)item];
}
/// <summary>
/// ポイントを返す
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
public int Point(FBITEM item) {
if (item == FBITEM.TOTAL) {
return _Points.Sum();
}
return _Points[(int)item];
}
}
}