コード例 #1
0
        // добавление неисправности
        public async Task AppendMalfunction(MalfunctionViewData malfunctionViewData)
        {
            // поиск неисправности. если мы находим неисправность, то ругаемся что данная неисправность уже существует
            Malfunction malfunction =
                _context.Malfunctions.FirstOrDefault(m => String.Equals(m.Title, malfunctionViewData.Title, StringComparison.CurrentCultureIgnoreCase));

            if (malfunction != null)
            {
                throw new WebApiException("Данная неисправность уже существует. Добавить еще одну такую же невозможно");
            }

            // создаем неисправность
            malfunction = new Malfunction {
                TimeToFix = malfunctionViewData.TimeToFix, Title = malfunctionViewData.Title, Details = new List <Detail>()
            };

            // создание и добавление (в случае надобности) новой детали
            for (int i = 0; i < malfunctionViewData.Details.Count; i++)
            {
                // поиск детали по наименованию
                Detail detail = _context.Details.FirstOrDefault(d => d.Title == malfunctionViewData.Details[i].Title);
                // если мы не находим такую деталь, то мы добавляем ее
                if (detail == null)
                {
                    _context.Details.Add(malfunctionViewData.Details[i]);
                    await _context.SaveChangesAsync();
                }

                // после добавления детали при необходимости, добавляем деталь к неисправности
                malfunction.Details.Add(detail);
            }

            // добавляем неисправность
            _context.Malfunctions.Add(malfunction);
            await _context.SaveChangesAsync();
        }
コード例 #2
0
 public MalfunctionViewForm(MalfunctionViewData malfunction)
 {
     this.Id    = malfunction.Id;
     this.Title = malfunction.Title;
     this.Price = malfunction.Price;
 }