public void Arrange()
        {
            _fixture = new Fixture();

            _sut          = _fixture.Create <LearnerSubmissionDto>();
            _startDate    = DateTime.Now.AddMonths(-1);
            _endDate      = DateTime.Today.AddDays(-1);
            _periodNumber = 3;

            _apprenticeshipIncentiveModel = _fixture.Build <ApprenticeshipIncentiveModel>()
                                            .With(p => p.Apprenticeship, _fixture.Create <Apprenticeship>())
                                            .Create();
            _incentive = new ApprenticeshipIncentiveFactory().GetExisting(_apprenticeshipIncentiveModel.Id, _apprenticeshipIncentiveModel);

            _testTrainingDto           = _sut.Training.First();
            _testTrainingDto.Reference = "ZPROG001";

            _testPriceEpisodeDto           = _testTrainingDto.PriceEpisodes.First();
            _testPriceEpisodeDto.StartDate = _startDate;
            _testPriceEpisodeDto.EndDate   = _endDate;

            _testPeriodDto = _testPriceEpisodeDto.Periods.First();

            _testPeriodDto.ApprenticeshipId = _apprenticeshipIncentiveModel.Apprenticeship.Id;
            _testPeriodDto.Period           = _periodNumber;
            _testPeriodDto.IsPayable        = true;
        }
Exemplo n.º 2
0
        private DateTime GetDateTimeForPeiod(PeriodDto period)
        {
            var dateTimeForPeriod = new DateTime();

            //days
            if (period.CurrentTimeType == "1")
            {
                dateTimeForPeriod = _dateTimeNow.AddDays(period.CurrentTimeValue);
            }
            //hours
            if (period.CurrentTimeType == "2")
            {
                dateTimeForPeriod = _dateTimeNow.AddHours(period.CurrentTimeValue);
            }
            //Minutes
            if (period.CurrentTimeType == "3")
            {
                dateTimeForPeriod = _dateTimeNow.AddMinutes(period.CurrentTimeValue);
            }
            //Seconds
            if (period.CurrentTimeType == "4")
            {
                dateTimeForPeriod = _dateTimeNow.AddSeconds(period.CurrentTimeValue);
            }

            return(dateTimeForPeriod);
        }
Exemplo n.º 3
0
        public IActionResult Period(int?id, [FromQuery] int dayId)
        {
            if (dayId == 0)
            {
                return(BadRequest());
            }

            PeriodDto periodDto;

            if (id != null)
            {
                periodDto = PeriodService.GetPeriod(id.Value);
                if (periodDto == null)
                {
                    return(NotFound());
                }
                if (periodDto.SchoolDayId != dayId)
                {
                    return(BadRequest());
                }
            }
            else
            {
                periodDto = new PeriodDto
                {
                    SchoolDayId = dayId,
                    Number      = Shared.Enums.PeriodNumber.First
                };
            }

            var periodBindingModel = Mapper.Map <PeriodBindingModel>(periodDto);
            var periodViewModel    = new PeriodViewModel(periodBindingModel, id);

            return(View(periodViewModel));
        }
        private async Task PopulatePeriodDates()
        {
            GetResult <IEnumerable <PeriodDto> > getPeriodsResult = await _accountingManager.GetAllPeriods();

            if (!getPeriodsResult.IsSuccess)
            {
                this.ShowErrorMessage("Failed to retrieve periods.", getPeriodsResult.FailureMessage);
                Close();
                return;
            }

            PeriodDto lastPeriod = getPeriodsResult.Result.LastOrDefault();

            if (lastPeriod == null)
            {
                this.ShowErrorMessage("No periods found.");
                Close();
                return;
            }

            _synchronizationContext.Post(
                p =>
            {
                var period = (PeriodDto)p;

                _startDateValueLabel.Text = $"{period.Start:yyyy-MM-dd}";
                _endDatePicker.Value      = period.End;
            },
                lastPeriod);
        }
