Есть занчит отделы(Department) в них сотрудники(Employee), у сотрудников есть телефоны(Phone),они совершают звонки(Call).Хочеться иметь статистик по этим звонкам как для сотрудника так и для отдела.
Для сотрудника все понятно
public class Call
{
...
}
public class CallCollection:IEnumerable
{
...
}
CallManagerService:ICallManagerService
{
GetCallCollection(phone, startdate, enddate)
{
....
}
}
Получаю номер телефона сотрудника,возвращаю коллекцию его звонков.
А вот с отделом хочется чтоб информация была представлена следующим образом.
Номер Сотрудника|ФИО Сотрудника|Суммарная длительность звонков|Суммарная стоимость звонков
Так вот затык у меня с тем, что вроде уже информация присутсвует(Номер сотрудника и его фио есть в класс Emlployee,а информация по звонкам в классе Call),а вот как объеденить эти данные не понимаю.
Как поступить?????????/
я так понимаю у тебя класс Department содержит коллекцию Employee. Тогда достаточно пробежаться в цикле по всем сотрудникам... взять их телефоны и вызвать твой волшебный метод CallManagerService.GetCallCollection()... заодно все и просуммируешь. Или я что-то не так понял ?
?
L>А вот с отделом хочется чтоб информация была представлена следующим образом.
L>Номер Сотрудника|ФИО Сотрудника|Суммарная длительность звонков|Суммарная стоимость звонков
Ключевое слово выделено. Не надо пытаться со скрипом втискивать существующие классы в рамки, установленные задачей -- создайте новый класс (а-ля EmployeeCallDurationInfo) и выводите куда заблагорассудится. И SQL'ные group by, sum() и пр. вам в руки.
HgLab: Mercurial Server and Repository Management for Windows
Здравствуйте, Нахлобуч, Вы писали:
Н>Здравствуйте, linker, Вы писали:
Н>
Н>public class CallCollection:IEnumerable
Н>
Н>Таки скажи -- почему не
Н>
Н>public class CallCollection:Collection<Call>
Н>
Н>?
Перечитал да в моем случае правильнее использовать Collection<Call>,в одном только сомнения
public class CallCollection:ICollection<Call>
{
private List<Call> arCall = new List<Call>();
public IEnumerator<Call> GetEnumerator()
{
return arCall.GetEnumerator();
}
}
Н>Ключевое слово выделено. Не надо пытаться со скрипом втискивать существующие классы в рамки, установленные задачей -- создайте новый класс (а-ля EmployeeCallDurationInfo) и выводите куда заблагорассудится. И SQL'ные group by, sum() и пр. вам в руки.
Спасибо,понял.
Здравствуйте, linker, Вы писали:
L>Перечитал да в моем случае правильнее использовать Collection<Call>,в одном только сомнения
Чего ты прицепился к GetEnumerator()'у этому? Индексация не нужна, что ли? Или Add()? Если нет (что маловероятно), то просто реализуй IEnumerable<T>. Есди да -- то наследуйся от Collection<T> и не майся дурью.
HgLab: Mercurial Server and Repository Management for Windows
Здравствуйте, Нахлобуч, Вы писали:
Н>Здравствуйте, linker, Вы писали:
L>>Перечитал да в моем случае правильнее использовать Collection<Call>,в одном только сомнения
Н>Чего ты прицепился к GetEnumerator()'у этому? Индексация не нужна, что ли? Или Add()? Если нет (что маловероятно), то просто реализуй IEnumerable<T>. Н>Есди да -- то наследуйся от Collection<T> и не майся дурью.
Да понял я, понял
Здравствуйте, linker, Вы писали:
L>Есть занчит отделы(Department) в них сотрудники(Employee), у сотрудников есть телефоны(Phone),они совершают звонки(Call).Хочеться иметь статистик по этим звонкам как для сотрудника так и для отдела.
Насколько часто статистика требуется? Как часто появляются звонки?
... << RSDN@Home 1 alpha 3 rev. 0>>
Help will always be given at Hogwarts to those who ask for it.
Здравствуйте, _FRED_, Вы писали:
_FR>Здравствуйте, linker, Вы писали:
L>>Есть занчит отделы(Department) в них сотрудники(Employee), у сотрудников есть телефоны(Phone),они совершают звонки(Call).Хочеться иметь статистик по этим звонкам как для сотрудника так и для отдела.
_FR>Насколько часто статистика требуется? Как часто появляются звонки?
Статистика требуется не так что бы уж часто.Статистика появляется раз в месяц(отчет приходит от провайдера)
ЗЫ:Да я уже разобрался,Нахлобуч наставил на путь истинный