private void AuthorPublNext_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrWhiteSpace(authorName.Text))
            {
                MessageBox.Show("Необходимо ввести ФИО Автора");
                authorName.Focus();
                return;
            }

            if (string.IsNullOrWhiteSpace(JobAddress.Text))
            {
                MessageBox.Show("Необходимо ввести место работы");
                JobAddress.Focus();
                return;
            }

            if (string.IsNullOrWhiteSpace(AuthEmail.Text))
            {
                MessageBox.Show("Необходимо ввести электронную почту");
                AuthEmail.Focus();
                return;
            }
            _author = new Authors(authorName.Text, JobAddress.Text, AuthEmail.Text);
            Pages.NewPublAboutPubl.NewAuthorAdded(_author);

            NavigationService.Navigate(Pages.NewPublAboutPublisher);
        }
Пример #2
0
        private Dictionary <Guid, string> GetJobAddressListForParentTask(
            string jobId, IEnumerable <JobAddress> addressList, IEnumerable <Guid> groupedHousingDepartmentIds, List <Job> childJobList)
        {
            var result = new Dictionary <Guid, string>();

            foreach (var id in groupedHousingDepartmentIds)
            {
                JobAddress addressModel = addressList.FirstOrDefault(x => x.HousingDepartmentId == id);
                if (addressModel != null && IsAnyChildJobsVisible(jobId, id, childJobList))
                {
                    result.Add(id, addressModel.Address);
                }
            }

            return(result);
        }
Пример #3
0
        private ICancelingReasonDataModel GetCancelingReasonDataModel(IDayAssign dayAssign, IEnumerable <IJobStatusLogModel> jobStatusLogs, IEnumerable <IJob> jobs,
                                                                      Dictionary <Guid, string> creatorNames, IEnumerable <IHousingDepartmentModel> housingDepartments)
        {
            List <IJobStatusLogModel> jobStatusLogList = jobStatusLogs.Where(x => x.DayAssignId == dayAssign.Id).ToList();

            IJobStatusLogModel unassignedLog = jobStatusLogList
                                               .OrderByDescending(log => log.Date)
                                               .FirstOrDefault(x => x.StatusId == JobStatus.Rejected);

            if (unassignedLog == null)
            {
                return(null);
            }

            IJob job = jobs.First(x => x.Id == dayAssign.JobId);
            IHousingDepartmentModel housingDepartment = housingDepartments.First(x => x.Id == dayAssign.DepartmentId);

            decimal    totalTimeSpent         = (decimal)jobStatusLogList.SelectMany(x => x.TimeLogList).Sum(y => y.SpentTime.TotalHours);
            Guid       managementDepartmentId = managementDepartmentService.GetParentManagementId(dayAssign.DepartmentId);
            JobAddress addressModel           = job.AddressList.FirstOrDefault(x => x.HousingDepartmentId == dayAssign.DepartmentId);

            return(new CancelingReasonDataModel
            {
                HousingDepartmentId = dayAssign.DepartmentId,
                DayAssignId = dayAssign.Id,
                ReasonId = unassignedLog.CancelingId ?? Guid.Empty,
                ManagementDepartmentId = managementDepartmentId,
                RejectionDate = unassignedLog.Date.ToString(Constants.DateTime.CsvDateFormat),
                Reason = unassignedLog.CancelingReason,
                SpentTime = totalTimeSpent,
                JobId = job.Id,
                Title = job.Title,
                HousingDepartmentName = housingDepartment.DisplayName,
                Address = addressModel?.Address,
                CreatorName = creatorNames[job.CreatorId],
                TenantType = dayAssign.TenantType.HasValue ? dayAssign.TenantType.Value.GetTenantTypeTaskLabel(translationService) : string.Empty,
                StatusName = dayAssign.StatusId.GetStatusLabel(translationService)
            });
        }
Пример #4
0
        public void ChangeAddress(Guid housingDepartmentId, string address)
        {
            var addressItem = AddressList.FirstOrDefault(x => x.HousingDepartmentId == housingDepartmentId);

            if (addressItem == null)
            {
                addressItem = new JobAddress
                {
                    HousingDepartmentId = housingDepartmentId,
                    Address             = address
                };

                AddressList.Add(addressItem);
            }
            else
            {
                addressItem.Address = address;
            }

            RaiseEvent(new JobAddressChanged {
                AddressList = AddressList
            });
        }