Exemplo n.º 5
0
        private ServiceResult AddPeriod(PeriodDto periodDto)
        {
            SchoolDayEntity day = Context.SchoolDays
                                  .Include(d => d.Periods)
                                  .SingleOrDefault(d => d.Id == periodDto.SchoolDayId);

            if (day == null)
            {
                return(new ServiceResult(Result.NotFound));
            }

            var periodEntity = new PeriodEntity();

            periodEntity.Number        = periodDto.Number;
            periodEntity.Cabinet       = periodDto.Cabinet;
            periodEntity.Subgroup      = periodDto.Subgroup;
            periodEntity.IsLecture     = periodDto.IsLecture;
            periodEntity.Option        = periodDto.Option;
            periodEntity.OptionDate    = periodDto.OptionDate;
            periodEntity.OptionCabinet = periodDto.OptionCabinet;
            periodEntity.IsApproved    = true;

            day.Periods.Add(periodEntity);

            Context.SaveChanges();

            return(new ServiceResult(Result.OK, periodEntity.Id));
        }
Exemplo n.º 6
0
        public ServiceResult <PeriodDto> CreatePeriod(bool save, Guid schoolId, string name, DateTime startDateTime, DateTime endDateTime)
        {
            Period period = new Period()
            {
                SchoolId      = schoolId,
                StartDateTime = startDateTime,
                Day           = startDateTime.DayOfWeek.ToString(),
                EndDateTime   = endDateTime,
                Name          = name
            };

            flytDexContext.Periods.Add(period);

            if (save)
            {
                if (flytDexContext.SaveChanges() == -1)
                {
                    return(errorService.Error <PeriodDto>("Error adding period"));
                }
            }

            PeriodDto periodDto = mapper.Map <PeriodDto>(period);

            return(new ServiceResult <PeriodDto>(periodDto));
        }
        protected PeriodDto GetPeriodDto(int type, PeriodDto data, int Period, int[] OrdersStatus, int?OrderType, int?OrderType2, DateTime?Day)
        {
            foreach (var i in OrdersStatus)
            {
                int?OrderStatus = null;
                if (i == 2)
                {
                    OrderStatus = 30;
                    switch (type)
                    {
                    case 0:
                        data.AllCancel = GetOrderResult(Period, OrderType, OrderType2, OrderStatus, Day);
                        break;

                    case 1:
                        data.ForthwithCancel = GetOrderResult(Period, OrderType, OrderType2, OrderStatus, Day);
                        break;

                    case 2:
                        data.OrderCancel = GetOrderResult(Period, OrderType, OrderType2, OrderStatus, Day);
                        break;

                    case 3:
                        data.AirportPickupCancel = GetOrderResult(Period, OrderType, OrderType2, OrderStatus, Day);
                        break;

                    case 4:
                        data.AirportDropOffCancel = GetOrderResult(Period, OrderType, OrderType2, OrderStatus, Day);
                        break;
                    }
                }
                else
                {
                    switch (type)
                    {
                    case 0:
                        data.AllSucces = GetOrderResult(Period, OrderType, OrderType2, OrderStatus, Day);
                        break;

                    case 1:
                        data.ForthwithSucces = GetOrderResult(Period, OrderType, OrderType2, OrderStatus, Day);
                        break;

                    case 2:
                        data.OrderSucces = GetOrderResult(Period, OrderType, OrderType2, OrderStatus, Day);
                        break;

                    case 3:
                        data.AirportPickupSuccess = GetOrderResult(Period, OrderType, OrderType2, OrderStatus, Day);
                        break;

                    case 4:
                        data.AirportDropOffSucces = GetOrderResult(Period, OrderType, OrderType2, OrderStatus, Day);
                        break;
                    }
                }
            }
            return(data);
        }
