Ejemplo n.º 1
0
        public void SetPlannedMonth(ScheduleRecordModel scheduleRecordModel, string month)
        {
            if (scheduleRecordModel == null)
            {
                return;
            }
            MaintenanceRecord record = GetCurrentRecord(scheduleRecordModel);

            if (string.IsNullOrEmpty(month))
            {
                record.IsPlanned                          = false;
                record.ActualMaintenanceDate              = null;
                record.ActualMaintenanceType              = null;
                record.PlannedMaintenanceDate             = GetNewDate(record, null);
                scheduleRecordModel.IsPlanned             = false;
                scheduleRecordModel.PlannedMonth          = string.Empty;
                scheduleRecordModel.ActualMonth           = string.Empty;
                scheduleRecordModel.ActualMaintenanceType = null;
            }
            else
            {
                record.IsPlanned = true;
                scheduleRecordModel.IsPlanned    = true;
                scheduleRecordModel.PlannedMonth = month;
                record.PlannedMaintenanceDate    = GetNewDate(record, month);
            }
            dataBase.MaintenanceRecords.Update(record);
            dataBase.Save();
        }
Ejemplo n.º 2
0
        public void SetActualMonth(ScheduleRecordModel scheduleRecordModel, string month)
        {
            if (scheduleRecordModel == null || string.IsNullOrEmpty(month))
            {
                return;
            }
            MaintenanceRecord record = GetCurrentRecord(scheduleRecordModel);

            record.ActualMaintenanceDate = GetNewDate(record, month);
            dataBase.MaintenanceRecords.Update(record);
            dataBase.Save();
        }
Ejemplo n.º 3
0
        public void SetActualType(ScheduleRecordModel scheduleRecordModel, string type)
        {
            if (scheduleRecordModel == null || string.IsNullOrEmpty(type))
            {
                return;
            }
            MaintenanceRecord record          = GetCurrentRecord(scheduleRecordModel);
            MaintenanceType   maintenanceType = dataBase.MaintenanceTypes.GetAll().FirstOrDefault(x => x.Name == type);

            if (maintenanceType != null)
            {
                record.ActualMaintenanceType = maintenanceType;
                dataBase.MaintenanceRecords.Update(record);
                dataBase.Save();
            }
        }
Ejemplo n.º 4
0
        private static IModel CreateFakeSchedule()
        {
            ScheduleTableModel schedule = new ScheduleTableModel();

            schedule.Records = new List <ScheduleDayModel>();
            for (int i = 0; i < 6; i++)
            {
                ScheduleDayModel day = new ScheduleDayModel();
                day.DayOfWeek = ((ScheduleDayOfWeek)i);
                day.Records   = new List <ScheduleRecordModel>();

                ScheduleRecordModel scheduleRecord = new ScheduleRecordModel();
                scheduleRecord.GroupName   = "17ВП1";
                scheduleRecord.SubjectName = "Программирование";
                scheduleRecord.Time        = DateTime.ParseExact("08:00", "HH:mm", null);
                scheduleRecord.Location    = "7б кабинет 201";

                day.Records.Add(scheduleRecord);

                schedule.Records.Add(day);
            }

            return(schedule);
        }
