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