Beispiel #1
0
    public void Can_jsv_serialize_DateOnly_UnixTime()
    {
        using (JsConfig.With(new Config {
            DateHandler = DateHandler.UnixTime
        }))
        {
            var date = new DateOnly(2001, 1, 13);
            var json = date.ToJsv();
            Assert.That(json, Is.EqualTo("979344000"));

            var fromJson = json.FromJsv <DateOnly>();
            Assert.That(fromJson, Is.EqualTo(date));

            var dto = new DateOnlyDto {
                Date = date
            };
            json = dto.ToJsv();
            Assert.That(json, Is.EqualTo("{Date:979344000}"));

            var nullableDto = new NullableDateOnlyDto {
                Date = date
            };
            json = nullableDto.ToJsv();
            Assert.That(json, Is.EqualTo("{Date:979344000}"));
        }
    }
        public IList<AgentDay> Load()
        {
            IList<AgentDay> ret = new List<AgentDay>();
            DateOnlyDto dateOnly = new DateOnlyDto();
            dateOnly.DateTime = _dateFrom;
            dateOnly.DateTimeSpecified = true;

            foreach (var agent in _agentsToLoad)
            {
                SchedulePartDto schedulePartDto = _service.SchedulingService.GetSchedulePart(agent.Dto, dateOnly,
                                                                                 _timeZoneInfo.StandardName);
                AgentDay agentDay = new AgentDay(agent,schedulePartDto);
                IList<PersonAssignmentDto> personAssignmentDtos = new List<PersonAssignmentDto>(schedulePartDto.PersonAssignmentCollection);

                foreach (var personAssignmentDto in personAssignmentDtos)
                {
                    if (personAssignmentDto.MainShift != null)
                    {
                        MainShift mainShift = new MainShift(personAssignmentDto.MainShift,personAssignmentDto);
                        agentDay.MainShift = mainShift;
                    }

                    if (personAssignmentDto.OvertimeShiftCollection.Length>0)
                    {
                        OvertimeShift overtimeShift = new OvertimeShift(personAssignmentDto.OvertimeShiftCollection[0]);
                        agentDay.OvertimeShift = overtimeShift;
                    }
                }
                ret.Add(agentDay);
            }
            return ret;
        }
Beispiel #3
0
    public void Can_jsv_serialize_DateOnly()
    {
        var date = new DateOnly(2001, 1, 13);
        var json = date.ToJsv();

        Assert.That(json, Is.EqualTo("2001-01-13"));

        var fromJson = json.FromJsv <DateOnly>();

        Assert.That(fromJson, Is.EqualTo(date));

        var dto = new DateOnlyDto {
            Date = date
        };

        json = dto.ToJsv();
        Assert.That(json, Is.EqualTo("{Date:2001-01-13}"));
        var fromJsonDto = json.FromJsv <DateOnlyDto>();

        Assert.That(fromJsonDto, Is.EqualTo(dto));

        var nullableDto = new NullableDateOnlyDto {
            Date = date
        };

        json = nullableDto.ToJsv();
        Assert.That(json, Is.EqualTo("{Date:2001-01-13}"));
        var fromJsonNullableDto = json.FromJsv <NullableDateOnlyDto>();

        Assert.That(fromJsonNullableDto, Is.EqualTo(nullableDto));
    }
        public IList<SkillDay> Load()
        {
            IList<SkillDay> retList = new List<SkillDay>();
            DateOnlyDto dateOnlyDto = new DateOnlyDto();
            dateOnlyDto.DateTime = _dateOnly.Date;
            dateOnlyDto.DateTimeSpecified = true;
            IList<SkillDayDto> temp = new List<SkillDayDto>(_service.ForecastingService.GetSkillData(dateOnlyDto, _timeZoneInfo.Id));
            foreach (SkillDayDto dto in temp)
            {
                retList.Add(new SkillDay(dto));
            }

            return retList;
        }
