public void AddLastYearWeeklyPaperwork(DateTime date, ArrayList storeList) { try { StoreDTO storeDTO = (StoreDTO)storeList[0]; WeeklyPaperworkModel model = new WeeklyPaperworkModel(); bool isWeekExsist = false; DateTime yearFirstWeekDate = ValidationUtility.YearWeekStartDate(date); if (!model.IsWeeklyPaperExistIntoLocalDb(storeDTO.Id, yearFirstWeekDate)) { model.AddWeeklyPaperWork(yearFirstWeekDate, storeList, true); } DateTime everyWeekStarDate = yearFirstWeekDate; DateTime yearLastWeekDate = ValidationUtility.GetActualWeekStartDate(new DateTime(date.Year, 12, 31)); while (!isWeekExsist) { everyWeekStarDate = everyWeekStarDate.AddDays(7); DateTime weekStartDate = ValidationUtility.GetActualWeekStartDate(everyWeekStarDate); if (yearLastWeekDate.Date.Equals(weekStartDate.Date)) { isWeekExsist = true; if (!model.IsWeeklyPaperExistIntoLocalDb(storeDTO.Id, weekStartDate)) { model.AddWeeklyPaperWork(weekStartDate, storeList, true); } } else { if (!model.IsWeeklyPaperExistIntoLocalDb(storeDTO.Id, weekStartDate)) { model.AddWeeklyPaperWork(weekStartDate, storeList, true); } } } } catch (Exception ex) { log.Error("Exception in AddLastYearWeeklyPaperwork Method",ex); } }
//Get Data From server For Actual Value public WeeklyPaperworkDTO GetWeeklyPaperWork(DateTime currentWeekStartDate, ArrayList storeList) { WeeklyPaperworkDTO dto = null; try { ReportModel reportModel = new ReportModel(); StoreDTO storeDTO = (StoreDTO)storeList[0]; WeeklyPaperworkModel model = new WeeklyPaperworkModel(); DateTime weekStartDate = ValidationUtility.GetActualWeekStartDate(currentWeekStartDate); bool flag = model.IsWeeklyPaperExistIntoLocalDb(storeDTO.Id, weekStartDate); if (!flag) { model.AddWeeklyPaperWork(weekStartDate, storeList, true); dto = model.GetWeeklyPaperWorkOfWeek(storeDTO.Id, weekStartDate); } else { dto = model.GetWeeklyPaperWorkOfWeek(storeDTO.Id, weekStartDate); } } catch (Exception ex) { log.Error("Exception in GetCurrentWeekGoalsYTD Method", ex); } return dto; }
//public GoalsDTO GetLast(DateTime date) //{ //} public void AddCurrentYearYTD(DateTime date, ArrayList storeList) { try { ArrayList ytdList = new ArrayList(); ArrayList list = new ArrayList(); ReportModel reportModel = new ReportModel(); GoalYTDDTO ytdDTO = new GoalYTDDTO(); bool isWeekExsist = false; StoreDTO storeDTO = (StoreDTO)storeList[0]; WeeklyPaperworkModel model = new WeeklyPaperworkModel(); DateTime yearFirstWeekStartDate = ValidationUtility.YearWeekStartDate(date); bool flag = model.IsWeeklyPaperExistIntoLocalDb(storeDTO.Id, yearFirstWeekStartDate); ytdDTO.StoreId = storeDTO.Id; ytdDTO.Year = date.Year; ytdDTO.WeekStartDate = yearFirstWeekStartDate; ytdDTO.WeekEndDate = yearFirstWeekStartDate.AddDays(6); if (!flag) { model.AddWeeklyPaperWork(yearFirstWeekStartDate, storeList, true); WeeklyPaperworkDTO dto = model.GetWeeklyPaperWorkOfWeek(storeDTO.Id, yearFirstWeekStartDate); ytdDTO.FoodCost = dto.CostPercent; ytdDTO.LaborCost = dto.LaborCostPercent; ytdDTO.FoodLaborCost = dto.CostPercent + dto.LaborCostPercent; } else { WeeklyPaperworkDTO dto = model.GetWeeklyPaperWorkOfWeek(storeDTO.Id, yearFirstWeekStartDate); ytdDTO.FoodCost = dto.CostPercent; ytdDTO.LaborCost = dto.LaborCostPercent; ytdDTO.FoodLaborCost = dto.CostPercent + dto.LaborCostPercent; } double totalsubWaySale = reportModel.TotalSabWaySaleOfYear(yearFirstWeekStartDate, yearFirstWeekStartDate.AddDays(6), storeDTO.ConnectionString); ytdDTO.Auv = totalsubWaySale; double totalDrinkSale = reportModel.TotalDrinkSale(yearFirstWeekStartDate, yearFirstWeekStartDate.AddDays(6), storeDTO.ConnectionString); ytdDTO.DrinkCount = ValidationUtility.IsNan(totalDrinkSale / totalsubWaySale); list = reportModel.GetSalesItemizationFoodLong(yearFirstWeekStartDate, storeDTO.ConnectionString); ytdDTO.UnitFootlongSales = (double)list[0]; ytdDTO.FsPercent = ValidationUtility.IsNan(ytdDTO.UnitFootlongSales/ytdDTO.Auv); ytdDTO.Unit = (double)list[1]; ytdDTO.Factor = (double)list[2]; ytdDTO.CustomerCount = (double)list[3]; ytdDTO.CheckItem = (double)list[4]; ytdDTO.Productivity = (double)list[5]; ytdDTO.HoursWorked = (double)list[6]; DateTime everyWeekStarDate = yearFirstWeekStartDate; DateTime currenWeekStartDate = ValidationUtility.GetActualWeekStartDate(DateTime.Now); ytdList.Add(ytdDTO); while (!isWeekExsist) { ytdDTO = new GoalYTDDTO(); ytdDTO.StoreId = storeDTO.Id; ytdDTO.Year = date.Year; everyWeekStarDate = everyWeekStarDate.AddDays(7); DateTime weekStartDate = ValidationUtility.GetActualWeekStartDate(everyWeekStarDate); ytdDTO.WeekStartDate = weekStartDate; ytdDTO.WeekEndDate = weekStartDate.AddDays(6); flag = model.IsWeeklyPaperExistIntoLocalDb(storeDTO.Id, weekStartDate); if (currenWeekStartDate.Date.Equals(weekStartDate.Date)) { isWeekExsist = true; if (!flag) { model.AddWeeklyPaperWork(weekStartDate, storeList, true); WeeklyPaperworkDTO dto = model.GetWeeklyPaperWorkOfWeek(storeDTO.Id, weekStartDate); ytdDTO.FoodCost = dto.CostPercent; ytdDTO.LaborCost = dto.LaborCostPercent; ytdDTO.FoodLaborCost = dto.CostPercent + dto.LaborCostPercent; } totalsubWaySale = reportModel.TotalSabWaySaleOfYear(weekStartDate, weekStartDate.AddDays(6), storeDTO.ConnectionString); ytdDTO.Auv = totalsubWaySale; totalDrinkSale = reportModel.TotalDrinkSale(weekStartDate, weekStartDate.AddDays(6), storeDTO.ConnectionString); ytdDTO.DrinkCount = ValidationUtility.IsNan(totalDrinkSale / totalsubWaySale); list = reportModel.GetSalesItemizationFoodLong(weekStartDate, storeDTO.ConnectionString); ytdDTO.UnitFootlongSales = (double)list[0]; ytdDTO.FsPercent = ValidationUtility.IsNan(ytdDTO.UnitFootlongSales / ytdDTO.Auv); ytdDTO.Unit = (double)list[1]; ytdDTO.Factor = (double)list[2]; ytdDTO.CustomerCount = (double)list[3]; ytdDTO.CheckItem = (double)list[4]; ytdDTO.Productivity = (double)list[5]; ytdDTO.HoursWorked = (double)list[6]; } else { if (!flag) { model.AddWeeklyPaperWork(weekStartDate, storeList, true); WeeklyPaperworkDTO dto = model.GetWeeklyPaperWorkOfWeek(storeDTO.Id, weekStartDate); ytdDTO.FoodCost = dto.CostPercent; ytdDTO.LaborCost = dto.LaborCostPercent; ytdDTO.FoodLaborCost = dto.CostPercent + dto.LaborCostPercent; } totalsubWaySale= reportModel.TotalSabWaySaleOfYear(weekStartDate, weekStartDate.AddDays(6), storeDTO.ConnectionString); ytdDTO.Auv = totalsubWaySale; totalDrinkSale = reportModel.TotalDrinkSale(weekStartDate, weekStartDate.AddDays(6), storeDTO.ConnectionString); ytdDTO.DrinkCount = ValidationUtility.IsNan(totalDrinkSale / totalsubWaySale); list = reportModel.GetSalesItemizationFoodLong(weekStartDate, storeDTO.ConnectionString); ytdDTO.UnitFootlongSales = (double)list[0]; ytdDTO.FsPercent = ValidationUtility.IsNan(ytdDTO.UnitFootlongSales / ytdDTO.Auv); ytdDTO.Unit = (double)list[1]; ytdDTO.Factor = (double)list[2]; ytdDTO.CustomerCount = (double)list[3]; ytdDTO.CheckItem = (double)list[4]; ytdDTO.Productivity = (double)list[5]; ytdDTO.HoursWorked = (double)list[6]; } ytdList.Add(ytdDTO); } AddGoalYTD(ytdList); } catch (Exception ex) { log.Error("Exception in AddCurrentYearYTD Method", ex); } }
public ArrayList GetCurrentWeekGoalsYTD(DateTime currentWeekStartDate, ArrayList storeList) { ArrayList currentYTDList = new ArrayList(); try { GoalYTDDTO ytdDTO = new GoalYTDDTO(); ReportModel reportModel = new ReportModel(); StoreDTO storeDTO = (StoreDTO)storeList[0]; WeeklyPaperworkModel model = new WeeklyPaperworkModel(); ytdDTO.StoreId = storeDTO.Id; ytdDTO.Year = currentWeekStartDate.Year; DateTime weekStartDate = ValidationUtility.GetActualWeekStartDate(currentWeekStartDate); ytdDTO.WeekStartDate = weekStartDate; ytdDTO.WeekEndDate = weekStartDate.AddDays(6); bool flag = model.IsWeeklyPaperExistIntoLocalDb(storeDTO.Id, weekStartDate); if (!flag) { model.AddWeeklyPaperWork(weekStartDate, storeList, true); WeeklyPaperworkDTO dto = model.GetWeeklyPaperWorkOfWeek(storeDTO.Id, weekStartDate); ytdDTO.FoodCost = dto.CostPercent; ytdDTO.LaborCost = dto.LaborCostPercent; ytdDTO.FoodLaborCost = dto.CostPercent + dto.LaborCostPercent; } else { WeeklyPaperworkDTO dto = model.GetWeeklyPaperWorkOfWeek(storeDTO.Id, weekStartDate); ytdDTO.FoodCost = dto.CostPercent; ytdDTO.LaborCost = dto.LaborCostPercent; ytdDTO.FoodLaborCost = dto.CostPercent + dto.LaborCostPercent; } double totalsubWaySale = reportModel.TotalSabWaySaleOfYear(weekStartDate, weekStartDate.AddDays(6), storeDTO.ConnectionString); ytdDTO.Auv = totalsubWaySale; double totalDrinkSale = reportModel.TotalDrinkSale(weekStartDate, weekStartDate.AddDays(6), storeDTO.ConnectionString); ytdDTO.DrinkCount = ValidationUtility.IsNan(totalDrinkSale / totalsubWaySale); ArrayList list = reportModel.GetSalesItemizationFoodLong(weekStartDate, storeDTO.ConnectionString); ytdDTO.UnitFootlongSales = (double)list[0]; ytdDTO.FsPercent = ValidationUtility.IsNan(ytdDTO.UnitFootlongSales/ytdDTO.Auv); ytdDTO.Unit = (double)list[1]; ytdDTO.Factor = (double)list[2]; ytdDTO.CustomerCount = (double)list[3]; ytdDTO.CheckItem = (double)list[4]; ytdDTO.Productivity = (double)list[5]; ytdDTO.HoursWorked = (double)list[6]; currentYTDList.Add(ytdDTO); } catch (Exception ex) { log.Error("Exception in GetCurrentWeekGoalsYTD Method", ex); } return currentYTDList; }