예제 #1
0
        /// <summary>
        /// Возвращает товар из справочника. Если такого нет, то создает новую запись
        /// </summary>
        /// <param name="r"></param>
        /// <returns></returns>
        private Dme.Core.Partm GetPartm(Inbound.СтрТабл r)
        {
            Dme.Core.Partm p;
            int            partID = 0;
            string         id1    = r.Код;

            if (id1 == null || id1 == string.Empty)
            {
                var y = r.Характеристика.Where(x => x.Имя == "КодСантэнс").FirstOrDefault();
                if (y == null)
                {
                    throw new Exception("Поле \"Код\" должно быть заполнено");
                }
                else
                {
                    partID = Int32.Parse(y.Значение);
                }
            }
            if (partID > 0)
            {
                p = _Context.Partm.FirstOrDefault(i => i.PartID == partID);
                if (p == null)
                {
                    throw new Exception(String.Format("Поле \"КодСантэнс\" содержит недопустимое значение {0}", partID));
                }
            }
            else
            {
                p = _Context.Partm.FirstOrDefault(i => i.id1 == id1);
                if (p == null)
                {
                    p             = new Core.Partm();
                    p.PartID      = GetPartmNewID();
                    p.partdsc     = r.Название;
                    p.partdsc2    = r.Производитель;
                    p.id1         = id1;
                    p.tempcl      = r.ТемпРежим ?? "general";
                    p.glass       = r.Стекло ?? false;
                    p.specaccount = r.Пку ?? false;
                    p.hazcl       = r.КлассОпасн ?? "general";
                    p.minorder    = r.МинЗаказ ?? 1;
                    p.mulorder    = r.КратнЗаказ ?? 1;
                    _Context.Partm.Add(p);
                    _Context.SaveChanges();
                }
            }
            return(p);
        }
예제 #2
0
 /// <summary>
 /// Возвращает товар из справочника. Если такого нет, то создает новую запись
 /// </summary>
 /// <param name="r"></param>
 /// <returns></returns>
 private Dme.Core.Partm GetPartm(Inbound.СтрТабл r)
 {
     Dme.Core.Partm p;
     int partID = 0;
     string id1 = r.Код;
     if (id1 == null || id1 == string.Empty)
     {
         var y = r.Характеристика.Where(x => x.Имя == "КодСантэнс").FirstOrDefault();
         if (y == null)
             throw new Exception("Поле \"Код\" должно быть заполнено");
         else
             partID = Int32.Parse(y.Значение);
     }
     if (partID > 0)
     {
         p = _Context.Partm.FirstOrDefault(i => i.PartID == partID);
         if (p == null)
             throw new Exception(String.Format("Поле \"КодСантэнс\" содержит недопустимое значение {0}", partID));
     }
     else
     {
         p = _Context.Partm.FirstOrDefault(i => i.id1 == id1);
         if (p == null)
         {
             p = new Core.Partm();
             p.PartID = GetPartmNewID();
             p.partdsc = r.Название;
             p.partdsc2 = r.Производитель;
             p.id1 = id1;
             p.tempcl = r.ТемпРежим ?? "general";
             p.glass = r.Стекло ?? false;
             p.specaccount = r.Пку ?? false;
             p.hazcl = r.КлассОпасн ?? "general";
             p.minorder = r.МинЗаказ ?? 1;
             p.mulorder = r.КратнЗаказ ?? 1;
             _Context.Partm.Add(p);
             _Context.SaveChanges();
         }
     }
     return p;
 }