/// <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; }
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); }
/// <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); }