public void SetsEmptyStatusesWhenEmpty() { var filter = new WorkerFilter(new WorkerFilterConfig { Statuses = new List <string>() }); filter.Statuses.Should().BeEmpty(); }
public static CalendarPage CheckWorkingFilter(this CalendarPage page, WorkerFilter filterType) { page.WorkingFilter.Buttons.Count.Wait($"ожидаем появления двух кнопок").EqualTo(2); page.WorkingFilter.GetButton((int)filterType) .Checked .Wait($"ожидаем включенный фильтр {filterType.ToString()}").EqualTo(true); return(page); }
public void SetsCorrectImportances(params int[] importances) { var filter = new WorkerFilter(new WorkerFilterConfig { Importances = importances.ToList() }); filter.Importances.Should().Equal(importances); }
public void SetsAllImportancesWhenNull() { var filter = new WorkerFilter(new WorkerFilterConfig { Importances = null }); filter.Importances.Should().Equal(0, 1, 2, 3); }
public void SetsEmptyAnalogsWhenEmpty() { var filter = new WorkerFilter(new WorkerFilterConfig { Analogs = new List <string>() }); filter.Analogs.Should().BeEmpty(); }
public void SetsEmptyStatusesWhenNull() { var filter = new WorkerFilter(new WorkerFilterConfig { Statuses = null }); filter.Statuses.Should().BeEmpty(); }
public void SetsCorrectTypes(TmEventTypes expected, params TmEventTypes[] types) { var filter = new WorkerFilter(new WorkerFilterConfig { Types = types.ToList() }); filter.Types.Should().Be(expected); }
public void SetsAnyTypesWhenNull() { var filter = new WorkerFilter(new WorkerFilterConfig { Types = null }); filter.Types.Should().Be(TmEventTypes.Any); }
public void SetsDefaultValuesWhenNull() { var filter = new WorkerFilter(null); filter.Types.Should().Be(TmEventTypes.Any); filter.Importances.Should().Equal(0, 1, 2, 3); filter.Statuses.Should().BeEmpty(); filter.Analogs.Should().BeEmpty(); }
public JsonResult Filter(WorkerFilter filter) { var response = _workerService.Filter(filter); if (filter.IsReport) { var branches = _branchService.Filter(new BranchFilter()).Branches; response.Workers.ForEach(worker => worker.Branch = branches.FirstOrDefault(branch => branch.Id.IsEqualTo(worker.BranchId))); } return(new JsonFactory().Success(response.Workers, response.TotalRecords)); }
public void ReturnsCorrectValueWithImportancesFilter(int importance, bool expected) { var importances = new List <int> { 1, 2 }; var filter = new WorkerFilter(new WorkerFilterConfig { Importances = importances }); var tmEvent = TmEventUtil.CreateRandomValidTmEvent(dto => dto.Importance = (short)importance); var result = filter.IsEventSuitable(tmEvent); result.Should().Be(expected); }
public void ReturnsCorrectValueWithTypesFilter(TmEventTypes tmEventType, bool expected) { var types = new List <TmEventTypes> { TmEventTypes.StatusChange, TmEventTypes.Alarm }; var filter = new WorkerFilter(new WorkerFilterConfig { Types = types }); var tmEvent = TmEventUtil.CreateRandomValidTmEvent(dto => dto.RecType = (short)tmEventType); var result = filter.IsEventSuitable(tmEvent); result.Should().Be(expected); }
public FileResult Export(WorkerFilter filter) { var response = _workerService.Filter(filter); var branches = _branchService.Filter(new BranchFilter()).Branches; var csv = new CsvExport(); if (filter.IsReport) { csv.ConcatRow(0, "COMPAÑÍA,ID SUCURSAL,SUCURSAL,DEPARTAMENTO,PUESTO,CÓDIGO,NOMBRE,GÉNERO,NSS,FECHA CONSUMO,CONSUMIDO,RECOMENDADO"); foreach (var worker in response.Workers) { var today = DateTimeExtensions.Today(); var startDate = filter.Month.IsGreaterThanZero() ? new DateTime(today.Year, today.Month, 1).ConvertToString() : ""; var endDate = filter.Month.IsGreaterThanZero() ? new DateTime(today.Year, today.Month, DateTime.DaysInMonth(today.Year, today.Month)).ConvertToString() : "";; var responseCalories = _reservationService.Report(new ReservationReport { WorkerId = worker.Id, StartDate = startDate, EndDate = endDate }); var currentCompany = branches.First(branch => branch.Id.IsEqualTo(worker.BranchId)).Company.Name; //var responseCalories = new ReservationReportResponse //{ // Calories = new List<ReservationCalorieReportResponse> //{ // new ReservationCalorieReportResponse{Date = DateTimeExtensions.Today().AddDays(-7).ConvertToString(),Dinner = 200, Lunch = 1000, BreakFast = 150}, // new ReservationCalorieReportResponse{Date = DateTimeExtensions.Today().AddDays(-6).ConvertToString(),Dinner = 164, Lunch = 1000, BreakFast = 150}, // new ReservationCalorieReportResponse{Date = DateTimeExtensions.Today().AddDays(-5).ConvertToString(),Dinner = 195, Lunch = 1000, BreakFast = 150}, // new ReservationCalorieReportResponse{Date = DateTimeExtensions.Today().AddDays(-4).ConvertToString(),Dinner = 109, Lunch = 1000, BreakFast = 203}, // new ReservationCalorieReportResponse{Date = DateTimeExtensions.Today().AddDays(-3).ConvertToString(),Dinner = 287, Lunch = 1000, BreakFast = 343}, // new ReservationCalorieReportResponse{Date = DateTimeExtensions.Today().AddDays(-2).ConvertToString(),Dinner = 207, Lunch = 1000, BreakFast = 150}, // new ReservationCalorieReportResponse{Date = DateTimeExtensions.Today().AddDays(-1).ConvertToString(),Dinner = 218, Lunch = 1000, BreakFast = 145} //} //}; foreach (var calorie in responseCalories.Calories) { var sumCalories = calorie.BreakFast + calorie.Dinner + calorie.Lunch; var row = string.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11}", currentCompany, worker.BranchId, worker.Branch.Name, worker.Department.Name, worker.Job.Name, worker.Code, worker.FullName, EnumResolver.Gender(worker.Gender.GetValue()), worker.Imss, calorie.Date, sumCalories.RoundDecimal(), worker.LimitEnergy); csv.ConcatRow(0, row); } } } else { csv.ConcatRow(0, "CÓDIGO,NOMBRE,APELLIDO,EMAIL,IMSS,GÉNERO,GAFFETE,INGESTA CALÓRICA,SUCURSAL,DEPARTAMENTO,PUESTO,ROL,ESTADO"); csv.ConcatRows(0, "Code,FirstName,LastName,Email,Imss,GenderLabel,Badge,LimitEnergy,Branch,Department,Job,Role,Status", response.Workers); } var stream = csv.RetrieveFile(); return(new StreamFactory().Csv(stream, "Ingesta calórica por colaborador")); }
public void SetsCorrectStatuses() { var statuses = new List <string> { "0:1:1", "0:1:6", "11:1:2..4", "0:1:9" }; var filter = new WorkerFilter(new WorkerFilterConfig { Statuses = statuses }); filter.Statuses.Should().Equal(TmAddr.EncodeComplexInteger(0, 1, 1), TmAddr.EncodeComplexInteger(0, 1, 6), TmAddr.EncodeComplexInteger(0, 1, 9), TmAddr.EncodeComplexInteger(11, 1, 2), TmAddr.EncodeComplexInteger(11, 1, 3), TmAddr.EncodeComplexInteger(11, 1, 4)); }
public void ReturnsTrueWhenEmptyFilter() { var filter = new WorkerFilter(null); var tmEvents = new List <TmEvent>(); for (var i = 0; i < 100; i++) { tmEvents.Add(TmEventUtil.CreateRandomValidTmEvent()); } foreach (var tmEvent in tmEvents) { filter.IsEventSuitable(tmEvent) .Should() .BeTrue(); } }
public void SetsCorrectAnalogs() { var statuses = new List <string> { "20:1:1", "10:3:5", "0:1:1..5" }; var filter = new WorkerFilter(new WorkerFilterConfig { Statuses = statuses }); filter.Statuses.Should().Equal(TmAddr.EncodeComplexInteger(0, 1, 1), TmAddr.EncodeComplexInteger(0, 1, 2), TmAddr.EncodeComplexInteger(0, 1, 3), TmAddr.EncodeComplexInteger(0, 1, 4), TmAddr.EncodeComplexInteger(0, 1, 5), TmAddr.EncodeComplexInteger(10, 3, 5), TmAddr.EncodeComplexInteger(20, 1, 1)); }
public void ReturnsCorrectValueWithAnalogsFilter(int ch, int rtu, int point, bool expected) { var analogs = new List <string> { "20:3:2..4", "20:3:6" }; var filter = new WorkerFilter(new WorkerFilterConfig { Analogs = analogs }); var analogType = TmNativeDefs.TmDataTypes.Analog; var tmEvent = TmEventUtil.CreateRandomValidTmEvent(dto => { dto.TmType = (short)analogType; dto.Tma = (int)TmAddr.EncodeComplexInteger(ch, rtu, point); }); var result = filter.IsEventSuitable(tmEvent); result.Should().Be(expected); }
public void ReturnsFalseWithStatusesAnalogsFilterAndZeroAddr() { var statuses = new List <string> { "10:1:2..4", "10:1:6" }; var analogs = new List <string> { "20:3:2..4", "20:3:6" }; var filter = new WorkerFilter(new WorkerFilterConfig { Statuses = statuses, Analogs = analogs }); var tmEvent = TmEventUtil.CreateRandomValidTmEvent(dto => { dto.TmType = 0; dto.Tma = 0; }); var result = filter.IsEventSuitable(tmEvent); result.Should().BeFalse(); }
public void ReturnsFalseWithStatusesAnalogsFilterAndOverlap() { var statuses = new List <string> { "10:1:2..4", "10:1:6" }; var analogs = new List <string> { "20:3:2..4", "20:3:6" }; var filter = new WorkerFilter(new WorkerFilterConfig { Statuses = statuses, Analogs = analogs }); var statusType = TmNativeDefs.TmDataTypes.Status; var analogType = TmNativeDefs.TmDataTypes.Analog; var tmEventStatusFalse = TmEventUtil.CreateRandomValidTmEvent(dto => { dto.TmType = (short)statusType; dto.Tma = (int)TmAddr.EncodeComplexInteger(20, 3, 6); }); var tmEventStatusTrue = TmEventUtil.CreateRandomValidTmEvent(dto => { dto.TmType = (short)statusType; dto.Tma = (int)TmAddr.EncodeComplexInteger(10, 1, 6); }); var tmEventAnalogFalse = TmEventUtil.CreateRandomValidTmEvent(dto => { dto.TmType = (short)analogType; dto.Tma = (int)TmAddr.EncodeComplexInteger(10, 1, 6); }); var tmEventAnalogTrue = TmEventUtil.CreateRandomValidTmEvent(dto => { dto.TmType = (short)analogType; dto.Tma = (int)TmAddr.EncodeComplexInteger(20, 3, 6); }); filter.IsEventSuitable(tmEventStatusFalse).Should().BeFalse(); filter.IsEventSuitable(tmEventStatusTrue).Should().BeTrue(); filter.IsEventSuitable(tmEventAnalogFalse).Should().BeFalse(); filter.IsEventSuitable(tmEventAnalogTrue).Should().BeTrue(); }
public static CalendarPage SetWorkingFilter(this CalendarPage page, WorkerFilter filterType) { page.WorkingFilter.Buttons.Count.Wait($"ожидаем появления двух кнопок").EqualTo(2); page.WorkingFilter.GetButton((int)filterType).Click(); return(page.CheckWorkingFilter(filterType)); }