/// <summary> /// Gets all the Downloaded Reports for a User. /// </summary> /// <param name="userId">The ID of the target User.</param> /// <param name="search">Searches the Reports by Title and Summary.</param> /// <returns>ICollection of Report Models.</returns> public async Task <ICollection <ReportModel> > GetDownloadedReports(int userId, string search) { var user = await _context.Users.FirstOrDefaultAsync(u => u.Id == userId); ValidateUserExists(user); var reports = await _context.DownloadedReports .Include(ur => ur.Report) .ThenInclude(r => r.Author) .Include(ur => ur.Report) .ThenInclude(r => r.Industry) .Include(ur => ur.Report) .ThenInclude(r => r.ReportTags) .ThenInclude(r => r.Tag) .Include(ur => ur.Report) .ThenInclude(r => r.Downloads) .Where(ur => !ur.Report.IsDeleted) .Where(ur => ur.UserId == userId) .Select(ur => ReportMapper.MapModelFromEntity(ur.Report)) .ToListAsync(); reports = SearchReports(search, reports).ToList(); return(reports); }
public Report GetReportForAppointment(Guid id) { using (MQuinceDbContext _context = new MQuinceDbContext(_dbContext)) { return(ReportMapper.MapReportPersistenceToReportEntity(_context.Reports.SingleOrDefault(c => c.AppointmentPersistanceId.Equals(id)))); } }
/// <summary> /// Lists Active Reports from context. Each Report must not be Pending or Deleted. Each Report's Industry must not be Deleted. /// /// </summary> /// <param name="sort">The property to sort the Reports by. Can be left null for default sorting by ID.</param> /// <param name="search">Searches the Report List by Name and Summary. Can be left null to display all Reports.</param> /// <param name="author">Filters the Report List by matching the author's Email address.</param> /// <param name="industry">Filters the Report List by Industry.</param> /// <param name="tag">Filters the Report List by Tag.</param> /// <returns>ICollection of Report Models</returns> public async Task <ICollection <ReportModel> > GetReports(string sort, string search, string author, string industry, string tag) { var reports = await _context.Reports .Where(r => !r.IsDeleted) .Where(r => !r.IsPending) .Include(r => r.Industry) .Where(r => !r.Industry.IsDeleted) .Include(r => r.Author) .Include(r => r.Downloads) .Include(r => r.ReportTags) .ThenInclude(rt => rt.Tag) .Select(r => ReportMapper.MapModelFromEntity(r)) .ToListAsync(); //Sort Reports reports = SortReports(sort, reports).ToList(); //Search Reports reports = SearchReports(search, reports).ToList(); //Filter Reports if (author != null) { reports = reports.Where(r => r.Author.ToLower().Contains(author.ToLower())).ToList(); } if (industry != null) { reports = reports.Where(r => r.Industry.ToLower().Contains(industry.ToLower())).ToList(); } if (tag != null) { reports = reports.Where(r => string.Join(' ', r.Tags).ToLower().Contains(tag.ToLower())).ToList(); } return(reports); }
public async Task UpdateReport(ReportToUpdateDto reportToUpdate) { var report = await _reportRepository.GetById(reportToUpdate.ReportId); var update = ReportMapper.UpdateReportMap(reportToUpdate, report); await _reportRepository.UpdateReport(update); }
public IActionResult AddReport(ReportDto dto) { Report report = ReportMapper.ReportDtoToReport(dto); App.Instance().ReportService.AddEntity(report); return(Ok()); }
/// <summary> /// Updates the properties of an existing Report, then moves it to the Pending list. /// </summary> /// <param name="id">The ID for the target Report.</param> /// <param name="title">The new Title of the Report.</param> /// <param name="summary">The new Summary of the Report.</param> /// <param name="description">The new Description of the Report.</param> /// <param name="imgUrl">The path to the new Image to be displayed for the Report.</param> /// <param name="industry">The new Industry of the Report.</param> /// <param name="tags">The new list of Tags for the Report. New Tags will be created if any do not exist.</param> /// <returns>A Report Model on success. </returns> public async Task <ReportModel> UpdateReport(int id, string title, string summary, string description, string imgUrl, string industry, string tags) { //Throw if report with new Title already exists. if (await _context.Reports.AnyAsync(r => r.Title == title && r.Id != id)) { throw new ArgumentException($"Report with title {title} already exists."); } var report = await _context.Reports .Include(r => r.Industry) .Include(r => r.Author) .Include(r => r.ReportTags) .ThenInclude(rt => rt.Tag) .FirstOrDefaultAsync(r => r.Id == id); //Throw if ID is invalid. ValidateReportExists(report); var reportModel = ReportMapper.MapModelFromInput(title, summary, description, imgUrl, null, industry, tags); //Map Title if (title != null && title != string.Empty) { report.Title = reportModel.Title; } //Map Summary if (summary != null && summary != string.Empty) { report.Summary = reportModel.Summary; } //Map Description if (description != null && description != string.Empty) { report.Description = reportModel.Description; } //Map Image if (imgUrl != null && imgUrl != string.Empty) { report.ImgUrl = reportModel.ImgUrl; } //Map Industry report.Industry = await _context.Industries.FirstOrDefaultAsync(i => i.Name == reportModel.Industry); //Set ModifiedOn report.ModifiedOn = DateTime.UtcNow; report.ReportTags.Clear(); //Set Pending report.IsPending = true; await _context.SaveChangesAsync(); //Map Tags, Add new Tags to Context if tags are not found. await AddTagsToReport(report, reportModel.Tags); await _context.SaveChangesAsync(); //Return Report Model reportModel = ReportMapper.MapModelFromEntity(report); return(reportModel); }
public IActionResult GetAppointmentReport(AppointmentDTO dto) { String patientId = User.Identity.Name; Report report = _reportSearchService.GetReportForAppointment(dto.StartTime, dto.DoctorId, patientId); AppointmentReportDTO reportDTO = ReportMapper.ReportToAppointmentReportDTO(report); return(Ok(reportDTO)); }
public EventController(AppDbContext dbContext, EventMapper eventMapper, ReportMapper reportMapper, ImageDescriptionMapper imageDescriptionMapper, IMapper <EventAttendance, EventAttendanceViewModel> attendanceMapper) { DbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); EventMapper = eventMapper ?? throw new ArgumentNullException(nameof(eventMapper)); ReportMapper = reportMapper ?? throw new ArgumentNullException(nameof(reportMapper)); ImageDescriptionMapper = imageDescriptionMapper ?? throw new ArgumentNullException(nameof(imageDescriptionMapper)); AttendanceMapper = attendanceMapper ?? throw new ArgumentNullException(nameof(attendanceMapper)); }
public async Task <IEnumerable <ReportToSendDto> > GetTodayReports(Guid soldierOnDutyId) { var companyId = (Guid)_soldierRepository.GetById(soldierOnDutyId).Result.CompanyId; var reports = await _reportRepository.GetAll(companyId); var todayReports = reports.Where(x => x.Date.Date == DateTime.Today.Date); return(todayReports.Select(x => ReportMapper.ReportToSendMap(x, _soldierRepository))); }
public ReportTemplateDto UpdateReportTemplate(ReportTemplateDto reportTemplateDto, string userID) { ReportTemplateDirec reportTemplateDirec = _dbContext.Set <ReportTemplateDirec>().Where(p => p.TemplateID == reportTemplateDto.UniqueID).FirstOrDefault(); if (reportTemplateDto.IsPositive == null) { reportTemplateDto.IsPositive = 0; } if (reportTemplateDirec != null) { reportTemplateDirec.ItemName = reportTemplateDto.TemplateName; ReportTemplateDirec reportTemplateDirecDup = _dbContext.Set <ReportTemplateDirec>().Where(p => p.UserID == reportTemplateDirec.UserID && p.ItemName == reportTemplateDto.TemplateName).FirstOrDefault(); if (reportTemplateDirecDup != null) { if (reportTemplateDirecDup.UniqueID != reportTemplateDirec.UniqueID) { return(null); } } ReportTemplate reportTemplateOld = _dbContext.Set <ReportTemplate>().Where(p => p.UniqueID == reportTemplateDto.UniqueID).FirstOrDefault(); if (reportTemplateOld != null) { //reportTemplateOld.TemplateName = reportTemplateDto.TemplateName; //reportTemplateOld.ModalityType = reportTemplateDto.ModalityType; //reportTemplateOld.BodyPart = reportTemplateDto.BodyPart; //reportTemplateOld.Gender = reportTemplateDto.Gender; //reportTemplateOld.WYS = ReportMapper.GetBytes(reportTemplateDto.WYSText); //reportTemplateOld.WYG = ReportMapper.GetBytes(reportTemplateDto.WYGText); reportTemplateOld.TemplateName = reportTemplateDto.TemplateName; reportTemplateOld.ModalityType = reportTemplateDto.ModalityType; reportTemplateOld.BodyPart = reportTemplateDto.BodyPart; reportTemplateOld.Gender = reportTemplateDto.Gender; reportTemplateOld.WYS = ReportMapper.GetBytes(reportTemplateDto.WYSText == null ? "" : reportTemplateDto.WYSText); reportTemplateOld.WYG = ReportMapper.GetBytes(reportTemplateDto.WYGText == null ? "" : reportTemplateDto.WYSText); reportTemplateOld.ShortcutCode = reportTemplateDto.ShortcutCode == null ? reportTemplateOld.ShortcutCode : reportTemplateDto.ShortcutCode; reportTemplateOld.ACRCode = reportTemplateDto.ACRCode == null ? reportTemplateOld.ACRCode : reportTemplateDto.ACRCode; reportTemplateOld.DoctorAdvice = reportTemplateDto.DoctorAdvice == null ? reportTemplateOld.DoctorAdvice : reportTemplateDto.DoctorAdvice; reportTemplateOld.BodyCategory = reportTemplateDto.BodyCategory == null ? reportTemplateOld.BodyCategory : reportTemplateDto.BodyCategory; reportTemplateOld.IsPositive = reportTemplateDto.IsPositive == null ? reportTemplateOld.IsPositive : reportTemplateDto.IsPositive; reportTemplateOld.CheckItemName = string.IsNullOrEmpty(reportTemplateDto.CheckItemName)? reportTemplateOld.CheckItemName: reportTemplateDto.CheckItemName; _dbContext.SaveChanges(); } } ReportTemplate reportTemplate = _dbContext.Set <ReportTemplate>().Where(p => p.UniqueID == reportTemplateDto.UniqueID).FirstOrDefault(); if (reportTemplate != null) { return(Mapper.Map <ReportTemplate, ReportTemplateDto>(reportTemplate)); } return(null); }
public async Task <IActionResult> CreateAsync([FromBody] InReportDTO reportDTO) { var report = ReportMapper.Map(reportDTO); report = _repositoryManager.ReportRepository.Create(report); await _repositoryManager.SaveAsync(); return(Ok(ReportMapper.Map(report))); }
/// <summary> /// Gets a report from the context by its ID. /// </summary> /// <param name="id">The ID for the target Report.</param> /// <returns>On success - a Report Model. Throws ArgumentNullException if ID is invalid.</returns> public async Task <ReportModel> GetReport(int id) { var report = await _context.Reports .Include(r => r.Industry) .Include(r => r.Author) .Include(r => r.ReportTags) .ThenInclude(rt => rt.Tag) .FirstOrDefaultAsync(r => r.Id == id); ValidateReportExists(report); var reportDTO = ReportMapper.MapModelFromEntity(report); return(reportDTO); }
public async Task <IActionResult> UpdateLockStatusAsync([FromRoute] int id, bool @lock) { var report = await _repositoryManager.ReportRepository.GetAsync(id); if (report == null) { return(NotFound()); } report.Update(@lock); await _repositoryManager.SaveAsync(); return(Ok(ReportMapper.CompleteMap(report))); }
public IdentifiableDTO <ReportDTO> GetReportForAppointment(Guid id) { try { return(ReportMapper.MapReportEntityToReportIdentifierDTO(_reportRepository.GetReportForAppointment(id))); } catch (ArgumentNullException) { throw new NotFoundEntityException(); } catch (Exception) { throw new InternalServerErrorException(); } }
public IActionResult GetSearchedReports(ReportSearchDTO dto) { try { ReportValidator.Validate(dto); } catch (Exception e) { return(BadRequest(e.Message)); } List <Report> reports = _reportSearchService.GetSearchedReports(dto.Doctor, dto.startDate, dto.endDate, dto.type); List <ReportDTO> reportDTOs = ReportMapper.ListExaminationSurgeryToReport(reports); return(Ok(reportDTOs)); }
/// <summary> /// Lists the 4 Most Downloaded Reports in the context. /// </summary> /// <returns>ICollection of Report Models</returns> public async Task <ICollection <ReportModel> > GetMostDownloadedReports() { var reports = await _context.Reports .Where(r => !r.IsDeleted) .Where(r => !r.IsPending) .Include(r => r.Industry) .Include(r => r.Author) .Include(r => r.Downloads) .Include(r => r.ReportTags) .ThenInclude(rt => rt.Tag) .OrderByDescending(r => r.Downloads.Count) .Take(4) .Select(r => ReportMapper.MapModelFromEntity(r)) .ToListAsync(); return(reports); }
/// <summary> /// Lists all Pending Reports /// </summary> /// <param name="sort">The property to sort the Reports by. Can be left null for default sorting by ID.</param> /// <param name="search">Searches the Report List by Name and Summary. Can be left null to display all Reports.</param> /// <returns>ICollection of Report Models</returns> public async Task <ICollection <ReportModel> > GetPendingReports(string sort, string search) { var reports = await _context.Reports .Where(r => r.IsPending) .Include(r => r.Industry) .Include(r => r.Author) .Include(r => r.ReportTags) .ThenInclude(rt => rt.Tag) .Select(r => ReportMapper.MapModelFromEntity(r)) .ToListAsync(); reports = SortReports(sort, reports).ToList(); reports = SearchReports(search, reports).ToList(); return(reports); }
public async Task <IEnumerable <ReportToSendDto> > GetReports(Guid soldierOnDutyId) { var companyId = Guid.Empty; var companies = await _companyRepository.GetAll(); foreach (var company in companies) { if (company.CommanderId == soldierOnDutyId) { companyId = company.Id; break; } } var reports = await _reportRepository.GetAll(companyId); return(reports.Select(x => ReportMapper.ReportToSendMap(x, _soldierRepository))); }
public async Task <IActionResult> PostReport(int id, [FromBody] ReportViewModel model) { var @event = await DbContext.Events.SingleOrDefaultAsync(e => e.Id == id); if (@event == null) { return(NotFound()); } var report = ReportMapper.Update(new Report(), model); @event.EventReports.Add(new EventReport { Report = report }); await DbContext.SaveChangesAsync(); return(CreatedAtRoute("GetReport", new { id = report.Id }, ReportMapper.Map(report))); }
/// <summary> /// get report history /// </summary> /// <param name="reportID"></param> /// <returns></returns> public IEnumerable <ReportListDto> GetReportListByReportID(string reportID) { List <ReportListDto> reportLists = new List <ReportListDto>(); var query = (from r in _dbContext.Set <ReportList>() join u in _dbContext.Set <User>() on r.Creater equals u.UniqueID into ru from ru1 in ru.DefaultIfEmpty() join u2 in _dbContext.Set <User>() on r.Mender equals u2.UniqueID into ru2 from ru3 in ru2.DefaultIfEmpty() where r.ReportID == reportID select new { UniqueID = r.UniqueID, WYS = r.WYS, WYG = r.WYG, IsPositive = r.IsPositive, Creater = ru1.LocalName, Mender = ru3.LocalName, OperationTime = r.OperationTime, Status = r.Status }).Distinct().OrderByDescending(c => c.OperationTime).ToList(); foreach (var r in query) { ReportListDto reportListDto = new ReportListDto { UniqueID = r.UniqueID, WYSText = ReportMapper.GetStrFromRTF(ReportMapper.GetStringFromBytes(r.WYS)), WYGText = ReportMapper.GetStrFromRTF(ReportMapper.GetStringFromBytes(r.WYG)), IsPositive = r.IsPositive, Creater = r.Creater, Mender = r.Mender, Status = r.Status, OperationTime = r.OperationTime }; reportLists.Add(reportListDto); } return(reportLists); }
/// <summary> /// Creates a new Report from given Strings and places it in Pending. /// </summary> /// <param name="title">The title of the new Report. Between 5 and 100 characters.</param> /// <param name="summary">The summary of the new Report. Between 5 and 300 characters.</param> /// <param name="description">The description of the new Report. Between 5 and 5000 characters.</param> /// <param name="author">The author of the new Report. Automatically generated from Identity and the logged in User.</param> /// <param name="imgUrl">The URL for the report's image, which appears on the report's card.</param> /// <param name="industry">The Industry under which the new Report will be classified. Has to match an existing Industry in the context.</param> /// <param name="tags">The Tags to be added to the new Report. If a tag does not exist, it will be created automatically.</param> /// <returns>On success - A Report Model, mapped from the new Report. If the Report already exists - Throws Argument Exception</returns> public async Task <ReportModel> CreateReport(string title, string summary, string description, string author, string imgUrl, string industry, string tags) { var reportModel = ReportMapper.MapModelFromInput(title, summary, description, imgUrl, author, industry, tags); // Throw if Report with this title exists. if (await _context.Reports .Include(r => r.Author) .Include(r => r.Industry) .Include(r => r.ReportTags) .AnyAsync(r => r.Title == title)) { throw new ArgumentException($"Report with title {title} already exists."); } //Create Report var report = new Report() { Title = reportModel.Title, Description = reportModel.Description, Summary = reportModel.Summary, ImgUrl = reportModel.ImgUrl, CreatedOn = DateTime.UtcNow }; await _context.Reports.AddAsync(report); //Map Author, Industry, set Pending report.AuthorId = _context.Users.FirstOrDefault(u => u.NormalizedEmail == reportModel.Author.ToUpper()).Id; report.IndustryId = _context.Industries.FirstOrDefault(i => i.Name.ToUpper() == reportModel.Industry.ToUpper()).Id; report.IsPending = true; await _context.SaveChangesAsync(); //Map Tags, Create new Tags if any do not exist. await AddTagsToReport(report, reportModel.Tags); await _context.SaveChangesAsync(); //Return Report Model reportModel = ReportMapper.MapModelFromEntity(report); return(reportModel); }
public async Task <IActionResult> UpdateAsync([FromRoute] int id, [FromBody] InReportDTO reportDTO) { var report = await _repositoryManager.ReportRepository.GetAsync(id); if (report == null) { return(NotFound()); } if (report.Locked) { return(Forbid()); } report.Update(reportDTO); await _repositoryManager.SaveAsync(); report = await _repositoryManager.ReportRepository.GetAsync(id); return(Ok(ReportMapper.CompleteMap(report))); }
private IActionResult ListReportsPublished(Event @event) { var reports = @event.EventReports.Where(er => er.Report.State == Models.EntityState.Published).Select(r => ReportMapper.Map(r.Report)).ToList(); return(Ok(reports)); }
private IActionResult ListReportsUndeletedAsync(Event @event) { var reports = @event.EventReports.Where(er => er.Report.State != Models.EntityState.Deleted).Select(r => ReportMapper.Map(r.Report)).ToList(); return(Ok(reports)); }
public ReportCrudFactory() { _mapper = new ReportMapper(); dao = SqlDao.GetInstance(); }
public void ReportEntityToDomainTest() { //Arrange var dateTime = new DateTime(664245234232223465); var reportEntity = new StandardReportV3Entity() { Tick = "35467568756658785", Interval = "interval", AllRegistrations = 12, CicIPadDeletions = 23, CicIPadRegistrations = 34, CicIPadSuccessfulUploads = 45, CicIPadUploadCancels = 445, CicMacDeletions = 56, CicMacRegistrations = 67, CicMacSuccessfulUploads = 78, CicMacUploadCancels = 778, CicPcDeletions = 89, CicPcRegistrations = 90, CicPcSuccessfulUploads = 123, CicPcUploadCancels = 1123, EmailRegistrations = 234, EmbeddedViews = 345, FacebookRegistrations = 456, GoogleRegistrations = 567, TaggerIPhoneDeletions = 678, TaggerIPhoneRegistrations = 789, TaggerIPhoneSuccessfulUploads = 890, TaggerIPhoneUploadCancels = 990, TotalViews = 901, WindowsLiveRegistrations = 1234, YahooRegistrations = 2345, ImageShackDeletions = 11, ImageShackRegistrations = 22, ImageShackSuccessfulUploads = 33, ImageShackUploadCancels = 44, TwitterRegistrations = 111, BrowserRegistrations = 112, OtherRegistrations = 113, PlayerDeletions = 114, PlayerRegistrations = 115, PlayerSuccessfulUploads = 116, PlayerUploadCancels = 117, StandaloneDeletions = 118, StandaloneRegistrations = 119, StandaloneSuccessfulUploads = 221, StandaloneUploadCancels = 223, TaggerAndroidDeletions = 224, TaggerAndroidRegistrations = 225, TaggerAndroidSuccessfulUploads = 226, TaggerAndroidUploadCancels = 227, DailyMotionDeletions = 228, DailyMotionRegistrations = 229, DailyMotionSuccessfulUploads = 331, DailyMotionUploadCancels = 332, VkRegistrations = 333, JwPlayerDeletions = 334, JwPlayerRegistrations = 335, JwPlayerSuccessfulUploads = 336, JwPlayerUploadCancels = 337, OdnoklassnikiRegistrations = 448 }; _tableValueConverter.Setup(m => m.TickToDateTime(reportEntity.Tick)).Returns(dateTime); var mapper = new ReportMapper(_tableValueConverter.Object); //Act var domainReport = mapper.ReportEntityToDomain(reportEntity); //Assert Assert.AreEqual(dateTime, domainReport.Tick); Assert.AreEqual(reportEntity.Interval, domainReport.Interval); Assert.AreEqual(reportEntity.AllRegistrations, domainReport.AllRegistrations); Assert.AreEqual(reportEntity.CicIPadDeletions, domainReport.CicIPadDeletions); Assert.AreEqual(reportEntity.CicIPadRegistrations, domainReport.CicIPadRegistrations); Assert.AreEqual(reportEntity.CicIPadSuccessfulUploads, domainReport.CicIPadSuccessfulUploads); Assert.AreEqual(reportEntity.CicIPadUploadCancels, domainReport.CicIPadUploadCancels); Assert.AreEqual(reportEntity.CicMacDeletions, domainReport.CicMacDeletions); Assert.AreEqual(reportEntity.CicMacRegistrations, domainReport.CicMacRegistrations); Assert.AreEqual(reportEntity.CicMacSuccessfulUploads, domainReport.CicMacSuccessfulUploads); Assert.AreEqual(reportEntity.CicMacUploadCancels, domainReport.CicMacUploadCancels); Assert.AreEqual(reportEntity.CicPcDeletions, domainReport.CicPcDeletions); Assert.AreEqual(reportEntity.CicPcRegistrations, domainReport.CicPcRegistrations); Assert.AreEqual(reportEntity.CicPcSuccessfulUploads, domainReport.CicPcSuccessfulUploads); Assert.AreEqual(reportEntity.CicPcUploadCancels, domainReport.CicPcUploadCancels); Assert.AreEqual(reportEntity.EmailRegistrations, domainReport.EmailRegistrations); Assert.AreEqual(reportEntity.EmbeddedViews, domainReport.EmbeddedViews); Assert.AreEqual(reportEntity.FacebookRegistrations, domainReport.FacebookRegistrations); Assert.AreEqual(reportEntity.GoogleRegistrations, domainReport.GoogleRegistrations); Assert.AreEqual(reportEntity.TaggerIPhoneDeletions, domainReport.TaggerIPhoneDeletions); Assert.AreEqual(reportEntity.TaggerIPhoneRegistrations, domainReport.TaggerIPhoneRegistrations); Assert.AreEqual(reportEntity.TaggerIPhoneSuccessfulUploads, domainReport.TaggerIPhoneUploads); Assert.AreEqual(reportEntity.TaggerIPhoneUploadCancels, domainReport.TaggerIPhoneUploadCancels); Assert.AreEqual(reportEntity.TotalViews, domainReport.TotalViews); Assert.AreEqual(reportEntity.WindowsLiveRegistrations, domainReport.WindowsLiveRegistrations); Assert.AreEqual(reportEntity.YahooRegistrations, domainReport.YahooRegistrations); Assert.AreEqual(reportEntity.ImageShackDeletions, domainReport.ImageShackDeletions); Assert.AreEqual(reportEntity.ImageShackRegistrations, domainReport.ImageShackRegistrations); Assert.AreEqual(reportEntity.ImageShackSuccessfulUploads, domainReport.ImageShackSuccessfulUploads); Assert.AreEqual(reportEntity.ImageShackUploadCancels, domainReport.ImageShackUploadCancels); Assert.AreEqual(reportEntity.TwitterRegistrations, domainReport.TwitterRegistrations); Assert.AreEqual(reportEntity.OdnoklassnikiRegistrations, domainReport.OdnoklassnikiRegistrations); Assert.AreEqual(reportEntity.BrowserRegistrations, domainReport.BrowserRegistrations); Assert.AreEqual(reportEntity.OtherRegistrations, domainReport.OtherRegistrations); Assert.AreEqual(reportEntity.TaggerAndroidDeletions, domainReport.TaggerAndroidDeletions); Assert.AreEqual(reportEntity.TaggerAndroidRegistrations, domainReport.TaggerAndroidRegistrations); Assert.AreEqual(reportEntity.TaggerAndroidSuccessfulUploads, domainReport.TaggerAndroidSuccessfulUploads); Assert.AreEqual(reportEntity.TaggerAndroidUploadCancels, domainReport.TaggerAndroidUploadCancels); Assert.AreEqual(reportEntity.StandaloneDeletions, domainReport.StandaloneDeletions); Assert.AreEqual(reportEntity.StandaloneRegistrations, domainReport.StandaloneRegistrations); Assert.AreEqual(reportEntity.StandaloneSuccessfulUploads, domainReport.StandaloneSuccessfulUploads); Assert.AreEqual(reportEntity.StandaloneUploadCancels, domainReport.StandaloneUploadCancels); Assert.AreEqual(reportEntity.PlayerDeletions, domainReport.PlayerDeletions); Assert.AreEqual(reportEntity.PlayerRegistrations, domainReport.PlayerRegistrations); Assert.AreEqual(reportEntity.PlayerSuccessfulUploads, domainReport.PlayerSuccessfulUploads); Assert.AreEqual(reportEntity.PlayerUploadCancels, domainReport.PlayerUploadCancels); Assert.AreEqual(reportEntity.DailyMotionDeletions, domainReport.DailyMotionDeletions); Assert.AreEqual(reportEntity.DailyMotionRegistrations, domainReport.DailyMotionRegistrations); Assert.AreEqual(reportEntity.DailyMotionSuccessfulUploads, domainReport.DailyMotionSuccessfulUploads); Assert.AreEqual(reportEntity.DailyMotionUploadCancels, domainReport.DailyMotionUploadCancels); Assert.AreEqual(reportEntity.VkRegistrations, domainReport.VkRegistrations); Assert.AreEqual(reportEntity.JwPlayerDeletions, domainReport.JwPlayerDeletions); Assert.AreEqual(reportEntity.JwPlayerRegistrations, domainReport.JwPlayerRegistrations); Assert.AreEqual(reportEntity.JwPlayerSuccessfulUploads, domainReport.JwPlayerSuccessfulUploads); Assert.AreEqual(reportEntity.JwPlayerUploadCancels, domainReport.JwPlayerUploadCancels); }
[HttpGet] //GET /api/report public IActionResult GetAllReports() { List <ReportDto> result = new List <ReportDto>(); App.Instance().ReportService.GetAllEntities().ToList().ForEach(report => result.Add(ReportMapper.ReportToReportDto(report))); return(Ok(result)); }
public ReportController(AppDbContext dbContext, ReportMapper mapper) { DbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); Mapper = mapper ?? throw new ArgumentNullException(nameof(mapper)); }
public void DomainReportToReportEntityTest() { //Arrange const string formatedDate = "formatedDate"; var domainReport = new DomainReport() { Interval = "interval", AllRegistrations = 12, CicIPadDeletions = 23, CicIPadRegistrations = 34, CicIPadSuccessfulUploads = 45, CicIPadUploadCancels = 445, CicMacDeletions = 56, CicMacRegistrations = 67, CicMacSuccessfulUploads = 78, CicMacUploadCancels = 778, CicPcDeletions = 89, CicPcRegistrations = 90, CicPcSuccessfulUploads = 123, CicPcUploadCancels = 1123, EmailRegistrations = 234, EmbeddedViews = 345, FacebookRegistrations = 456, GoogleRegistrations = 567, TaggerIPhoneDeletions = 678, TaggerIPhoneRegistrations = 789, TaggerIPhoneUploads = 890, TaggerIPhoneUploadCancels = 990, TotalViews = 901, WindowsLiveRegistrations = 1234, YahooRegistrations = 2345, ImageShackDeletions = 11, ImageShackRegistrations = 22, ImageShackSuccessfulUploads = 33, ImageShackUploadCancels = 44, TwitterRegistrations = 111, BrowserRegistrations = 112, OtherRegistrations = 113, PlayerDeletions = 114, PlayerRegistrations = 115, PlayerSuccessfulUploads = 116, PlayerUploadCancels = 117, StandaloneDeletions = 118, StandaloneRegistrations = 119, StandaloneSuccessfulUploads = 221, StandaloneUploadCancels = 223, TaggerAndroidDeletions = 224, TaggerAndroidRegistrations = 225, TaggerAndroidSuccessfulUploads = 226, TaggerAndroidUploadCancels = 227, DailyMotionDeletions = 228, DailyMotionRegistrations = 229, DailyMotionSuccessfulUploads = 331, DailyMotionUploadCancels = 332, VkRegistrations = 333, JwPlayerDeletions = 334, JwPlayerRegistrations = 335, JwPlayerSuccessfulUploads = 336, JwPlayerUploadCancels = 337, OdnoklassnikiRegistrations = 448 }; var mapper = new ReportMapper(_tableValueConverter.Object); //Act var reportEntity = mapper.DomainReportToEntity(domainReport, formatedDate); //Assert Assert.AreEqual(reportEntity.Tick, formatedDate); Assert.AreEqual(domainReport.Interval, reportEntity.Interval); Assert.AreEqual(domainReport.AllRegistrations, reportEntity.AllRegistrations); Assert.AreEqual(domainReport.CicIPadDeletions, reportEntity.CicIPadDeletions); Assert.AreEqual(domainReport.CicIPadRegistrations, reportEntity.CicIPadRegistrations); Assert.AreEqual(domainReport.CicIPadSuccessfulUploads, reportEntity.CicIPadSuccessfulUploads); Assert.AreEqual(domainReport.CicIPadUploadCancels, reportEntity.CicIPadUploadCancels); Assert.AreEqual(domainReport.CicMacDeletions, reportEntity.CicMacDeletions); Assert.AreEqual(domainReport.CicMacRegistrations, reportEntity.CicMacRegistrations); Assert.AreEqual(domainReport.CicMacSuccessfulUploads, reportEntity.CicMacSuccessfulUploads); Assert.AreEqual(domainReport.CicMacUploadCancels, reportEntity.CicMacUploadCancels); Assert.AreEqual(domainReport.CicPcDeletions, reportEntity.CicPcDeletions); Assert.AreEqual(domainReport.CicPcRegistrations, reportEntity.CicPcRegistrations); Assert.AreEqual(domainReport.CicPcSuccessfulUploads, reportEntity.CicPcSuccessfulUploads); Assert.AreEqual(domainReport.CicPcUploadCancels, reportEntity.CicPcUploadCancels); Assert.AreEqual(domainReport.EmailRegistrations, reportEntity.EmailRegistrations); Assert.AreEqual(domainReport.EmbeddedViews, reportEntity.EmbeddedViews); Assert.AreEqual(domainReport.FacebookRegistrations, reportEntity.FacebookRegistrations); Assert.AreEqual(domainReport.GoogleRegistrations, reportEntity.GoogleRegistrations); Assert.AreEqual(domainReport.TaggerIPhoneDeletions, reportEntity.TaggerIPhoneDeletions); Assert.AreEqual(domainReport.TaggerIPhoneRegistrations, reportEntity.TaggerIPhoneRegistrations); Assert.AreEqual(domainReport.TaggerIPhoneUploads, reportEntity.TaggerIPhoneSuccessfulUploads); Assert.AreEqual(domainReport.TaggerIPhoneUploadCancels, reportEntity.TaggerIPhoneUploadCancels); Assert.AreEqual(domainReport.TotalViews, reportEntity.TotalViews); Assert.AreEqual(domainReport.WindowsLiveRegistrations, reportEntity.WindowsLiveRegistrations); Assert.AreEqual(domainReport.YahooRegistrations, reportEntity.YahooRegistrations); Assert.AreEqual(domainReport.ImageShackDeletions, reportEntity.ImageShackDeletions); Assert.AreEqual(domainReport.ImageShackRegistrations, reportEntity.ImageShackRegistrations); Assert.AreEqual(domainReport.ImageShackSuccessfulUploads, reportEntity.ImageShackSuccessfulUploads); Assert.AreEqual(domainReport.ImageShackUploadCancels, reportEntity.ImageShackUploadCancels); Assert.AreEqual(domainReport.TwitterRegistrations, reportEntity.TwitterRegistrations); Assert.AreEqual(domainReport.OdnoklassnikiRegistrations, reportEntity.OdnoklassnikiRegistrations); Assert.AreEqual(domainReport.BrowserRegistrations, reportEntity.BrowserRegistrations); Assert.AreEqual(domainReport.OtherRegistrations, reportEntity.OtherRegistrations); Assert.AreEqual(domainReport.TaggerAndroidDeletions, reportEntity.TaggerAndroidDeletions); Assert.AreEqual(domainReport.TaggerAndroidRegistrations, reportEntity.TaggerAndroidRegistrations); Assert.AreEqual(domainReport.TaggerAndroidSuccessfulUploads, reportEntity.TaggerAndroidSuccessfulUploads); Assert.AreEqual(domainReport.TaggerAndroidUploadCancels, reportEntity.TaggerAndroidUploadCancels); Assert.AreEqual(domainReport.StandaloneDeletions, reportEntity.StandaloneDeletions); Assert.AreEqual(domainReport.StandaloneRegistrations, reportEntity.StandaloneRegistrations); Assert.AreEqual(domainReport.StandaloneSuccessfulUploads, reportEntity.StandaloneSuccessfulUploads); Assert.AreEqual(domainReport.StandaloneUploadCancels, reportEntity.StandaloneUploadCancels); Assert.AreEqual(domainReport.PlayerDeletions, reportEntity.PlayerDeletions); Assert.AreEqual(domainReport.PlayerRegistrations, reportEntity.PlayerRegistrations); Assert.AreEqual(domainReport.PlayerSuccessfulUploads, reportEntity.PlayerSuccessfulUploads); Assert.AreEqual(domainReport.PlayerUploadCancels, reportEntity.PlayerUploadCancels); Assert.AreEqual(domainReport.DailyMotionDeletions, reportEntity.DailyMotionDeletions); Assert.AreEqual(domainReport.DailyMotionRegistrations, reportEntity.DailyMotionRegistrations); Assert.AreEqual(domainReport.DailyMotionSuccessfulUploads, reportEntity.DailyMotionSuccessfulUploads); Assert.AreEqual(domainReport.DailyMotionUploadCancels, reportEntity.DailyMotionUploadCancels); Assert.AreEqual(domainReport.VkRegistrations, reportEntity.VkRegistrations); Assert.AreEqual(domainReport.JwPlayerDeletions, reportEntity.JwPlayerDeletions); Assert.AreEqual(domainReport.JwPlayerRegistrations, reportEntity.JwPlayerRegistrations); Assert.AreEqual(domainReport.JwPlayerSuccessfulUploads, reportEntity.JwPlayerSuccessfulUploads); Assert.AreEqual(domainReport.JwPlayerUploadCancels, reportEntity.JwPlayerUploadCancels); }
public void DomainReportToDtoTest() { //Arrange var startDate = new DateTime(21341222); var endDate = new DateTime(4352435234); var interval = new Interval() { Finish = endDate, Start = startDate }; var domainReport = new DomainReport() { Interval = "interval", AllRegistrations = 12, CicIPadDeletions = 23, CicIPadRegistrations = 34, CicIPadSuccessfulUploads = 45, CicIPadUploadCancels = 445, CicMacDeletions = 56, CicMacRegistrations = 67, CicMacSuccessfulUploads = 78, CicMacUploadCancels = 778, CicPcDeletions = 89, CicPcRegistrations = 90, CicPcSuccessfulUploads = 123, CicPcUploadCancels = 1123, EmailRegistrations = 234, EmbeddedViews = 345, FacebookRegistrations = 456, GoogleRegistrations = 567, TaggerIPhoneDeletions = 678, TaggerIPhoneRegistrations = 789, TaggerIPhoneUploads = 890, TaggerIPhoneUploadCancels = 990, TotalViews = 901, WindowsLiveRegistrations = 1234, YahooRegistrations = 2345, ImageShackDeletions = 11, ImageShackRegistrations = 22, ImageShackSuccessfulUploads = 33, ImageShackUploadCancels = 44, TwitterRegistrations = 111, BrowserRegistrations = 112, OtherRegistrations = 113, PlayerDeletions = 114, PlayerRegistrations = 115, PlayerSuccessfulUploads = 116, PlayerUploadCancels = 117, StandaloneDeletions = 118, StandaloneRegistrations = 119, StandaloneSuccessfulUploads = 221, StandaloneUploadCancels = 223, TaggerAndroidDeletions = 224, TaggerAndroidRegistrations = 225, TaggerAndroidSuccessfulUploads = 226, TaggerAndroidUploadCancels = 227, DailyMotionDeletions = 228, DailyMotionRegistrations = 229, DailyMotionSuccessfulUploads = 331, DailyMotionUploadCancels = 332, VkRegistrations = 333, JwPlayerDeletions = 334, JwPlayerRegistrations = 335, JwPlayerSuccessfulUploads = 336, JwPlayerUploadCancels = 447, OdnoklassnikiRegistrations = 448 }; var mapper = new ReportMapper(_tableValueConverter.Object); //Act var report = mapper.DomainReportToDto(domainReport, interval); //Assert Assert.AreEqual(startDate, report.Interval.Start); Assert.AreEqual(endDate.Subtract(TimeSpan.FromTicks(1)), report.Interval.End); Assert.AreEqual(domainReport.AllRegistrations, report.AllRegistrations); Assert.AreEqual(domainReport.CicIPadDeletions, report.CicIPadDeletions); Assert.AreEqual(domainReport.CicIPadRegistrations, report.CicIPadRegistrations); Assert.AreEqual(domainReport.CicIPadSuccessfulUploads, report.CicIPadSuccessfulUploads); Assert.AreEqual(domainReport.CicIPadUploadCancels, report.CicIPadUploadCancels); Assert.AreEqual(domainReport.CicMacDeletions, report.CicMacDeletions); Assert.AreEqual(domainReport.CicMacRegistrations, report.CicMacRegistrations); Assert.AreEqual(domainReport.CicMacSuccessfulUploads, report.CicMacSuccessfulUploads); Assert.AreEqual(domainReport.CicMacUploadCancels, report.CicMacUploadCancels); Assert.AreEqual(domainReport.CicPcDeletions, report.CicPcDeletions); Assert.AreEqual(domainReport.CicPcRegistrations, report.CicPcRegistrations); Assert.AreEqual(domainReport.CicPcSuccessfulUploads, report.CicPcSuccessfulUploads); Assert.AreEqual(domainReport.CicPcUploadCancels, report.CicPcUploadCancels); Assert.AreEqual(domainReport.EmailRegistrations, report.EmailRegistrations); Assert.AreEqual(domainReport.EmbeddedViews, report.EmbeddedViews); Assert.AreEqual(domainReport.FacebookRegistrations, report.FacebookRegistrations); Assert.AreEqual(domainReport.GoogleRegistrations, report.GoogleRegistrations); Assert.AreEqual(domainReport.TaggerIPhoneDeletions, report.TaggerIPhoneDeletions); Assert.AreEqual(domainReport.TaggerIPhoneRegistrations, report.TaggerIPhoneRegistrations); Assert.AreEqual(domainReport.TaggerIPhoneUploads, report.TaggerIPhoneSuccessfulUploads); Assert.AreEqual(domainReport.TaggerIPhoneUploadCancels, report.TaggerIPhoneUploadCancels); Assert.AreEqual(domainReport.TotalViews, report.TotalViews); Assert.AreEqual(domainReport.WindowsLiveRegistrations, report.WindowsLiveRegistrations); Assert.AreEqual(domainReport.YahooRegistrations, report.YahooRegistrations); Assert.AreEqual(domainReport.ImageShackDeletions, report.ImageShackDeletions); Assert.AreEqual(domainReport.ImageShackRegistrations, report.ImageShackRegistrations); Assert.AreEqual(domainReport.ImageShackSuccessfulUploads, report.ImageShackSuccessfulUploads); Assert.AreEqual(domainReport.ImageShackUploadCancels, report.ImageShackUploadCancels); Assert.AreEqual(domainReport.TwitterRegistrations, report.TwitterRegistrations); Assert.AreEqual(domainReport.OdnoklassnikiRegistrations, report.OdnoklassnikiRegistrations); Assert.AreEqual(domainReport.BrowserRegistrations, report.BrowserRegistrations); Assert.AreEqual(domainReport.OtherRegistrations, report.OtherRegistrations); Assert.AreEqual(domainReport.TaggerAndroidDeletions, report.TaggerAndroidDeletions); Assert.AreEqual(domainReport.TaggerAndroidRegistrations, report.TaggerAndroidRegistrations); Assert.AreEqual(domainReport.TaggerAndroidSuccessfulUploads, report.TaggerAndroidSuccessfulUploads); Assert.AreEqual(domainReport.TaggerAndroidUploadCancels, report.TaggerAndroidUploadCancels); Assert.AreEqual(domainReport.StandaloneDeletions, report.StandaloneDeletions); Assert.AreEqual(domainReport.StandaloneRegistrations, report.StandaloneRegistrations); Assert.AreEqual(domainReport.StandaloneSuccessfulUploads, report.StandaloneSuccessfulUploads); Assert.AreEqual(domainReport.StandaloneUploadCancels, report.StandaloneUploadCancels); Assert.AreEqual(domainReport.PlayerDeletions, report.PlayerDeletions); Assert.AreEqual(domainReport.PlayerRegistrations, report.PlayerRegistrations); Assert.AreEqual(domainReport.PlayerSuccessfulUploads, report.PlayerSuccessfulUploads); Assert.AreEqual(domainReport.PlayerUploadCancels, report.PlayerUploadCancels); Assert.AreEqual(domainReport.DailyMotionDeletions, report.DailyMotionDeletions); Assert.AreEqual(domainReport.DailyMotionRegistrations, report.DailyMotionRegistrations); Assert.AreEqual(domainReport.DailyMotionSuccessfulUploads, report.DailyMotionSuccessfulUploads); Assert.AreEqual(domainReport.DailyMotionUploadCancels, report.DailyMotionUploadCancels); Assert.AreEqual(domainReport.VkRegistrations, report.VkRegistrations); Assert.AreEqual(domainReport.JwPlayerDeletions, report.JwPlayerDeletions); Assert.AreEqual(domainReport.JwPlayerRegistrations, report.JwPlayerRegistrations); Assert.AreEqual(domainReport.JwPlayerSuccessfulUploads, report.JwPlayerSuccessfulUpload); Assert.AreEqual(domainReport.JwPlayerUploadCancels, report.JwPlayerUploadCancels); }