Exemplo n.º 8
0
 /// <summary>
 /// Period Model Init
 /// </summary>
 /// <param name="dto">Period DTO</param>
 public PeriodModel(PeriodDto dto)
 {
     Name      = dto.Name;
     IsCurrent = dto.IsCurrent;
     Start     = dto.Start;
     End       = dto.End;
     UserId    = dto.UserId;
 }
Exemplo n.º 9
0
        public void Arrange()
        {
            _fixture = new Fixture();

            _dueDate = DateTime.Now.AddMonths(-1);
            short paymentYear = (short)DateTime.Now.Year;

            _periodNumber = _fixture.Create <byte>();

            _nextPendingPaymentDue = _fixture.Build <PendingPaymentModel>()
                                     .With(pp => pp.PaymentMadeDate, (DateTime?)null)
                                     .With(pp => pp.PaymentYear, paymentYear)
                                     .With(pp => pp.PeriodNumber, _periodNumber)
                                     .With(pp => pp.DueDate, _dueDate)// earliest
                                     .Create();

            _apprenticeshipIncentiveModel = _fixture.Build <ApprenticeshipIncentiveModel>()
                                            .With(a => a.PendingPaymentModels, new List <PendingPaymentModel>()
            {
                _fixture.Build <PendingPaymentModel>()
                .With(pp => pp.PaymentMadeDate, (DateTime?)null)
                .With(pp => pp.DueDate, _dueDate.AddMonths(1))
                .With(pp => pp.PaymentYear, (short?)null)
                .Create(),
                _fixture.Build <PendingPaymentModel>()
                .With(pp => pp.PaymentMadeDate, (DateTime?)null)
                .With(pp => pp.DueDate, _dueDate.AddMonths(2))
                .With(pp => pp.PaymentYear, (short?)null)
                .Create(),
                _nextPendingPaymentDue
            })
                                            .Create();

            _incentive = new ApprenticeshipIncentiveFactory().GetExisting(_apprenticeshipIncentiveModel.Id, _apprenticeshipIncentiveModel);

            _sut       = _fixture.Create <LearnerSubmissionDto>();
            _startTime = _dueDate.AddDays(-10);

            _testTrainingDto           = _sut.Training.First();
            _testTrainingDto.Reference = "ZPROG001";

            _testPriceEpisodeDto           = _testTrainingDto.PriceEpisodes.First();
            _testPriceEpisodeDto.StartDate = _startTime;
            _testPriceEpisodeDto.EndDate   = _dueDate.AddDays(10);

            _testPeriodDto = _testPriceEpisodeDto.Periods.First();

            _testPeriodDto.ApprenticeshipId = _incentive.Apprenticeship.Id;
            _testPeriodDto.IsPayable        = false;
            _testPeriodDto.Period           = _periodNumber;
        }
