/// <summary> /// Retrieves Get Total Rows of Lookup /// </summary> /// <returns>Int32 type object</returns> public Int32 GetRowCount() { using (LookupDataAccess data = new LookupDataAccess(ClientContext)) { return(data.GetRowCount()); } }
/// <summary> /// Retrieve list of Lookup by query String. /// <param name="query"></param> /// </summary> /// <returns>List of Lookup</returns> public LookupList GetByQuery(String query) { using (LookupDataAccess data = new LookupDataAccess(ClientContext)) { return(data.GetByQuery(query)); } }
/// <summary> /// Retrieve list of Lookup by PageRequest. /// <param name="request"></param> /// </summary> /// <returns>List of Lookup</returns> public LookupList GetPaged(PagedRequest request) { using (LookupDataAccess data = new LookupDataAccess(ClientContext)) { return(data.GetPaged(request)); } }
/// <summary> /// Retrieve list of Lookup. /// no parameters required to be passed in. /// </summary> /// <returns>List of Lookup</returns> public LookupList GetAll() { using (LookupDataAccess data = new LookupDataAccess(ClientContext)) { return(data.GetAll()); } }
/// <summary> /// Retrieve Lookup data using unique ID /// </summary> /// <param name="_Id"></param> /// <returns>Lookup Object</returns> public Lookup Get(Int32 _Id) { using (LookupDataAccess data = new LookupDataAccess(ClientContext)) { return(data.Get(_Id)); } }
/// <summary> /// Delete operation for Lookup /// <param name="_Id"></param> /// <returns></returns> private bool Delete(Int32 _Id) { using (LookupDataAccess data = new LookupDataAccess(ClientContext)) { // return if code > 0 return(data.Delete(_Id) > 0); } }
public AddEditProductModel GetProductForCreate() { AddEditProductModel product = new AddEditProductModel(); LookupDataAccess lookupDataAccess = new LookupDataAccess(); product.DonViTinhSource = lookupDataAccess.GetListLookup("DonViTinh"); product.KichThuocSource = lookupDataAccess.GetListLookup("KichThuoc"); product.LoaiHangSource = lookupDataAccess.GetListLookup("LoaiHang"); product.NhaSanXuatSource = lookupDataAccess.GetListLookup("NhaSanXuat"); return(product); }
/// <summary> /// Retrieve list of Lookup. /// </summary> /// <param name="fillChild"></param> /// <returns>List of Lookup</returns> public LookupList GetAll(bool fillChild) { LookupList lookupList = new LookupList(); using (LookupDataAccess data = new LookupDataAccess(ClientContext)) { lookupList = data.GetAll(); } if (fillChild) { foreach (Lookup lookupObject in lookupList) { FillLookupWithChilds(lookupObject, fillChild); } } return(lookupList); }
public async Task <IActionResult> GetLookup([FromHeader(Name = "Grid-General-Token")] string Token, [FromRoute] string lookupType) { try { if (string.IsNullOrEmpty(lookupType)) { return(Ok(new OperationResponse { HasSucceeded = false, Message = StatusMessages.DomainValidationError, IsDomainValidationErrors = true })); } TokenValidationHelper tokenValidationHelper = new TokenValidationHelper(); if (!tokenValidationHelper.ValidateGenericToken(Token, _iconfiguration)) { return(Ok(new OperationResponse { HasSucceeded = false, Message = Core.Extensions.EnumExtensions.GetDescription(DbReturnValue.TokenAuthFailed), IsDomainValidationErrors = true })); } LookupDataAccess _lookupAccess = new LookupDataAccess(_iconfiguration); return(Ok(new ServerResponse { HasSucceeded = true, Message = StatusMessages.SuccessMessage, Result = await _lookupAccess.GetLookupList(lookupType) })); } catch (Exception ex) { LogInfo.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical)); return(Ok(new OperationResponse { HasSucceeded = false, Message = StatusMessages.ServerError, IsDomainValidationErrors = false })); } }
/// <summary> /// Update base of Lookup Object. /// Data manipulation processing for: new, deleted, updated Lookup /// </summary> /// <param name="lookupObject"></param> /// <returns></returns> public bool UpdateBase(Lookup lookupObject) { // use of switch for different types of DML switch (lookupObject.RowState) { // insert new rows case BaseBusinessEntity.RowStateEnum.NewRow: return(Insert(lookupObject)); // delete rows case BaseBusinessEntity.RowStateEnum.DeletedRow: return(Delete(lookupObject.Id)); } // update rows using (LookupDataAccess data = new LookupDataAccess(ClientContext)) { return(data.Update(lookupObject) > 0); } }
/// <summary> /// Insert new lookup. /// data manipulation for insertion of Lookup /// </summary> /// <param name="lookupObject"></param> /// <returns></returns> private bool Insert(Lookup lookupObject) { // new lookup using (LookupDataAccess data = new LookupDataAccess(ClientContext)) { // insert to lookupObject Int32 _Id = data.Insert(lookupObject); // if successful, process if (_Id > 0) { lookupObject.Id = _Id; return(true); } else { return(false); } } }
public static void FillGapsFromMonthlyLimits(List <DemandGapOneRow> gaps, List <MonthlyLimitRow> monthlyLimitByCarGroup, List <WeeklyLimitRow> weeklyLimitBySegment, List <WeeklyAddition> generatedAdditions) { var gapsFromMonthlyLimits = gaps.Where(d => d.ReasonForGap.StartsWith("M")).ToList(); if (!gapsFromMonthlyLimits.Any()) { return; } using (var lookup = new LookupDataAccess()) { foreach (var dgor in gapsFromMonthlyLimits) { var carGroupLimited = dgor.GetCarGroupId(); var carSegmentLimited = dgor.GetCarSegmentId(); var weekLimitedOn = dgor.WeekNumber; var monthLimitedOn = dgor.GetMonth(); var yearLimitedOn = dgor.Year; var locationId = dgor.GetLocationId(); var totalDesired = Math.Abs(dgor.MissingVehicles); var limitForThisWeek = weeklyLimitBySegment.FirstOrDefault(d => d.GetCarSegmentId() == carSegmentLimited && d.Week == weekLimitedOn && d.Year == yearLimitedOn); if (limitForThisWeek == null) { continue; } //If the limit for this week has already been reached if (limitForThisWeek.AdditionsLimit == limitForThisWeek.Assigned) { continue; } //Reduce the amount needed to match the weekly max if (limitForThisWeek.Assigned + totalDesired > limitForThisWeek.AdditionsLimit) { totalDesired = limitForThisWeek.AdditionsLimit - limitForThisWeek.Assigned; } var replacementCarGroups = lookup.FindCarGroupsInSameCarClass(carGroupLimited); //Total amount tracks the amount to give in case it's spread across several car groups var totalAmountToGive = totalDesired; foreach (var rcg in replacementCarGroups) { if (totalAmountToGive == 0) { break; } int whatCanBeGiven; var carGroupId = rcg; var limitForMonth = monthlyLimitByCarGroup.FirstOrDefault(d => d.GetMonth() == monthLimitedOn && d.Year == yearLimitedOn && d.GetCarGroupId() == carGroupId); if (limitForMonth == null) { continue; } //Limit already reached this month for this Car Group if (limitForMonth.AdditionsLimit == limitForMonth.Assigned) { continue; } if (limitForMonth.Assigned + totalAmountToGive > limitForMonth.AdditionsLimit) { whatCanBeGiven = limitForMonth.AdditionsLimit - limitForMonth.Assigned; totalAmountToGive -= whatCanBeGiven; } else { whatCanBeGiven = totalAmountToGive; totalAmountToGive = 0; } //Increment Weeky, monthly and Output list limitForMonth.Assigned += whatCanBeGiven; limitForThisWeek.Assigned += whatCanBeGiven; dgor.AddVehicles(whatCanBeGiven); if (generatedAdditions.Any(d => d.CarGroupId == carGroupId && d.LocationId == locationId && d.IsoWeek == weekLimitedOn && d.Year == yearLimitedOn)) { var entityToUpdate = generatedAdditions.First(d => d.CarGroupId == carGroupId && d.LocationId == locationId && d.IsoWeek == weekLimitedOn && d.Year == yearLimitedOn); entityToUpdate.Amount += whatCanBeGiven; } else { generatedAdditions.Add(new WeeklyAddition { LocationId = locationId, CarGroupId = carGroupId, IsoWeek = weekLimitedOn, Year = yearLimitedOn, Amount = whatCanBeGiven }); } } } } }
public void CalcualteLimits() { var parameters = ucParameters.GetParameters(); parameters[DictionaryParameter.StartDate] = (new DateTime(2015, 2, 7)).ToShortDateString(); List <DemandGapOneRow> demandGapData; var sb = new StringBuilder(); using (var dataAccess = new DemandGapDataAccess(parameters)) { var data = dataAccess.GetDemandGapStepOne(); //var data2 = dataAccess.GetDemandGapOne(data); //var data2 = dataAccess.GetDemandGapStepOneViz(); //ucDgVis.GridData = data2.ToList(); demandGapData = data.ToList(); DemandGapCalculations.CalculateGap(demandGapData); demandGapData = demandGapData.ToList(); ucDemanGapStageOneGrid.GridData = demandGapData; //ucDemandGapOne.GridData = data2; //var spread = dataAccess.GetSpreadForLocation(); // ucSpread.GridData = spread; } List <MonthlyLimitRow> monthlyData; List <WeeklyLimitRow> weeklyData; using (var dataAccess = new MonthlyAddLimitDataAccess()) { monthlyData = dataAccess.GetMonthlyLimitRows(2); weeklyData = dataAccess.GetWeekLyLimitRows(3); } using (var dataAccess = new VehicleDistributionDataAccess()) { if (parameters[DictionaryParameter.CarGroup] != string.Empty && (!parameters[DictionaryParameter.CarClass].Contains(LocationQueryable.Separator))) { var carClassId = int.Parse(parameters[DictionaryParameter.CarClass]); using (var lookup = new LookupDataAccess()) { var splitCarGroupIds = lookup.FindCarGroupsInCarClass(carClassId); monthlyData = monthlyData.Where(d => splitCarGroupIds.Contains(d.GetCarGroupId())).ToList(); } } var calculatedAdds = DemandGapCalculations.AssignGroupOne(demandGapData, monthlyData, weeklyData); sb.AppendLine("Additions Step 1 Generated:" + calculatedAdds.Sum(d => d.Amount)); DemandGapCalculations.FillGapsFromMonthlyLimits(demandGapData, monthlyData, weeklyData, calculatedAdds); sb.AppendLine("Additions Step 1.1 Generated:" + calculatedAdds.Sum(d => d.Amount)); dataAccess.FillNames(calculatedAdds); ucResult.GridData = calculatedAdds; } //ucDemanGapStageOneGrid.UpdateUpdatePanel(); //ucDemandGapOne.UpdateUpdatePanel(); ucMonthlyLimit.LoadData(monthlyData); ucWeeklyLimit.LoadData(weeklyData); sb.AppendLine("Total Monthly assigned:" + monthlyData.Sum(d => d.Assigned)); sb.AppendLine("Total Weekly assigned:" + weeklyData.Sum(d => d.Assigned)); Session[FaoCalculationTextSummary] = sb.ToString(); Session[FaoCalculationStarted] = "Finished"; }
public void CalcualteLimits() { try { var parameters = ucParameters.GetParameters(); List <WeeklyMaxMinValues> demandGapData; var sb = new StringBuilder(); var stepToCalculateTo = int.Parse(ddlStage.SelectedValue); DateTime currentDay; using (var dataAccess = new DemandGapDataAccess(parameters)) { currentDay = dataAccess.GetLastHistoryTimestamp(); var weeksToCalculate = int.Parse(tbWeeks.Text); //Constant 12 weeks for history calculations parameters[DictionaryParameter.StartDate] = (currentDay.AddDays(-84)).ToShortDateString(); parameters[DictionaryParameter.EndDate] = (currentDay).ToShortDateString(); parameters[DictionaryParameter.ForecastStartDate] = (currentDay).ToShortDateString(); var endDate = currentDay.AddDays(weeksToCalculate * 7).Next(DayOfWeek.Sunday); parameters[DictionaryParameter.ForecastEndDate] = (endDate).ToShortDateString(); var minComSegScenarioId = int.Parse(ddlMinCommSeg.SelectedValue); var maxFleetFactorScenarioId = int.Parse(ddlMaxFleetFactor.SelectedValue); demandGapData = dataAccess.CalculateMinMax(minComSegScenarioId, maxFleetFactorScenarioId, 0); ucDgcProgress.CurrentProgress = DemandGapCalculationStep.CalculateMinAndMax; var sw = new Stopwatch(); sw.Start(); DemandGapOneCalculations.CalculateGap(demandGapData); demandGapData = demandGapData.ToList(); sw.Stop(); var xx = sw.Elapsed; sw.Reset(); sw.Start(); var rankingData = dataAccess.GetFinanceEntities(); sw.Stop(); var yy = sw.Elapsed; sw.Reset(); sw.Start(); DemandGapOneCalculations.AttachRankingsToDemandGaps(demandGapData, rankingData); sw.Stop(); var zz = sw.Elapsed; sw.Reset(); sw.Start(); demandGapData = demandGapData.OrderBy(d => d.RankFromRevenue).ToList(); sw.Stop(); var qq = sw.Elapsed; ucDemanGapStageOneGrid.GridData = demandGapData; } List <MonthlyLimitRow> monthlyData; List <WeeklyLimitRow> weeklyData; int?carSegmentId = null; if (parameters.ContainsValueAndIsntEmpty(DictionaryParameter.CarSegment)) { carSegmentId = int.Parse(parameters[DictionaryParameter.CarSegment]); } using (var dataAccess = new MonthlyAddLimitDataAccess()) { monthlyData = dataAccess.GetMonthlyLimitRows(carSegmentId, currentDay); weeklyData = dataAccess.GetWeekLyLimitRows(carSegmentId, currentDay); } using (var dataAccess = new VehicleDistributionDataAccess()) { if (parameters[DictionaryParameter.CarGroup] != string.Empty && (!parameters[DictionaryParameter.CarClass].Contains(LocationQueryable.Separator))) { var carClassId = int.Parse(parameters[DictionaryParameter.CarClass]); using (var lookup = new LookupDataAccess()) { var splitCarGroupIds = lookup.FindCarGroupsInCarClass(carClassId); monthlyData = monthlyData.Where(d => splitCarGroupIds.Contains(d.GetCarGroupId())).ToList(); } } ucDgcProgress.CurrentProgress = DemandGapCalculationStep.StepOneCarGroup; var calculatedAdds = DemandGapOneCalculations.FillGapOneCarGroup(demandGapData, monthlyData, weeklyData); sb.AppendLine("Additions Step 1 Generated:" + calculatedAdds.Sum(d => d.Amount)); if (stepToCalculateTo > 1) { ucDgcProgress.CurrentProgress = DemandGapCalculationStep.StepOneCarClass; DemandGapOneCalculations.FillGapOneCarClass(demandGapData, monthlyData, weeklyData, calculatedAdds); sb.AppendLine("Additions Step 1.1 Generated:" + calculatedAdds.Sum(d => d.Amount)); } if (stepToCalculateTo > 2) { ucDgcProgress.CurrentProgress = DemandGapCalculationStep.StepTwoCarGroup; DemandGapOneCalculations.FillGapTwoCarGroup(demandGapData, monthlyData, weeklyData, calculatedAdds); sb.AppendLine("Additions Step 2 Generated:" + calculatedAdds.Sum(d => d.Amount)); } if (stepToCalculateTo > 3) { ucDgcProgress.CurrentProgress = DemandGapCalculationStep.StepTwoCarClass; DemandGapOneCalculations.FillGapTwoCarClass(demandGapData, monthlyData, weeklyData, calculatedAdds); sb.AppendLine("Additions Step 2.1 Generated:" + calculatedAdds.Sum(d => d.Amount)); } dataAccess.FillNames(calculatedAdds); var distinctContributionData = from dgd in demandGapData group dgd by new { CarGroupId = dgd.GetCarGroupId(), LocationId = dgd.GetLocationId() } into groupedData select new { groupedData.Key.CarGroupId, groupedData.Key.LocationId, groupedData.First().Contribution }; var additionEntities = from ca in calculatedAdds join dgd in distinctContributionData on new { ca.CarGroupId, ca.LocationId } equals new { dgd.CarGroupId, dgd.LocationId } into jdgd from joinedDcd in jdgd.DefaultIfEmpty() select new AdditionEntity { Year = ca.Year, IsoWeek = ca.IsoWeek, CarGroupId = ca.CarGroupId, LocationId = ca.LocationId, CarGroup = ca.CarGroup, Location = ca.Location, Amount = ca.Amount, Contribution = joinedDcd == null ? 0 : (double)joinedDcd.Contribution }; ucResult.GridData = additionEntities.ToList(); } ucMonthlyLimit.LoadData(monthlyData); ucWeeklyLimit.LoadData(weeklyData); sb.AppendLine("Total Monthly assigned: " + monthlyData.Sum(d => d.Assigned)); sb.AppendLine("Total Weekly assigned: " + weeklyData.Sum(d => d.Assigned)); SummaryText = sb.ToString(); ucDgcProgress.CurrentProgress = DemandGapCalculationStep.Complete; } catch (Exception e) { SummaryText = e.ToString(); ucDgcProgress.CurrentProgress = DemandGapCalculationStep.Error; } }