Ejemplo n.º 5
0
        private async void AddScheduleRecordModelAsync(MaintainedEquipment maintainedEquipment, int year, IServiceUnitOfWork serviceUnitOfWork)
        {
            await Task.Run(() =>
            {
                ScheduleRecordModel scheduleRecord = new ScheduleRecordModel();
                scheduleRecord.MaintenanceTypes    = new List <string>();
                if (maintainedEquipment is Substation)
                {
                    Substation substation = dataBase.Substations
                                            .ReadAsync(maintainedEquipment.MaintainedEquipmentId).Result;

                    scheduleRecord.Substation = substation.Name;
                    scheduleRecord.Attachment = s_allAttachments;
                    scheduleRecord.Name       = s_allEquipments;
                    scheduleRecord.MaintenanceTypes.Add("осмотр");
                }
                else if (maintainedEquipment is AdditionalWork)
                {
                    AdditionalWork work = dataBase.AdditionalWorks
                                          .ReadAsync(maintainedEquipment.MaintainedEquipmentId).Result;

                    scheduleRecord.Substation             = work.Substation.Name;
                    scheduleRecord.Attachment             = null;
                    scheduleRecord.Name                   = work.Name;
                    scheduleRecord.MaintenanceTypes       = GetMaintenanceTypes(work, serviceUnitOfWork);
                    scheduleRecord.Team                   = work.Substation.Team.Name;
                    scheduleRecord.ManagementOrganization = "ОДС";
                }
                else if (maintainedEquipment is AdditionalDevice)
                {
                    AdditionalDevice additionalDevice = dataBase.AdditionalDevices
                                                        .ReadAsync(maintainedEquipment.MaintainedEquipmentId).Result;

                    scheduleRecord.Substation             = additionalDevice.Attachment.Substation.Name;
                    scheduleRecord.Attachment             = additionalDevice.Attachment.Name;
                    scheduleRecord.Name                   = additionalDevice.Name;
                    scheduleRecord.MaintenanceTypes       = GetMaintenanceTypes(additionalDevice, serviceUnitOfWork);
                    scheduleRecord.Team                   = additionalDevice.Attachment.Substation.Team.Name;
                    scheduleRecord.ManagementOrganization = additionalDevice.Attachment.ManagementOrganization.Name;
                }
                else if (maintainedEquipment is RelayDevice)
                {
                    RelayDevice relayDevice = dataBase.RelayDevices
                                              .ReadAsync(maintainedEquipment.MaintainedEquipmentId).Result;

                    scheduleRecord.Substation             = relayDevice.Attachment.Substation.Name;
                    scheduleRecord.Attachment             = relayDevice.Attachment.Name;
                    scheduleRecord.Name                   = relayDevice.Name;
                    scheduleRecord.MaintenanceTypes       = GetMaintenanceTypes(relayDevice, serviceUnitOfWork);
                    scheduleRecord.ElementBase            = relayDevice.ElementBase.Name;
                    scheduleRecord.Team                   = relayDevice.Attachment.Substation.Team.Name;
                    scheduleRecord.ManagementOrganization = relayDevice.Attachment.ManagementOrganization.Name;
                }
                MaintenanceRecord lastMaintenanceRecord = maintainedEquipment.MaintenanceRecords
                                                          .LastOrDefault(x => x.ActualMaintenanceDate != null && x.ActualMaintenanceDate.Value.Year != year);

                if (lastMaintenanceRecord != null)
                {
                    scheduleRecord.LastMaintenanceDate = lastMaintenanceRecord.PlannedMaintenanceDate;
                    scheduleRecord.LastMaintenanceType = lastMaintenanceRecord.PlannedMaintenanceType;
                }

                MaintenanceRecord plannedMaitenanceRecored = maintainedEquipment.MaintenanceRecords
                                                             .LastOrDefault(x => x.PlannedMaintenanceDate.Year == year);

                scheduleRecord.PlannedMaintenanceDate = plannedMaitenanceRecored.PlannedMaintenanceDate;
                scheduleRecord.PlannedMaintenanceType = plannedMaitenanceRecored.PlannedMaintenanceType;
                if (plannedMaitenanceRecored.IsPlanned == true)
                {
                    scheduleRecord.PlannedMonth = DateTimeFormatInfo.CurrentInfo.GetMonthName(plannedMaitenanceRecored.PlannedMaintenanceDate.Month);
                    scheduleRecord.PlannedDay   = plannedMaitenanceRecored.PlannedMaintenanceDate.Day;
                }

                scheduleRecord.ActualMaintenanceDate = plannedMaitenanceRecored.ActualMaintenanceDate;
                scheduleRecord.ActualMaintenanceType = plannedMaitenanceRecored.ActualMaintenanceType;
                if (plannedMaitenanceRecored.ActualMaintenanceDate != null && plannedMaitenanceRecored.IsPlanned == true)
                {
                    scheduleRecord.ActualMonth = DateTimeFormatInfo.CurrentInfo.GetMonthName(plannedMaitenanceRecored.ActualMaintenanceDate.Value.Month);
                    scheduleRecord.ActualDay   = plannedMaitenanceRecored.ActualMaintenanceDate.Value.Day;
                }

                scheduleRecord.MaintainedEquipmentId = plannedMaitenanceRecored.MaintainedEquipmentId;
                scheduleRecord.MaintenanceRecordId   = plannedMaitenanceRecored.MaintenanceRecordId;

                scheduleRecord.IsPlanned = plannedMaitenanceRecored.IsPlanned;

                lock (lockObject)
                {
                    m_scheduleRecordModel.Add(scheduleRecord);
                }

                m_semaphore.Release();
            });
        }