Exemplo n.º 10
0
        public async Task <PeriodVw> EditTaxRulePeriodAsync(Guid taxRulePeriodId, PeriodDto period)
        {
            var p = _mapper.Map <Period>(period);

            var(editedPeriod, error) = await _taxRulePeriodDomainService.EditPeriod(taxRulePeriodId, p);

            if (!string.IsNullOrWhiteSpace(error))
            {
                var fault = new FaultHandle(error);
                throw new FaultException <FaultHandle>(fault);
            }

            return(_mapper.Map <PeriodVw>(editedPeriod));
        }
        public Dictionary <string, PeriodDto> ByTheHour(ByTheHourResultRequestDto input)
        {
            var datalist = new Dictionary <string, PeriodDto>();

            foreach (var Day in input.DayList)
            {
                var data = new PeriodDto();
                foreach (var i in input.OrderType)
                {
                    int?OrderType  = null;
                    int?OrderType2 = null;
                    switch (i)
                    {
                    case 0:
                        data = GetPeriodDto(i, data, 0, input.OrderStatus, OrderType, OrderType2, Day);
                        break;

                    case 1:
                        OrderType = 1;
                        data      = GetPeriodDto(i, data, 0, input.OrderStatus, OrderType, OrderType2, Day);
                        break;

                    case 2:
                        OrderType  = 2;
                        OrderType2 = 0;
                        foreach (var j in input.OrderStatus)
                        {
                            data = GetPeriodDto(i, data, 0, input.OrderStatus, OrderType, OrderType2, Day);
                        }
                        break;

                    case 3:
                        OrderType  = 2;
                        OrderType2 = 1;
                        data       = GetPeriodDto(i, data, 0, input.OrderStatus, OrderType, OrderType2, Day);
                        break;

                    case 4:
                        OrderType  = 2;
                        OrderType2 = 2;
                        data       = GetPeriodDto(i, data, 0, input.OrderStatus, OrderType, OrderType2, Day);
                        break;
                    }
                }
                datalist.Add(Day.ToLocalTime().ToString("yyyy-MM-dd"), data);
            }

            return(datalist);
        }
        public void Arrange()
        {
            _fixture = new Fixture();

            _sut          = _fixture.Create <LearnerSubmissionDto>();
            _startDate    = DateTime.Now;
            _endDate      = _startDate.AddMonths(2);
            _periodNumber = 3;
            var dueDate = _startDate.AddMonths(1);

            var pendingPaymentModel = _fixture
                                      .Build <PendingPaymentModel>()
                                      .With(pp => pp.PaymentMadeDate, (DateTime?)null)
                                      .With(p => p.DueDate, dueDate)
                                      .Create();

            _apprenticeshipIncentiveModel = _fixture.Build <ApprenticeshipIncentiveModel>()
                                            .With(p => p.Apprenticeship, _fixture.Create <Apprenticeship>())
                                            .With(p => p.PendingPaymentModels, new List <PendingPaymentModel> {
                _fixture.Build <PendingPaymentModel>()
                .With(pp => pp.PaymentMadeDate, (DateTime?)null)
                .With(pp => pp.DueDate, dueDate.AddMonths(1))
                .With(pp => pp.CollectionPeriod, (Domain.ValueObjects.CollectionPeriod)null)
                .Create(),
                _fixture.Build <PendingPaymentModel>()
                .With(pp => pp.PaymentMadeDate, (DateTime?)null)
                .With(pp => pp.DueDate, dueDate.AddMonths(2))
                .With(pp => pp.CollectionPeriod, (Domain.ValueObjects.CollectionPeriod)null)
                .Create(),
                pendingPaymentModel
            })
                                            .Create();

            _incentive      = new ApprenticeshipIncentiveFactory().GetExisting(_apprenticeshipIncentiveModel.Id, _apprenticeshipIncentiveModel);
            _pendingPayment = _incentive.PendingPayments.Single(p => p.Id == pendingPaymentModel.Id);

            _testTrainingDto           = _sut.Training.First();
            _testTrainingDto.Reference = "ZPROG001";

            _testPriceEpisodeDto           = _testTrainingDto.PriceEpisodes.First();
            _testPriceEpisodeDto.StartDate = _startDate;
            _testPriceEpisodeDto.EndDate   = _endDate;

            _testPeriodDto = _testPriceEpisodeDto.Periods.First();

            _testPeriodDto.ApprenticeshipId = _apprenticeshipIncentiveModel.Apprenticeship.Id;
            _testPeriodDto.Period           = _periodNumber;
            _testPeriodDto.IsPayable        = true;
        }
