/// <summary> /// Resets breaks (E.g. Availability, efficiency) /// </summary> /// <param name="breaks"></param> /// <param name="spots"></param> /// <param name="breakRepository"></param> private void ResetBreaks(SalesArea salesArea, DateTime fromDateTime, DateTime toDateTime, bool resetBreakEfficiency, Mutex sharedResourceMutex) { if (!resetBreakEfficiency) { return; } using (var scope = _repositoryFactory.BeginRepositoryScope()) { // Get breaks & schedules to reset // Create repositories sharedResourceMutex.WaitOne(); var breakRepository = scope.CreateRepository <IBreakRepository>(); sharedResourceMutex.ReleaseMutex(); var breaks = breakRepository.Search(fromDateTime, toDateTime, salesArea.Name).ToList(); foreach (var @break in breaks) { if (resetBreakEfficiency) { @break.BreakEfficiencyList = null; } breakRepository.Add(@break); } breakRepository.SaveChanges(); } }
/// <summary> /// Load breaks for break efficiency import record if not already in memory /// </summary> /// <param name="salesArea"></param> /// <param name="breakEfficiencyImport"></param> /// <param name="schedules"></param> private void LoadBreaks(SalesArea salesArea, BreakEfficiencyImport breakEfficiencyImport, List <ScheduleIndexed <Break, int> > schedules, IScheduleRepository scheduleRepository) { DateTime startDateTime = GetStartDateTime(breakEfficiencyImport); // Load Schedule document if necessary var schedule = schedules.Where(s => s.SalesArea == salesArea.Name && s.Date.Date == startDateTime.Date).FirstOrDefault(); if (schedule == null) // Not in memory, load it { var scheduleObject = scheduleRepository.GetSchedule(salesArea.Name, startDateTime.Date); if (scheduleObject != null) { if (scheduleObject.Breaks != null && scheduleObject.Breaks.Count > 0) // Schedule has breaks { _auditEventRepository.Insert(AuditEventFactory.CreateAuditEventForInformationMessage(0, 0, string.Format("Break Efficiency processing. Schedule loaded for sales area {0} and date {1}", salesArea.Name, startDateTime.Date))); scheduleObject.Breaks.ForEach(@break => @break.BreakEfficiencyList = null); } else // No breaks { _auditEventRepository.Insert(AuditEventFactory.CreateAuditEventForWarningMessage(0, 0, string.Format("Break Efficiency processing. Schedule document has no breaks for sales area {0} and date {1}", salesArea.Name, startDateTime.Date))); } schedules.Add(new ScheduleIndexed <Break, int>(scheduleObject, delegate(Break currentBreak) { return(currentBreak); }, delegate(Break currentBreak) { return(currentBreak.CustomId); })); } else // No Schedule document, log warning { _auditEventRepository.Insert(AuditEventFactory.CreateAuditEventForWarningMessage(0, 0, string.Format("Break Efficiency processing. Schedule document does not exist for sales area {0} and date {1}", salesArea.Name, startDateTime.Date))); } } }
private static void ValidateWithSpotRestrictions( SmoothBreak theSmoothBreak, Programme programme, SalesArea salesArea, IReadOnlyCollection <Spot> spotsForBreak, SmoothResources smoothResources, IReadOnlyCollection <Break> breaksBeingSmoothed, IReadOnlyCollection <Programme> scheduleProgrammes, SmoothFailureMessagesForSpotsCollection result) { var anyRestrictions = CheckRestrictionsForSpots( spotsForBreak, theSmoothBreak.TheBreak, programme, salesArea, smoothResources, breaksBeingSmoothed, scheduleProgrammes); foreach (var item in anyRestrictions) { foreach (var failure in item.Value.Failures) { result.Add(item.Key, failure.FailureMessage, failure.Restriction); } } }
GatherSpotBookingRules(SalesArea salesArea) { var spotBookingRules = _dbContext.Query <SpotBookingRule>() .AsNoTracking() .Include(x => x.SalesAreas) .Where(x => x.SalesAreas.Any(t => t.SalesAreaId == salesArea.Id)) .ToArray(); var spotBookingRulesToDelete = new List <SpotBookingRule>(); var bookingRuleSalesAreasToDelete = new List <SpotBookingRuleSalesArea>(); foreach (var bookingRule in spotBookingRules) { if (bookingRule.SalesAreas.Count == 1) { spotBookingRulesToDelete.Add(bookingRule); continue; } bookingRuleSalesAreasToDelete.AddRange(bookingRule.SalesAreas.Where(x => x.SalesAreaId == salesArea.Id)); } return(spotBookingRulesToDelete, bookingRuleSalesAreasToDelete); }
private void DeleteOrUpdateSpotBookingRules(SalesArea salesArea) { var spotBookingRulesToDelete = new List <SpotBookingRule>(); var spotBookingRules = GetByQuery <SpotBookingRule> (_session.Query <SpotBookingRule>() .Where(x => x.SalesAreas.Any(sa => sa == salesArea.Name || sa == salesArea.ShortName))); foreach (var spotBookingRule in spotBookingRules) { if (spotBookingRule.SalesAreas.Count == 1) { spotBookingRulesToDelete.Add(spotBookingRule); } else { spotBookingRule.SalesAreas.RemoveAll(sa => sa == salesArea.Name || sa == salesArea.ShortName); } } _session.SaveChanges(); BulkDelete(spotBookingRulesToDelete); }
private void DeleteOrUpdatePassRatingPoints(SalesArea salesArea) { var notStartedPasses = GetNotStartedPasses(); foreach (var pass in notStartedPasses) { var ratingPointsToDelete = new List <RatingPoint>(); if (pass.RatingPoints is null) { continue; } foreach (var ratingPoint in pass.RatingPoints) { ratingPoint.SalesAreas = ratingPoint.SalesAreas .Where(sa => sa != salesArea.Name && sa != salesArea.ShortName); if (!ratingPoint.SalesAreas.Any()) { ratingPointsToDelete.Add(ratingPoint); } } pass.RatingPoints = pass.RatingPoints.Where(r => !ratingPointsToDelete.Contains(r)).ToList(); } _session.SaveChanges(); }
private void DeleteOrUpdateRestrictions(SalesArea salesArea) { var restrictionsToDelete = new List <Restriction>(); var restrictions = GetByQuery <Restriction> (_session.Query <Restriction>() .Where(x => x.SalesAreas.Any(sa => sa == salesArea.Name || sa == salesArea.ShortName))); foreach (var restriction in restrictions) { if (restriction.SalesAreas.Count == 1) { restrictionsToDelete.Add(restriction); } else { restriction.SalesAreas.RemoveAll(sa => sa == salesArea.Name || sa == salesArea.ShortName); } } _session.SaveChanges(); BulkDelete(restrictionsToDelete); }
private void DeleteOrUpdateLibrarySalesAreaPassPriorities(SalesArea salesArea) { var passPrioritiesToDelete = new List <LibrarySalesAreaPassPriority>(); var passPriorities = GetByQuery <LibrarySalesAreaPassPriority> (_session.Query <LibrarySalesAreaPassPriority>() .Where(x => x.SalesAreaPriorities.Any(x => x.SalesArea == salesArea.Name || x.SalesArea == salesArea.ShortName))); foreach (var passPriority in passPriorities) { if (passPriority.SalesAreaPriorities.Count == 1) { passPrioritiesToDelete.Add(passPriority); } else { passPriority.SalesAreaPriorities.RemoveAll(x => x.SalesArea == salesArea.Name || x.SalesArea == salesArea.ShortName); } } _session.SaveChanges(); BulkDelete(passPrioritiesToDelete); }
private void UpdateSponsorships(SalesArea salesArea) { var sponsorships = GetByQuery <Sponsorship> (_session.Query <Sponsorship>()); var sponsoredItems = sponsorships.SelectMany(x => x.SponsoredItems).ToList(); foreach (var sponsoredItem in sponsoredItems) { var sponsorshipItemsToDelete = new List <SponsorshipItem>(); var sponsorshipItems = sponsoredItem.SponsorshipItems; foreach (var sponsorshipItem in sponsorshipItems) { sponsorshipItem.SalesAreas = sponsorshipItem.SalesAreas .Where(x => x != salesArea.Name && x != salesArea.ShortName); if (!sponsorshipItem.SalesAreas.Any()) { sponsorshipItemsToDelete.Add(sponsorshipItem); } } sponsoredItem.SponsorshipItems = sponsoredItem.SponsorshipItems.Where(x => !sponsorshipItemsToDelete.Contains(x)); } _session.SaveChanges(); }
/// <summary> Updates break efficiency on both Break & Schedule /// documents </summary> <param name="salesArea"></param> <param /// name="breakEfficiencyImport"></param> <param name="schedules"></param> private bool UpdateBreakEfficiency(SalesArea salesArea, BreakEfficiencyImport breakEfficiencyImport, List <ScheduleIndexed <Break, int> > schedules, Dictionary <int, Demographic> demographicsById) { bool success = false; var startDateTime = GetStartDateTime(breakEfficiencyImport); // Set break efficiency on Schedule document var schedule = schedules.Where(s => s.SalesArea == salesArea.Name && s.Date == startDateTime.Date) .OrderByDescending(s => (s.BreaksByKey.Count)) .FirstOrDefault(); if (schedule != null) // Schedule document found { var breakForSchedule = schedule.GetBreak(breakEfficiencyImport.break_no); if (breakForSchedule != null) // Break found { success = true; var demographic = demographicsById.ContainsKey(breakEfficiencyImport.demo_no) ? demographicsById[breakEfficiencyImport.demo_no] : null; if (breakForSchedule.BreakEfficiencyList == null) { breakForSchedule.BreakEfficiencyList = new List <BreakEfficiency>(); } // TODO: Re-enable this when Break.Efficiency has been added breakForSchedule.BreakEfficiencyList.Add(new BreakEfficiency(demographic.ExternalRef, breakEfficiencyImport.eff)); } } return(success); }
GatherPassRatingPoints(SalesArea salesArea, int[] notStartedPassIds) { var passRatingPoints = _dbContext.Query <PassRatingPoint>() .AsNoTracking() .Include(x => x.SalesAreas) .Where(x => notStartedPassIds.Contains(x.PassId) && x.SalesAreas.Any(x => x.SalesAreaId.Equals(salesArea.Id))) .ToArray(); var passRatingPointsToUpdate = new List <PassRatingPoint>(); var passRatingPointsToDelete = new List <PassRatingPoint>(); foreach (var ratingPoint in passRatingPoints) { if (ratingPoint.SalesAreas.Count == 1) { passRatingPointsToDelete.Add(ratingPoint); continue; } var salesAreaToRemove = ratingPoint.SalesAreas.FirstOrDefault(s => s.SalesAreaId == salesArea.Id); if (salesAreaToRemove != null) { _ = ratingPoint.SalesAreas.Remove(salesAreaToRemove); _dbContext.Remove(salesAreaToRemove); } passRatingPointsToUpdate.Add(ratingPoint); } return(passRatingPointsToDelete, passRatingPointsToUpdate); }
GatherRestrictions(SalesArea salesArea) { var restrictionsToDelete = new List <Restriction>(); var restrictionSalesAreasToDelete = new List <RestrictionSalesArea>(); var restrictions = _dbContext.Query <Restriction>() .AsNoTracking() .Include(x => x.SalesAreas) .Where(x => x.SalesAreas.Any(sa => sa.SalesAreaId == salesArea.Id)) .ToArray(); foreach (var restriction in restrictions) { if (restriction.SalesAreas.Count == 1) { restrictionsToDelete.Add(restriction); continue; } restrictionSalesAreasToDelete.AddRange(restriction.SalesAreas .Where(x => x.SalesAreaId == salesArea.Id)); } return(restrictionsToDelete, restrictionSalesAreasToDelete); }
private void btnAdd_Click(object sender, EventArgs e) { if (!ValidateMandatoryFields()) { return; } var existingRole = uowArea.Repository.GetAll().Where(r => r.AreaCode == txtAreaCode.Text.Trim()).FirstOrDefault(); if (existingRole != null) { CommonMessageHelper.DataAlreadyExist(txtAreaCode.Text.Trim()); } else { var areaToAdd = new SalesArea { AreaCode = txtAreaCode.Text.Trim(), Description = txtDescription.Text.Trim(), RepresentativeId = cbRepresentative.SelectedValue.ToString(), // Audit Fields CreatedBy = Properties.Settings.Default.CurrentUserId, CreatedAt = DateTime.Now, ModifiedBy = Properties.Settings.Default.CurrentUserId, ModifiedAt = DateTime.Now }; uowArea.Repository.Add(areaToAdd); uowArea.Commit(); isAdd = true; btnReload.PerformClick(); CommonMessageHelper.DataSavedSuccessfully(); } }
private void SetupTestData( out IReadOnlyCollection<Break> breaksBeingSmoothed, out SmoothBreak theSmoothBreak, out IReadOnlyCollection<Programme> scheduleProgrammes, out List<Spot> spotsForBreak, out SalesArea salesArea, out IReadOnlyDictionary<string, Clash> clashesByExternalRef, out IReadOnlyDictionary<Guid, SpotInfo> spotInfos, out ProductClashRules productClashRule, out SmoothResources smoothResources, out IClashExposureCountService clashExposureCountService, out SponsorshipRestrictionService sponsorshipRestrictionsService) { breaksBeingSmoothed = _repositoryWrapper.LoadAllTestBreaks().ToList(); theSmoothBreak = new SmoothBreak(breaksBeingSmoothed.First(), 1); scheduleProgrammes = _repositoryWrapper.LoadAllProgrammes().ToList(); spotsForBreak = new List<Spot>() { _spot }; salesArea = _repositoryWrapper.LoadAllSalesArea().First(); clashesByExternalRef = _repositoryWrapper.LoadAllClashes().ToDictionary(c => c.Externalref); spotInfos = SpotInfo.Factory( spotsForBreak, _repositoryWrapper.LoadAllProducts().ToDictionary(p => p.Externalidentifier), clashesByExternalRef ); productClashRule = ProductClashRules.LimitOnExposureCount; smoothResources = new SmoothResources(); clashExposureCountService = ClashExposureCountService.Create(); sponsorshipRestrictionsService = SponsorshipRestrictionService.Factory( spotInfos, new SponsorshipRestrictionFilterService(ImmutableList.Create<Sponsorship>()), new SmoothSponsorshipTimelineManager(new List<SmoothSponsorshipTimeline>()), scheduleProgrammes.First(), DebugLogger); }
private static void AddRestrictionForParentProgrammeCategory( Dictionary <string, ProgrammeDictionary> programmeDictionaries, DateTime runEndDate, AgRestriction agRestriction, Restriction restriction, SalesArea salesArea, List <AgRestriction> agRestrictions, string clashCode, Dictionary <string, ProgrammeCategoryHierarchy> programmeCategoriesExternalRefIndex, Dictionary <int, ProgrammeCategoryHierarchy> programmeCategoriesIdIndex, int programmeCategoryId) { if (!programmeCategoriesIdIndex.TryGetValue(programmeCategoryId, out var category) || string.IsNullOrEmpty(category.ParentExternalRef)) { return; } var parentCategoryNum = programmeCategoriesExternalRefIndex.TryGetValue(category.ParentExternalRef, out var parentCategory) ? parentCategory.Id : 0; if (parentCategoryNum == 0) { return; } var agRestrictionClone = agRestriction.Clone(); agRestrictionClone.ProductCode = restriction.ProductCode; agRestrictionClone.ClashCode = clashCode; agRestrictionClone.CopyCode = string.IsNullOrWhiteSpace(restriction.ClockNumber) ? "0" : restriction.ClockNumber; agRestrictionClone.ClearanceCode = restriction.ClearanceCode ?? ""; agRestrictionClone.SalesAreaNo = salesArea?.CustomId ?? 0; agRestrictionClone.ProgCategoryNo = parentCategoryNum; agRestrictionClone.ProgrammeNo = !string.IsNullOrWhiteSpace(restriction.ExternalProgRef) && programmeDictionaries.TryGetValue(restriction.ExternalProgRef.ToUpper(), out var programme) ? programme.Id : 0; agRestrictionClone.StartDate = restriction.StartDate.ToString("yyyyMMdd"); agRestrictionClone.EndDate = restriction.EndDate.HasValue ? restriction.EndDate?.ToString("yyyyMMdd") : runEndDate.AddYears(10).ToString("yyyyMMdd"); agRestrictionClone.IndexType = restriction.IndexType; agRestrictionClone.IndexThreshold = restriction.IndexThreshold; agRestrictionClone.PublicHolidayIndicator = AgConversions.ToAgIncludeExcludeEither(restriction.PublicHolidayIndicator); agRestrictionClone.SchoolHolidayIndicator = AgConversions.ToAgIncludeExcludeEither(restriction.SchoolHolidayIndicator); agRestrictionClone.RestrictionType = Convert.ToInt32(restriction.RestrictionType); agRestrictionClone.RestrictionDays = AgConversions.ToAgDaysAsInt(restriction.RestrictionDays); agRestrictionClone.StartTime = restriction.StartTime?.ToString("hhmmss") ?? "0"; agRestrictionClone.EndTime = restriction.EndTime?.ToString("hhmmss") ?? "995959"; agRestrictionClone.TimeToleranceMinsBefore = restriction.TimeToleranceMinsBefore; agRestrictionClone.TimeToleranceMinsAfter = restriction.TimeToleranceMinsAfter; agRestrictionClone.ProgClassCode = restriction.ProgrammeClassification ?? ""; agRestrictionClone.ProgClassFlag = restriction.ProgrammeClassificationIndicator.ToString(); agRestrictionClone.LiveBroadcastFlag = restriction.LiveProgrammeIndicator.ToString(); agRestrictions.Add(agRestrictionClone); }
public SmoothDateRange( Guid runId, Guid firstScenarioId, DateTime processorDateTime, SalesArea salesArea, ISmoothConfiguration smoothConfiguration, ISmoothDiagnostics smoothDiagnostics, ImmutableSmoothData threadSafeCollections, IClashExposureCountService clashExposureCountService, SaveSmoothChanges saveSmoothChanges, IRepositoryFactory repositoryFactory, Action <string> raiseInfo, Action <string> raiseWarning, Action <string, Exception> raiseException) { RaiseInfo = raiseInfo; RaiseWarning = raiseWarning; RaiseException = raiseException; _threadSafeCollections = threadSafeCollections; _clashExposureCountService = clashExposureCountService; _saveSmoothChanges = saveSmoothChanges; _repositoryFactory = repositoryFactory; _runId = runId; _firstScenarioId = firstScenarioId; _processorDateTime = processorDateTime; _salesArea = salesArea; _smoothConfiguration = smoothConfiguration; _smoothDiagnostics = smoothDiagnostics; _smoothFailuresFactory = new SmoothFailuresFactory(_smoothConfiguration); _smoothRecommendationsFactory = new SmoothRecommendationsFactory(_smoothConfiguration); _smoothPasses = _smoothConfiguration.SortedSmoothPasses; }
GatherSponsorshipItems(SalesArea salesArea) { var sponsorshipItems = _dbContext.Query <SponsorshipItem>() .AsNoTracking() .Include(x => x.SalesAreas) .Where(x => x.SalesAreas.Any(x => x.SalesAreaId == salesArea.Id)) .ToArray(); var sponsorshipItemsToDelete = new List <SponsorshipItem>(); var sponsorshipItemsToUpdate = new List <SponsorshipItem>(); foreach (var sponsorshipItem in sponsorshipItems) { if (sponsorshipItem.SalesAreas.Count == 1) { sponsorshipItemsToDelete.Add(sponsorshipItem); continue; } var salesAreaRef = sponsorshipItem.SalesAreas.FirstOrDefault(x => x.SalesAreaId == salesArea.Id); if (salesAreaRef != null) { _ = sponsorshipItem.SalesAreas.Remove(salesAreaRef); sponsorshipItemsToUpdate.Add(sponsorshipItem); } } return(sponsorshipItemsToDelete, sponsorshipItemsToUpdate); }
private void DeleteSalesAreaDemographics(SalesArea salesArea) { var salesAreaDemographics = GetByQuery <SalesAreaDemographic> (_session.Query <SalesAreaDemographic>() .Where(x => x.SalesArea == salesArea.Name || x.SalesArea == salesArea.ShortName)); BulkDelete(salesAreaDemographics); }
public void Add(SalesArea salesArea) { List <SalesArea> items = new List <SalesArea>() { salesArea }; InsertItems(_folder, _type, items, items.ConvertAll(i => i.Id.ToString())); }
private void DeleteTotalRatings(SalesArea salesArea) { var totalRatings = GetByQuery <TotalRating> (_session.Query <TotalRating>() .Where(x => x.SalesArea == salesArea.Name || x.SalesArea == salesArea.ShortName)); BulkDelete(totalRatings); }
private void DeleteBreaks(SalesArea salesArea) { var breaksToDelete = GetByQuery <Break> (_session.Query <Break>() .Where(x => x.SalesArea == salesArea.Name || x.SalesArea == salesArea.ShortName)); BulkDelete(breaksToDelete); }
private void DeleteUniverses(SalesArea salesArea) { var universes = GetByQuery <Universe> (_session.Query <Universe>() .Where(x => x.SalesArea == salesArea.Name || x.SalesArea == salesArea.ShortName)); BulkDelete(universes); }
private void DeleteSpots(SalesArea salesArea) { var spots = GetByQuery <Spot> (_session.Query <Spot>() .Where(x => x.SalesArea == salesArea.Name || x.SalesArea == salesArea.ShortName)); BulkDelete(spots); }
private int CreateSpotPlacementData(SalesArea salesArea, Mutex sharedResourceMutex, DateTime fromDate, DateTime toDate, DateTime modifiedTime) { int countSpotsDone = 0; // Process spots in date range batches foreach (DateTime[] dateRange in DateHelper.GetDateRanges(fromDate, toDate, 7)) { using (var scope = _repositoryFactory.BeginRepositoryScope()) { sharedResourceMutex.WaitOne(); var spotRepository = scope.CreateRepository <ISpotRepository>(); sharedResourceMutex.ReleaseMutex(); // Get spots for date range var spots = spotRepository.Search(dateRange[0], dateRange[1], salesArea.Name).OrderBy(s => s.ExternalSpotRef); HashSet <string> spotsDone = new HashSet <string>(); // Create spot placements, saved in batches List <SpotPlacement> spotPlacementBatch = new List <SpotPlacement>(); foreach (var spot in spots) { countSpotsDone++; SpotPlacement spotPlacement = new SpotPlacement() { ModifiedTime = modifiedTime, ExternalSpotRef = spot.ExternalSpotRef, ExternalBreakRef = spot.ExternalBreakNo }; if (!spotsDone.Contains(spotPlacement.ExternalSpotRef)) // Handle duplicates { spotsDone.Add(spotPlacement.ExternalSpotRef); spotPlacementBatch.Add(spotPlacement); } // Save batch if ((spotPlacementBatch.Count >= 10000) || ((spot == spots.Last() && spotPlacementBatch.Count > 0))) { using (var scope2 = scope.BeginRepositoryScope()) { sharedResourceMutex.WaitOne(); var spotPlacementRepository = scope2.CreateRepository <ISpotPlacementRepository>(); sharedResourceMutex.ReleaseMutex(); spotPlacementRepository.Insert(spotPlacementBatch); spotPlacementRepository.SaveChanges(); spotPlacementBatch.Clear(); } } if (countSpotsDone % 10000 == 0) { System.Diagnostics.Debug.Write(string.Format("Created {0} SpotPlacement documents for {1}", countSpotsDone, salesArea.Name)); } } } } return(countSpotsDone); }
private void DeleteSchedules(SalesArea salesArea) { var schedules = GetByQuery <Schedule> (_session.Query <Schedule>() .Where(x => x.SalesArea == salesArea.Name || x.SalesArea == salesArea.ShortName)); BulkDelete(schedules); }
private static string EndTimeIsBeforeBroadcastStartTimeMessage(SalesArea salesArea, BreakExclusionModel breakExclusion) { return(string.Format( CultureInfo.CurrentCulture , EndTimeIsBeforeBroadcastStartTimeMessageFormat , SalesAreaDescription(salesArea) , breakExclusion.EndTime , salesArea.StartOffset.ToTimeSpan())); }
private static string StartTimeIsAfterBroadcastEndTimeMessage(SalesArea salesArea, BreakExclusionModel breakExclusion) { return(string.Format( CultureInfo.CurrentCulture , StartTimeIsAfterBroadcastEndTimeMessageFormat , SalesAreaDescription(salesArea) , breakExclusion.StartTime , salesArea.StartOffset.ToTimeSpan().Add(salesArea.DayDuration.ToTimeSpan()).Subtract(new TimeSpan(0, 0, 1)))); }
private void DeleteProgrammes(SalesArea salesArea) { var programmes = GetByQuery <Programme> (_session.Query <Programme>() .Where(x => x.SalesArea == salesArea.Name || x.SalesArea == salesArea.ShortName)); BulkDelete(programmes); }
private static string EndDateBeforeStartDateMessage(SalesArea salesArea, BreakExclusionModel breakExclusion) { return(string.Format( CultureInfo.CurrentCulture , EndDateBeforeStartDateMessageFormat , SalesAreaDescription(salesArea) , breakExclusion.EndDate.ToShortDateString() , breakExclusion.StartDate.ToShortDateString())); }
private static string StartimeIsAfterEndTimeMessage(SalesArea salesArea, BreakExclusionModel breakExclusion) { return(string.Format( CultureInfo.CurrentCulture , StartimeIsAfterEndTimeMessageFormat , SalesAreaDescription(salesArea) , breakExclusion.EndTime , breakExclusion.StartTime)); }
partial void UpdateSalesArea(SalesArea instance);
partial void InsertSalesArea(SalesArea instance);
public bool UpdateSaleArea(int salesmenId, int areaId) { var o = (from e in db.SalesAreas where e.SalesmenId == salesmenId && e.AreaId == areaId select e).SingleOrDefault(); if (o != null) { try { db.SalesAreas.DeleteOnSubmit(o); db.SubmitChanges(); return true; } catch { return false; } } else { try { SalesArea sr = new SalesArea(); sr.AreaId = areaId; sr.SalesmenId = salesmenId; db.SalesAreas.InsertOnSubmit(sr); db.SubmitChanges(); return true; } catch { return false; } } }
public bool Add(string upiCode, string fullName, string phone, int roleId, int smsQuota, DateTime expiredDate, int groupId, int regionId, int areaId, int localId) { try { if (CheckExistedSalemen(-1, phone)) return false; var o = new Salesmen { UpiCode = upiCode, FullName = fullName, Phone = phone, RoleId = roleId, SmsQuota = smsQuota, ExpiredDate = expiredDate }; db.Salesmens.InsertOnSubmit(o); db.SubmitChanges(); int salesMenId = o.Id; if (groupId != 0) { // insert Group to SaleGroup SalesGroup salesGroup = new SalesGroup(); salesGroup.GroupId = groupId; salesGroup.SalesmenId = salesMenId; db.SalesGroups.InsertOnSubmit(salesGroup); db.SubmitChanges(); } if (regionId != 0) { // insert region SalesRegion salesRegion = new SalesRegion(); salesRegion.SalesmenId = salesMenId; salesRegion.RegionId = regionId; db.SalesRegions.InsertOnSubmit(salesRegion); db.SubmitChanges(); } if (areaId != 0) { // insert area SalesArea salesArea = new SalesArea(); salesArea.SalesmenId = salesMenId; salesArea.AreaId = areaId; db.SalesAreas.InsertOnSubmit(salesArea); db.SubmitChanges(); } if (localId != 0) { // insert area SalesLocal salesLocal = new SalesLocal(); salesLocal.SalesmenId = salesMenId; salesLocal.LocalId = localId; db.SalesLocals.InsertOnSubmit(salesLocal); db.SubmitChanges(); } return true; } catch { return false; } }
public bool Edit(int id, string upiCode, string fullName, string phone, int roleId, int smsQuota, DateTime expiredDate, int groupId, int regionId, int areaId, int localId) { try { if (CheckExistedSalemen(id, phone)) return false; var o = (from e in db.Salesmens where e.Id == id select e).SingleOrDefault(); if (o != null) { o.UpiCode = upiCode; o.FullName = fullName; o.Phone = phone; o.RoleId = roleId; o.SmsQuota = smsQuota; o.ExpiredDate = expiredDate; db.SubmitChanges(); int salesMenId = id; if (groupId != 0) { //// delete all existing setting for this //db.SalesGroups.DeleteAllOnSubmit(from sg in db.SalesGroups where sg.SalesmenId == salesMenId select sg); // insert Group to SaleGroup SalesGroup salesGroup = new SalesGroup(); salesGroup.GroupId = groupId; salesGroup.SalesmenId = salesMenId; db.SalesGroups.InsertOnSubmit(salesGroup); db.SubmitChanges(); } if (regionId != 0) { // insert region SalesRegion salesRegion = new SalesRegion(); salesRegion.SalesmenId = salesMenId; salesRegion.RegionId = regionId; db.SalesRegions.InsertOnSubmit(salesRegion); db.SubmitChanges(); } if (areaId != 0) { // insert area SalesArea salesArea = new SalesArea(); salesArea.SalesmenId = salesMenId; salesArea.AreaId = areaId; db.SalesAreas.InsertOnSubmit(salesArea); db.SubmitChanges(); } if (localId != 0) { // insert area SalesLocal salesLocal = new SalesLocal(); salesLocal.SalesmenId = salesMenId; salesLocal.LocalId = localId; db.SalesLocals.InsertOnSubmit(salesLocal); db.SubmitChanges(); } return true; } return false; } catch { return false; } }
partial void DeleteSalesArea(SalesArea instance);
public bool AddSalesmenArea(int salesmenId, int areaId) { try { if (CheckExistSalesArea(salesmenId, areaId) == false) { SalesArea r = new SalesArea(); r.SalesmenId = salesmenId; r.AreaId = areaId; db.SalesAreas.InsertOnSubmit(r); db.SubmitChanges(); return true; } else return false; } catch { return false; } }
private void detach_SalesAreas(SalesArea entity) { this.SendPropertyChanging(); entity.Area = null; }
private void attach_SalesAreas(SalesArea entity) { this.SendPropertyChanging(); entity.Area = this; }