Ejemplo n.º 6
0
        private MaintenanceRecord GetCurrentRecord(ScheduleRecordModel scheduleRecordModel)
        {
            MaintainedEquipment equipment = dataBase.MaintainedEquipments.Read(scheduleRecordModel.MaintainedEquipmentId);

            return(equipment.MaintenanceRecords.Find(x => x.MaintenanceRecordId == scheduleRecordModel.MaintenanceRecordId));
        }
Ejemplo n.º 7
0
        private void AddScheduleRecordModel(MaintainedEquipment maintainedEquipment, int year)
        {
            ScheduleRecordModel scheduleRecord = new ScheduleRecordModel();

            if (maintainedEquipment is Substation)
            {
                Substation substation = dataBase.Substations.Read(maintainedEquipment.MaintainedEquipmentId);
                scheduleRecord.Substation             = substation.Name;
                scheduleRecord.Attachment             = s_allAttachments;
                scheduleRecord.Name                   = s_allEquipments;
                scheduleRecord.Team                   = substation.Team.Name;
                scheduleRecord.ManagementOrganization = "ОДС";
                Substation s = new Substation();
            }
            else if (maintainedEquipment is AdditionalWork)
            {
                AdditionalWork work = dataBase.AdditionalWorks.Read(maintainedEquipment.MaintainedEquipmentId);
                scheduleRecord.Substation             = work.Substation.Name;
                scheduleRecord.Attachment             = string.Empty;
                scheduleRecord.Name                   = work.Name;
                scheduleRecord.Team                   = work.Substation.Team.Name;
                scheduleRecord.ManagementOrganization = "ОДС";
            }
            else if (maintainedEquipment is AdditionalDevice)
            {
                AdditionalDevice additionalDevice = dataBase.AdditionalDevices.Read(maintainedEquipment.MaintainedEquipmentId);;
                scheduleRecord.Substation             = additionalDevice.Attachment.Substation.Name;
                scheduleRecord.Attachment             = additionalDevice.Attachment.Name;
                scheduleRecord.Name                   = additionalDevice.Name;
                scheduleRecord.Team                   = additionalDevice.Attachment.Substation.Team.Name;
                scheduleRecord.ManagementOrganization = additionalDevice.Attachment.ManagementOrganization.Name;
            }
            else if (maintainedEquipment is RelayDevice)
            {
                RelayDevice relayDevice = dataBase.RelayDevices.Read(maintainedEquipment.MaintainedEquipmentId);

                scheduleRecord.Substation             = relayDevice.Attachment.Substation.Name;
                scheduleRecord.Attachment             = relayDevice.Attachment.Name;
                scheduleRecord.Name                   = relayDevice.Name;
                scheduleRecord.ElementBase            = relayDevice.ElementBase.Name;
                scheduleRecord.Team                   = relayDevice.Attachment.Substation.Team.Name;
                scheduleRecord.ManagementOrganization = relayDevice.Attachment.ManagementOrganization.Name;
            }
            MaintenanceRecord lastMaintenanceRecord = maintainedEquipment.MaintenanceRecords
                                                      .LastOrDefault(x => x.ActualMaintenanceDate != null);

            scheduleRecord.LastMaintenanceDate = lastMaintenanceRecord.PlannedMaintenanceDate;
            scheduleRecord.LastMaintenanceType = lastMaintenanceRecord.PlannedMaintenanceType;

            MaintenanceRecord plannedMaitenanceRecored = maintainedEquipment.MaintenanceRecords
                                                         .LastOrDefault(x => x.PlannedMaintenanceDate.Year == year);

            scheduleRecord.PlannedMaintenanceDate = plannedMaitenanceRecored.PlannedMaintenanceDate;
            scheduleRecord.PlannedMaintenanceType = plannedMaitenanceRecored.PlannedMaintenanceType;

            scheduleRecord.ActualMaintenanceDate = plannedMaitenanceRecored.ActualMaintenanceDate;
            scheduleRecord.ActualMaintenanceType = plannedMaitenanceRecored.ActualMaintenanceType;

            scheduleRecord.IsPlanned = plannedMaitenanceRecored.IsPlanned;

            m_scheduleRecordModel.Add(scheduleRecord);
        }