Exemplo n.º 13
0
        private static bool IsValidPeriodOption(PeriodDto period, out string errorMessage)
        {
            if (period.Option == PeriodOption.None && !string.IsNullOrEmpty(period.OptionCabinet))
            {
                errorMessage = "Пара без доп. условия, но указан доп. кабинет";
                return(false);
            }

            if (period.Option == PeriodOption.None && period.OptionDate != null)
            {
                errorMessage = "Пара без доп. условия, но указана доп. дата";
                return(false);
            }

            if (period.Option == PeriodOption.Once && period.OptionDate == null)
            {
                errorMessage = "Пара единожды, но доп. дата не указана";
                return(false);
            }

            if (period.Option == PeriodOption.OnceDifferentCabinet && string.IsNullOrWhiteSpace(period.OptionCabinet))
            {
                errorMessage = "Пара однажды в другом кабинете, но доп. кабинет не указан";
                return(false);
            }

            if (period.Option == PeriodOption.OnceDifferentCabinet && period.OptionDate == null)
            {
                errorMessage = "Пара однажды в другом кабинете, но доп. дата не указана";
                return(false);
            }

            if (period.Option == PeriodOption.Since && period.OptionDate == null)
            {
                errorMessage = "Пара начинается с определенной даты, но доп. дата не указана";
                return(false);
            }

            if (period.Option == PeriodOption.Until && period.OptionDate == null)
            {
                errorMessage = "Пара идет до определенной даты, но доп. дата не указана";
                return(false);
            }

            errorMessage = string.Empty;
            return(true);
        }
Exemplo n.º 14
0
 public void Load(PeriodDto periodParam, ActionEnum actionTypeParam)
 {
     actionType = actionTypeParam;
     if (actionType == ActionEnum.ModifyPeriod)
     {
         ShowBusyIndicator();
         periodService.GetPeriod((res, exp) =>
         {
             //HideBusyIndicator();
             //if (exp == null)
             //    Period = res;
             //else
             //    appController.HandleException(exp);
         },
                                 periodParam.Id);
     }
 }
Exemplo n.º 15
0
        public async Task <Period> NewPeriodAsync(PeriodRequest periodRequest, string userId)
        {
            var periodDto = new PeriodDto
            {
                UserId      = userId,
                CreatedAt   = DateTime.UtcNow,
                DisplayName = periodRequest.DisplayName,
                FirstDay    = periodRequest.FirstDay,
                LastDay     = periodRequest.LastDay,
                Notes       = periodRequest.Notes,
                BudgetId    = periodRequest.BudgetId
            };

            var period = _mapper.Map <Period>(periodDto);

            var created = await _baseRepository.CreateEntityAsync(period);

            return(created);
        }
Exemplo n.º 16
0
        public async Task Given_PeriodWithEndBeforeStart_When_Adding_Then_ResultIsFailure()
        {
            // Arrange.
            AccountingManager testObject = AccountingManagerFactory.Create(out IAccountingDataAccess accountingDataAccess);

            accountingDataAccess
            .GetLastPeriod()
            .Returns(GetResult <Period> .CreateSuccess(null));

            accountingDataAccess.AddPeriod(Arg.Any <Period>()).Returns(ActionResult.CreateSuccess());

            var period = new PeriodDto(DateTime.Now, DateTime.Now.AddDays(-1));

            // Act.
            ActionResult result = await testObject.AddPeriod(period);

            // Assert.
            Assert.IsFalse(result.IsSuccess);
        }
Exemplo n.º 17
0
        public async Task Given_NoExistingPeriods_When_Added_Then_ResultIsSuccess()
        {
            // Arrange.
            AccountingManager testObject = AccountingManagerFactory.Create(out IAccountingDataAccess accountingDataAccess);

            accountingDataAccess
            .GetLastPeriod()
            .Returns(GetResult <Period> .CreateFailure("No periods found"));

            accountingDataAccess
            .AddPeriod(Arg.Any <Period>())
            .Returns(ActionResult.CreateSuccess());

            var period = new PeriodDto(DateTime.Now, DateTime.Now);

            // Act.
            ActionResult result = await testObject.AddPeriod(period);

            // Assert.
            Assert.IsTrue(result.IsSuccess);
        }