Beispiel #5
0
 protected bool Equals(DateOnlyDto other) => Date.Equals(other.Date);
        private PersonRequest TerminatePersonById(PersonRequest personRequest)
        {
            var myQueryDto = new GetPersonByIdQueryDto { PersonId = personRequest.PersonID };
            try
            {
                var personToTerminate = wfmServiceApplication.OrganizationService.GetPersonsByQuery(myQueryDto).FirstOrDefault();
                var terminationDate = personRequest.TerminationDate;
                personRequest = personRequest.Clone(personToTerminate);
                personRequest.TerminationDate = terminationDate;
                if (personToTerminate != null)
                {
                    DateOnlyDto dateOnly = new DateOnlyDto();
                    dateOnly.DateTime = personRequest.TerminationDate;
                    dateOnly.DateTimeSpecified = true;
                    personToTerminate.TerminationDate = dateOnly;

                    personToTerminate.ApplicationLogOnName = personToTerminate.Id;
                    personToTerminate.WindowsDomain = @"-";
                    personToTerminate.WindowsLogOnName = @"-";
                    personToTerminate.EmploymentNumber = personToTerminate.Id;
                    personToTerminate.Identity = personToTerminate.Id;

                    wfmServiceApplication.OrganizationService.UpdatePerson(personToTerminate);
                    personRequest.WFMReturnCode = 0;
                    personRequest.WFMReturnMessage += String.Format(@"Сотрудник с ID [{0}] уволен: OK; ", personRequest.PersonID);
                    personRequest.ReturnType = ReturnTypes.ReturnTypeEnum.NoError;
                }
                else
                {
                    personRequest.ReturnType = ReturnTypes.ReturnTypeEnum.DataError;
                    personRequest.WFMReturnCode = -2;
                    personRequest.WFMReturnMessage += String.Format(@"Сотрудник с ID [{0}] НЕ найден! ", myQueryDto.PersonId);
                }
            }
            catch (Exception ex)
            {
                personRequest.ReturnType = ReturnTypes.ReturnTypeEnum.UnknownError;
                personRequest.WFMReturnCode = -1;
                personRequest.WFMReturnMessage += ex.Message;
            }
            return personRequest;
        }
        private PersonRequest AssignPerson(PersonRequest personRequest)
        {
            PersonPeriodLoadOptionDto loadOptionDto = new PersonPeriodLoadOptionDto();

            DateOnlyDto dateOnlyDto1 = new DateOnlyDto();
            dateOnlyDto1.DateTime = DateTime.Parse("1900.01.01");
            dateOnlyDto1.DateTimeSpecified = true;

            DateOnlyDto dateOnlyDto2 = new DateOnlyDto();
            dateOnlyDto2.DateTime = DateTime.Now;
            dateOnlyDto2.DateTimeSpecified = true;

            loadOptionDto.LoadAll = true;
            loadOptionDto.LoadAllSpecified = true;

            var myQueryDto = new GetPersonByIdQueryDto { PersonId = personRequest.PersonID };
            try
            {
                var result = wfmServiceApplication.OrganizationService.GetPersonsByQuery(myQueryDto).FirstOrDefault();
                if (result != null)
                {

                    PersonPeriodDto personPeriod = new PersonPeriodDto();
                    personPeriod.Period = new DateOnlyPeriodDto();
                    personPeriod.Period.StartDate = new DateOnlyDto();
                    personPeriod.Period.StartDate.DateTime = personRequest.StartDate;
                    personPeriod.Period.StartDate.DateTimeSpecified = true;

                    var teamRequest = CheckSiteTeam(personRequest);
                    if (teamRequest.ReturnCode != 0)
                    {
                        return teamRequest;
                    }

                    var myTeam = GetTeamById(personRequest.TeamID);
                    personPeriod.Team = myTeam;

                    personPeriod.PersonContract = new PersonContractDto();

                    LoadOptionDto contractDto = new LoadOptionDto();
                    contractDto.LoadDeleted = false;
                    contractDto.LoadDeletedSpecified = true;
                    var contract = wfmServiceApplication.OrganizationService.GetContracts(contractDto).FirstOrDefault();
                    if (contract != null)
                    {
                        personPeriod.PersonContract.ContractId = contract.Id;
                    }

                    LoadOptionDto partTimeDto = new LoadOptionDto();
                    partTimeDto.LoadDeleted = false;
                    partTimeDto.LoadDeletedSpecified = true;
                    var partTimesPercentage = wfmServiceApplication.OrganizationService.GetPartTimePercentages(contractDto).FirstOrDefault();
                    if (contract != null)
                    {
                        personPeriod.PersonContract.PartTimePercentageId = partTimesPercentage.Id;
                    }

                    LoadOptionDto contractScheduleDto = new LoadOptionDto();
                    contractScheduleDto.LoadDeleted = false;
                    contractScheduleDto.LoadDeletedSpecified = true;
                    var contractSchedule = wfmServiceApplication.OrganizationService.GetContractSchedules(contractScheduleDto).FirstOrDefault();
                    if (contractSchedule != null)
                    {
                        personPeriod.PersonContract.ContractScheduleId = contractSchedule.Id;
                    }

                    personPeriod.SchedulePreferenceDate = personRequest.StartDate;
                    personPeriod.SchedulePublishedToDate = personRequest.StartDate;
                    wfmServiceApplication.OrganizationService.AddPersonPeriod(result, personPeriod);
                    personRequest.WFMReturnCode = 0;
                    personRequest.ReturnType = ReturnTypes.ReturnTypeEnum.NoError;
                    personRequest.WFMReturnMessage += String.Format(@"Сотрудник ID [{0}] назначен в Бизнес-Юнит [{1}] в [{2}]; ",
                        myQueryDto.PersonId,
                        BusinessUnit,
                        myTeam.SiteAndTeam);
                }
                else
                {
                    personRequest.ReturnType = ReturnTypes.ReturnTypeEnum.DataError;
                    personRequest.WFMReturnCode = -2;
                    personRequest.WFMReturnMessage += String.Format(@"Сотрудник Id [{0}] НЕ найден! ", myQueryDto.PersonId);
                }
            }
            catch (Exception ex)
            {
                personRequest.ReturnType = ReturnTypes.ReturnTypeEnum.UnknownError;
                personRequest.WFMReturnCode = -1;
                personRequest.WFMReturnMessage += ex.Message;
                personRequest.ReturnCode = -1;
                personRequest.ReturnMessage = personRequest.WFMReturnMessage;
            }
            return personRequest;
        }