Ejemplo n.º 8
0
        private async void AddScheduleRecordModelForSubstationAsync(MaintainedEquipment maintainedEquipment, int year, IServiceUnitOfWork serviceUnitOfWork)
        {
            await Task.Run(() =>
            {
                if (maintainedEquipment is Substation)
                {
                    ScheduleRecordModel scheduleRecord = new ScheduleRecordModel();
                    scheduleRecord.MaintenanceTypes    = new List <string>();

                    Substation substation = dataBase.Substations
                                            .ReadAsync(maintainedEquipment.MaintainedEquipmentId).Result;

                    scheduleRecord.Substation = substation.Name;
                    scheduleRecord.Attachment = s_allAttachments;
                    scheduleRecord.Name       = s_allEquipments;
                    scheduleRecord.MaintenanceTypes.Add("осмотр");
                    scheduleRecord.Team = substation.Team.Name;
                    scheduleRecord.ManagementOrganization = "ОДС";

                    List <MaintenanceRecord> previousYearRecords = maintainedEquipment.MaintenanceRecords.Where(x => x.PlannedMaintenanceDate.Year == year - 1).ToList();

                    List <MaintenanceRecord> records = maintainedEquipment.MaintenanceRecords.Where(x => x.PlannedMaintenanceDate.Year == year).ToList();

                    for (int i = 0; i < records.Count; i++)
                    {
                        MaintenanceRecord lastMaintenanceRecord = new MaintenanceRecord();
                        if (previousYearRecords.Count == 0)
                        {
                            scheduleRecord.LastMaintenanceDate = null;
                            scheduleRecord.LastMaintenanceType = null;
                        }
                        else
                        {
                            scheduleRecord.LastMaintenanceDate = previousYearRecords[i].ActualMaintenanceDate;
                            scheduleRecord.LastMaintenanceType = previousYearRecords[i].ActualMaintenanceType;
                        }

                        scheduleRecord.PlannedMaintenanceDate = records[i].PlannedMaintenanceDate;
                        scheduleRecord.PlannedMaintenanceType = records[i].PlannedMaintenanceType;
                        if (records[i].IsPlanned == true)
                        {
                            scheduleRecord.PlannedMonth = DateTimeFormatInfo.CurrentInfo.GetMonthName(records[i].PlannedMaintenanceDate.Month);
                            scheduleRecord.PlannedDay   = records[i].PlannedMaintenanceDate.Day;
                        }

                        scheduleRecord.ActualMaintenanceDate = records[i].ActualMaintenanceDate;
                        scheduleRecord.ActualMaintenanceType = records[i].ActualMaintenanceType;
                        if (records[i].ActualMaintenanceDate.HasValue && records[i].IsPlanned == true)
                        {
                            scheduleRecord.ActualMonth = DateTimeFormatInfo.CurrentInfo.GetMonthName(records[i].ActualMaintenanceDate.Value.Month);
                            if (records[i].ActualMaintenanceDate.Value.Day != 1)
                            {
                                scheduleRecord.ActualDay = records[i].ActualMaintenanceDate.Value.Day;
                            }
                        }

                        scheduleRecord.MaintainedEquipmentId = records[i].MaintainedEquipmentId;
                        scheduleRecord.MaintenanceRecordId   = records[i].MaintenanceRecordId;

                        scheduleRecord.IsPlanned = records[i].IsPlanned;

                        lock (lockObject)
                        {
                            m_scheduleRecordModel.Add(scheduleRecord);
                        }
                    }

                    m_semaphore.Release();
                }
            });
        }