Hi, I'm a senior .net mvc freelancer. I've got a contract I'm trying to wrap up and suspect telerik reporting will help me knockout the 10 reports I have left.
The thing is, I've never used it before. I've just spent about 3 hours playing around with it and am sure I can handle it but I know from experience it will be 10 times faster with a partner with experience.
So, if you know how to implement reporting over entity framework code first and .net mvc4, I could sure use an hour of remote pair programming! Of course, I'm willing to pay. Let me know what you think is fair. - (danschlossberg at really_big_search_engine_mail.com)
I've attached relevant data model and wireframe of one report. I can't imagine that anyone would be able to understand how to map it without a detailed conversation. There are several pivots and intermediary calculations required.
Oh, maybe the following linq statement will help. :)
hmmm... I didn't think so....
Anxiously awaiting your email...
Dan
The thing is, I've never used it before. I've just spent about 3 hours playing around with it and am sure I can handle it but I know from experience it will be 10 times faster with a partner with experience.
So, if you know how to implement reporting over entity framework code first and .net mvc4, I could sure use an hour of remote pair programming! Of course, I'm willing to pay. Let me know what you think is fair. - (danschlossberg at really_big_search_engine_mail.com)
I've attached relevant data model and wireframe of one report. I can't imagine that anyone would be able to understand how to map it without a detailed conversation. There are several pivots and intermediary calculations required.
Oh, maybe the following linq statement will help. :)
var data = from week
in
base
.Db.WeeklyInputs
where week.FranchiseId == franchiseId && week.Year == year
select
new
{
week.FranchiseId,
week.WeekEnding,
week.CleaningWages,
week.BonusWages,
week.TotalMaidsAbsent,
week.TotalMaidsScheduled,
week.MaidTurnover,
week.TotalMaidMinutes,
week.AverageTeamSize,
week.TravelTime,
week.QualityCardsReturned,
week.QualityCardPoints,
Cancels = week.CustomerCancellations,
Name = week.Franchise.Title,
TotalRev = week.WeeklySalesByLocation.Sum(sales => sales.Sales),
TotalUnitsCleaned = week.WeeklySalesByLocation.Sum(s => s.UnitsCleaned),
AverageQualityPoints = week.QualityCardsReturned == 0
? 0
: week.QualityCardPoints/week.QualityCardsReturned,
AverageHourlyWage = week.TotalMaidMinutes == 0
? 0
: (week.CleaningWages)*60/(week.TotalMaidMinutes),
RegularRev = week.WeeklySalesByLocation
.Where(s => s.LocationType ==
"Regular"
).Sum(sales => sales.Sales),
FirstRev = week.WeeklySalesByLocation
.Where(s => s.LocationType ==
"FirstEntry"
).Sum(sales => sales.Sales),
OnCallRev = week.WeeklySalesByLocation
.Where(s => s.LocationType ==
"OnCall"
).Sum(sales => sales.Sales),
CommercialRev = week.WeeklySalesByLocation
.Where(s => s.LocationType ==
"Commercial"
).Sum(sales => sales.Sales),
Conversions = week.MarketingExpenses
.Sum(marketing => marketing.Conversions),
Locations = week.WeeklySalesByLocation
.Select(l =>
new
{
l.Sales,
l.LocationType,
l.UnitsCleaned,
l.TeamMinutes,
l.MaidMinutes,
AverageSale = l.UnitsCleaned == 0 ? 0 : l.Sales/l.UnitsCleaned,
AverageTime = l.UnitsCleaned == 0 ? 0 : l.MaidMinutes/l.UnitsCleaned,
AverageRevPerMaidHour = l.MaidMinutes == 0 ? 0 : (l.Sales/l.MaidMinutes)*60
}),
AverageRevenuePerInHomeMaidHour =
(week.TotalMaidMinutes + (week.TravelTime*week.AverageTeamSize)) == 0
? 0
: week.WeeklySalesByLocation.Sum(sales => sales.Sales)/
(week.TotalMaidMinutes + (week.TravelTime*week.AverageTeamSize))*60
};
hmmm... I didn't think so....
Anxiously awaiting your email...
Dan