public OrderIm SetOrderIm(OrderIm orderIm, bool isActual, DbTransaction dbTran)
        {
            var lastEditDate = orderIm.BeginDate;

            SetOrderIm(
                dbTran: dbTran,
                orderId: orderIm.OrderId,
                orderImTypeId: orderIm.OrderImTypeId,
                maketStatusId: orderIm.MaketStatusId,
                maketCategoryId: orderIm.MaketCategoryId,
                replaceStatusId: orderIm.ImReplaceStatusId,
                brief: orderIm.Brief,
                needVisa: orderIm.NeedVisa,
                needVerify: orderIm.NeedVerify,
                designerId: orderIm.DesignerId,
                comments: orderIm.Comments,
                maxClosingDate: orderIm.MaxClosingDate,
                isViewed: orderIm.IsViewed,
                isActual: isActual,
                lastEditDate: ref lastEditDate,
                editUserId: _editUserId);

            orderIm.BeginDate = lastEditDate;

            return(orderIm);
        }
 public bool NeedDeleteOrderIm(OrderIm orderIm)
 {
     return(!_context.PositionIms
            .Any(
                pi =>
                pi.OrderId == orderIm.OrderId &&
                pi.PositionImType.OrderImTypeId == orderIm.OrderImTypeId));
 }
 public void ProcessOrderImStatus(OrderIm orderIm)
 {
     if (orderIm.OrderImTypeId == 1)
     {
         // Для строк меняем статус ИМ-а на "Готов"
         orderIm.MaketStatusId = 4;
     }
     else
     {
         // Для всех остальных (модули и пр.) меняем статус ИМ-а заказа на "Вёрстка"
         orderIm.MaketStatusId = 3;
     }
 }
        public OrderIm Create(int orderId, int orderImTypeId)
        {
            var orderIm = new OrderIm
            {
                OrderId           = orderId,
                OrderImTypeId     = orderImTypeId,
                MaketStatusId     = 1, // 1 - Черновик, 3 - Вёрстка
                MaketCategoryId   = 2,
                ImReplaceStatusId = 0,
                Brief             = string.Empty,
                NeedVisa          = false,
                NeedVerify        = false,
                DesignerId        = null,
                Comments          = null,
                MaxClosingDate    = null,
                IsViewed          = false,
                BeginDate         = DateTime.Now
            };

            return(orderIm);
        }
 public void DeleteOrderIm(OrderIm orderIm, DbTransaction dbTran)
 {
     _repository.SetOrderIm(orderIm, isActual: false, dbTran);
     _context.Entry(orderIm).Reload();
 }
        public OrderIm UpdateOrderIm(OrderIm orderIm, DbTransaction dbTran)
        {
            orderIm = _repository.SetOrderIm(orderIm, isActual: true, dbTran);

            return(orderIm);
        }