Exemplo n.º 18
0
        public static List <(string Key, string Message)> Validate(PeriodDto period)
        {
            var errors = new List <(string, string)>();

            string errorMessage;

            if (!IsValidPeriodOption(period, out errorMessage))
            {
                var pair = (nameof(period.Option), errorMessage);
                errors.Add(pair);
            }

            if (!period.IsLecture && string.IsNullOrWhiteSpace(period.Subgroup))
            {
                errorMessage = "Пара не лекция, но подгруппа не указана";
                var pair = (nameof(period.Subgroup), errorMessage);
                errors.Add(pair);
            }

            return(errors);
        }
        public PeriodDto Period(PeriodResultRequestDto input)
        {
            var data = new PeriodDto();

            foreach (var i in input.OrderType)
            {
                int?OrderType  = null;
                int?OrderType2 = null;
                switch (i)
                {
                case 0:
                    data = GetPeriodDto(i, data, input.Period, input.OrderStatus, OrderType, OrderType2, null);
                    break;

                case 1:
                    OrderType = 1;
                    data      = GetPeriodDto(i, data, input.Period, input.OrderStatus, OrderType, OrderType2, null);
                    break;

                case 2:
                    OrderType  = 2;
                    OrderType2 = 0;
                    data       = GetPeriodDto(i, data, input.Period, input.OrderStatus, OrderType, OrderType2, null);
                    break;

                case 3:
                    OrderType  = 2;
                    OrderType2 = 1;
                    data       = GetPeriodDto(i, data, input.Period, input.OrderStatus, OrderType, OrderType2, null);
                    break;

                case 4:
                    OrderType  = 2;
                    OrderType2 = 2;
                    data       = GetPeriodDto(i, data, input.Period, input.OrderStatus, OrderType, OrderType2, null);
                    break;
                }
            }
            return(data);
        }
Exemplo n.º 20
0
        public void Arrange()
        {
            _fixture = new Fixture();

            var model = _fixture.Create <ApprenticeshipIncentiveModel>();

            _incentive = new ApprenticeshipIncentiveFactory().GetExisting(model.Id, model);

            _sut       = _fixture.Create <LearnerSubmissionDto>();
            _startTime = DateTime.Now;

            _testTrainingDto           = _sut.Training.First();
            _testTrainingDto.Reference = "ZPROG001";

            _testPriceEpisodeDto           = _testTrainingDto.PriceEpisodes.First();
            _testPriceEpisodeDto.StartDate = _startTime;

            _testPeriodDto = _testPriceEpisodeDto.Periods.First();

            _testPeriodDto.ApprenticeshipId = _incentive.Apprenticeship.Id;
            _testPeriodDto.IsPayable        = true;
        }
Exemplo n.º 21
0
        public PeriodDto GetPeriod(int id)
        {
            PeriodDto period = Context.Periods
                               .AsNoTracking()
                               .Include(p => p.SchoolDay)
                               .Select(p => new PeriodDto
            {
                Id            = p.Id,
                Number        = p.Number,
                Cabinet       = p.Cabinet,
                Subgroup      = p.Subgroup,
                IsLecture     = p.IsLecture,
                Option        = p.Option,
                OptionDate    = p.OptionDate,
                OptionCabinet = p.OptionCabinet,
                SchoolDayId   = p.SchoolDay.Id,
                IsApproved    = p.IsApproved
            })
                               .SingleOrDefault(t => t.Id == id);

            return(period);
        }
Exemplo n.º 22
0
        public async Task Given_ExistingPeriods_When_NewPeriodDoesNotStartAfterLastExistingPeriod_Then_ResultIsFailure()
        {
            // Arrange.
            var lastPeriod = new Period(
                new DateTime(2020, 1, 1),
                new DateTime(2020, 1, 31));

            AccountingManager testObject = AccountingManagerFactory.Create(out IAccountingDataAccess accountingDataAccess);

            accountingDataAccess
            .GetLastPeriod()
            .Returns(GetResult <Period> .CreateSuccess(lastPeriod));

            var period = new PeriodDto(
                lastPeriod.End.AddDays(2),
                lastPeriod.End.AddDays(30));

            // Act.
            ActionResult result = await testObject.AddPeriod(period);

            // Assert.
            Assert.IsFalse(result.IsSuccess);
        }
