I'm making a small application related to the queue, and I'm stuck at one point. I have context data
public class DATA_ABONENT_ARCHIVE
{
[Key]
public int ID { get; set; }
public int NUM { get; set; }
public string PREFIX { get; set; }
public string FULL_NUM { get; set; }
public DateTime DATETIME_REGISTR { get; set; }
public DateTime DATE_REGISTR { get; set; }
public TimeSpan TIME_REGISTR { get; set; }
public int SPR_USLUGI_ID { get; set; }
public Nullable<int> SPR_LGOTA_ID { get; set; }
public DateTime DATETIME_START_SERVICE { get; set; }
public DateTime DATE_START_SERVICE { get; set; }
public TimeSpan TIME_START_SERVICE { get; set; }
public int SPR_WINDOW_ID { get; set; }
public int SPR_OPERATOR_ID { get; set; }
public string FIO { get; set; }
public DateTime DATETIME_STOP_SERVICE { get; set; }
public DateTime DATE_STOP_SERVICE { get; set; }
public DateTime TIME_STOP_SERVICE { get; set; }
public int SPR_STATUS_ID { get; set; }
public int PRIORITET { get; set; }
public int PRERECORD { get; set; }
public Nullable<DateTime> START_TIMEOUT { get; set; }
public Nullable<DateTime> STOP_TIMEOUT { get; set; }
public int SPR_BASE_ID { get; set; }
}
In the controller, I have to make a selection and get a list of models containing 3 date fields, the number of people for that day, the average waiting time
public class AverageExpectationViewModel
{
public ReportResultModel ReportResult { get; set; }
public IEnumerable<AverageWaitingModel> AverageWaitingOutgoing { get; set; }
}
The output model contains two message fields and a list
I do
IEnumerable<AverageWaitingModel> AverageWaiting = Db_Resource.DATA_ABONENT_ARCHIVE
.Where(c => c.SPR_BASE_ID == Convert.ToInt32(data.BranchId))
.Where(c => c.DATE_REGISTR >= startData)
.Where(c => c.DATE_REGISTR <= endData)
.GroupBy(b=>b.DATE_REGISTR)
.Select(c => new AverageWaitingModel
{
DateRegistr = c.Key,
Count = c.Count(),
//Waiting = (Math.Round(c.TIME_START_SERVICE.TotalMinutes - c.TIME_REGISTR.TotalMinutes, 2))
})
.ToList();
I do so but I do not know how to go any further and find the average value while shoveling, maybe you have some nice ideas how it can be done