示例#1
0
        /// <summary>
        /// Добавить наработку
        /// </summary>
        /// <param name="start">Дата с</param>
        /// <param name="end">Дата по</param>
        /// <param name="usage">Наработка</param>
        public void AddUsage(DateTime start, DateTime end, int usage)
        {
            //todo вводимая наработка должная быть в пределах одного периода( потому что отчётный период ил период планирования 1 мес. (уточнить!))
            //todo проверить не вводилась ли наработка за этот период ранее

            //Добавить запись в журнал наработки
            var newUsage = new UsageActual
            {
                Object     = this,
                StartUsage = start,
                EndUsage   = end,
                Usage      = usage
            };

            this.usage.Add(newUsage);

            //Добавить наработку в последние ремонты
            lastMaintenance.ToList().ForEach(last =>
            {
                last.AddUsage(usage);
            });

            //Добавить наработку с начала эксплуатации
            UsageFromStartup = (UsageFromStartup ?? 0) + usage;
        }
示例#2
0
        public void AddUsage(RepairObject repairObject, DateTime start, DateTime end, int usage)
        {
            //todo проверить не вводилась ли наработка за этот период ранее

            //Добавить запись в журнал наработки
            var newUsage = new UsageActual()
            {
                Object = repairObject,
                Start  = start,
                End    = end,
                Usage  = usage
            };

            repository.Save(newUsage);

            //Добавить наработку в последние ремонты
            var lastMaintenance = query.FindLastMaintenanceByObjectId(repairObject.Id);

            lastMaintenance.ToList().ForEach(last =>
            {
                last.AddUsage(usage);
                repository.Save(last);
            });

            //Добавить наработку с начала эксплуатации
            repairObject.UsageFromStartup += usage;
            repository.Save(repairObject);
        }
示例#3
0
        /// <summary>
        /// Удалить наработку
        /// </summary>
        /// <param name="entity"></param>
        public void RemoveUsage(UsageActual entity)
        {
            //Убрать наработку с начала эксплуатации
            UsageFromStartup = UsageFromStartup.Value - entity.Usage;

            //Убрать наработку из последних ремонтов
            lastMaintenance.ToList().ForEach(last =>
            {
                last.RemoveUsage(entity.Usage);
            });

            usage.Remove(entity);
        }