Exemplo n.º 23
0
        private ServiceResult UpdatePeriod(PeriodDto periodDto, int periodId)
        {
            PeriodEntity periodEntity = Context.Periods
                                        .SingleOrDefault(d => d.Id == periodId);

            if (periodEntity == null)
            {
                return(new ServiceResult(Result.NotFound));
            }

            periodEntity.Number        = periodDto.Number;
            periodEntity.Cabinet       = periodDto.Cabinet;
            periodEntity.Subgroup      = periodDto.Subgroup;
            periodEntity.IsLecture     = periodDto.IsLecture;
            periodEntity.Option        = periodDto.Option;
            periodEntity.OptionDate    = periodDto.OptionDate;
            periodEntity.OptionCabinet = periodDto.OptionCabinet;
            periodEntity.IsApproved    = true;

            Context.SaveChanges();

            return(new ServiceResult(Result.OK, periodId));
        }
Exemplo n.º 24
0
        public ServiceResult AddOrUpdatePeriod(PeriodDto periodDto, int?periodId)
        {
            var errors = PeriodValidator.Validate(periodDto);

            if (errors.Any())
            {
                var result = new ServiceResult(Result.Error);
                result.Errors.AddRange(errors);
                return(result);
            }

            ServiceResult operationResult;

            if (periodId != null)
            {
                operationResult = UpdatePeriod(periodDto, periodId.Value);
            }
            else
            {
                operationResult = AddPeriod(periodDto);
            }

            if (operationResult.Result != Result.OK)
            {
                return(operationResult);
            }

            int subjectId = Context.SchoolDays
                            .Include(d => d.Subject)
                            .Where(d => d.Id == periodDto.SchoolDayId)
                            .Select(d => d.Subject.Id)
                            .Single();

            SchoolDayService.UpdateApprovedStatus(periodDto.SchoolDayId);

            return(new ServiceResult(Result.OK, subjectId));
        }
Exemplo n.º 25
0
        private async Task PopulatePeriodDates()
        {
            GetResult <IEnumerable <PeriodDto> > getPeriodsResult = await _accountingManager.GetAllPeriods();

            if (!getPeriodsResult.IsSuccess)
            {
                this.ShowErrorMessage("Failed to retrieve periods.", getPeriodsResult.FailureMessage);
                Close();
                return;
            }

            PeriodDto lastPeriod = getPeriodsResult.Result.LastOrDefault();

            DateTime?periodStart = lastPeriod?.End.AddDays(1);

            if (!periodStart.HasValue)
            {
                DateTime now = DateTime.Now;

                periodStart = new DateTime(
                    now.Year,
                    now.Month,
                    1);
            }

            DateTime?periodEnd = lastPeriod?.End.AddMonths(1);

            if (periodEnd.HasValue)
            {
                bool doesPreviousPeriodEndOnLastDayOfMonth =
                    lastPeriod.End.Day == DateTime.DaysInMonth(lastPeriod.End.Year, lastPeriod.End.Month);

                if (doesPreviousPeriodEndOnLastDayOfMonth)
                {
                    periodEnd = new DateTime(
                        periodEnd.Value.Year,
                        periodEnd.Value.Month,
                        DateTime.DaysInMonth(periodEnd.Value.Year, periodEnd.Value.Month));
                }
            }
            else
            {
                DateTime now = DateTime.Now;

                periodEnd = new DateTime(
                    now.Year,
                    now.Month,
                    DateTime.DaysInMonth(now.Year, now.Month));
            }

            _newPeriod = new PeriodDto(periodStart.Value, periodEnd.Value);

            _synchronizationContext.Post(
                p =>
            {
                var period = (PeriodDto)p;

                _startDateValueLabel.Text = $"{period.Start:yyyy-MM-dd}";
                _endDatePicker.Value      = period.End;
            },
                _newPeriod);
        }
Exemplo n.º 26
0
 public Task <PeriodVw> EditTaxRulePeriodAsync(Guid taxRulePeriodId, PeriodDto period)
 {
     return(Channel.EditTaxRulePeriodAsync(taxRulePeriodId, period));
 }
Exemplo n.º 27
0
 public Task <PeriodVw> AddTaxRulePeriodAsync(Guid taxRuleId, PeriodDto period)
 {
     return(Channel.AddTaxRulePeriodAsync(taxRuleId, period));
 }
Exemplo n.º 28
0
        private async Task GetData()
        {
            PeriodData = await PeriodService.Get(Id);

            StateHasChanged();
        }
Exemplo n.º 29
0
        private List <ResultDto> Calculate(TotalUnionDto totalUnionDto, PeriodDto periodDto, string periodNumber)
        {
            List <ResultDto> resulList = new List <ResultDto>();
            var dateTimeForPeriod      = GetDateTimeForPeiod(periodDto);
            int timeFault = 10;

            foreach (var element in totalUnionDto.MarketTypes)
            {
                var bitrexForDateTimeNow = _context.Bittrexes
                                           .Where(w => ((w.Created.Year == _dateTimeNow.Year &&
                                                         w.Created.Month == _dateTimeNow.Month &&
                                                         w.Created.Day == _dateTimeNow.Day &&
                                                         w.Created.Hour == _dateTimeNow.Hour &&
                                                         w.Created.Minute == _dateTimeNow.Minute &&
                                                         w.Created.Second >= _dateTimeNow.Second)
                                                        ||
                                                        (w.Created.Year == _dateTimeNow.Year &&
                                                         w.Created.Month == _dateTimeNow.Month &&
                                                         w.Created.Day == _dateTimeNow.Day &&
                                                         w.Created.Hour == _dateTimeNow.Hour &&
                                                         w.Created.Minute == _dateTimeNow.Minute &&
                                                         w.Created.Second >= _dateTimeNow.Second + timeFault))
                                                  &&
                                                  w.MarketName == element.MarketTypeTitle)
                                           .ToList()
                                           .FirstOrDefault();
                var bitrexForPeriod = _context.Bittrexes
                                      .Where(w => ((w.Created.Year == dateTimeForPeriod.Year &&
                                                    w.Created.Month == dateTimeForPeriod.Month &&
                                                    w.Created.Day == dateTimeForPeriod.Day &&
                                                    w.Created.Hour == dateTimeForPeriod.Hour &&
                                                    w.Created.Minute == dateTimeForPeriod.Minute &&
                                                    w.Created.Second >= dateTimeForPeriod.Second)
                                                   ||
                                                   (w.Created.Year == dateTimeForPeriod.Year &&
                                                    w.Created.Month == dateTimeForPeriod.Month &&
                                                    w.Created.Day == dateTimeForPeriod.Day &&
                                                    w.Created.Hour == dateTimeForPeriod.Hour &&
                                                    w.Created.Minute == dateTimeForPeriod.Minute &&
                                                    w.Created.Second <= dateTimeForPeriod.Second + timeFault))
                                             &&
                                             w.MarketName == element.MarketTypeTitle)
                                      .ToList()
                                      .FirstOrDefault();

                if (bitrexForDateTimeNow.Ask >= _totalUnionDto.Volume && bitrexForPeriod.Ask >= _totalUnionDto.Volume)
                {
                    var gradient = Convert.ToInt32((bitrexForDateTimeNow.Ask / bitrexForPeriod.Ask - 1) * 100);

                    _result = new ResultDto();

                    _result.MarketType    = element.MarketTypeTitle;
                    _result.CalculateDate = DateTime.Now;
                    _result.Gradient      = gradient;
                    _result.Period        = periodNumber;

                    resulList.Add(_result);
                }
            }

            return(resulList);
        }