Ejemplo n.º 1
0
        public Dictionary <int, decimal> OrderNomenclaturesUnloaded(IUnitOfWork uow, Order order, SelfDeliveryDocument notSavedDoc = null)
        {
            SelfDeliveryDocumentItem docItemsAlias = null;
            ItemInStock inUnload = null;

            var unloadedQuery = uow.Session.QueryOver <SelfDeliveryDocument>()
                                .JoinAlias(d => d.Items, () => docItemsAlias)
                                .Where(d => d.Order.Id == order.Id);

            var unloadedDict = unloadedQuery.SelectList(list => list
                                                        .SelectGroup(() => docItemsAlias.Nomenclature.Id).WithAlias(() => inUnload.Id)
                                                        .SelectSum(() => docItemsAlias.Amount).WithAlias(() => inUnload.Added)
                                                        )
                               .TransformUsing(Transformers.PassThrough)
                               .List <object[]>()
                               .GroupBy(o => (int)o[0], o => (decimal)o[1])
                               .ToDictionary(g => g.Key, g => g.Sum());

            if (notSavedDoc != null && notSavedDoc.Id <= 0)
            {
                foreach (var i in notSavedDoc.Items)
                {
                    if (unloadedDict.ContainsKey(i.Nomenclature.Id))
                    {
                        unloadedDict[i.Nomenclature.Id] += i.Amount;
                    }
                    else
                    {
                        unloadedDict.Add(i.Nomenclature.Id, i.Amount);
                    }
                }
            }

            return(unloadedDict);
        }
Ejemplo n.º 2
0
        public Dictionary <int, decimal> OrderNomenclaturesLoaded(IUnitOfWork uow, Order order)
        {
            SelfDeliveryDocument     docAlias      = null;
            SelfDeliveryDocumentItem docItemsAlias = null;

            ItemInStock inLoaded   = null;
            var         loadedlist = uow.Session.QueryOver <SelfDeliveryDocument>(() => docAlias)
                                     .Where(d => d.Order.Id == order.Id)
                                     .JoinAlias(d => d.Items, () => docItemsAlias)
                                     .SelectList(list => list
                                                 .SelectGroup(() => docItemsAlias.Nomenclature.Id).WithAlias(() => inLoaded.Id)
                                                 .SelectSum(() => docItemsAlias.Amount).WithAlias(() => inLoaded.Added)
                                                 ).TransformUsing(Transformers.PassThrough).List <object[]>();
            var result = new Dictionary <int, decimal>();

            foreach (var loadedItem in loadedlist)
            {
                result.Add((int)loadedItem[0], (decimal)loadedItem[1]);
            }
            return(result);
        }
Ejemplo n.º 3
0
 string CalculateAmountColor(SelfDeliveryDocumentItem item)
 {
     if (item.Amount > item.AmountInStock)
     {
         return("red");
     }
     if (item.OrderItem != null)
     {
         if (item.OrderItem.Count < item.AmountUnloaded + item.Amount)
         {
             return("orange");
         }
         if (item.OrderItem.Count == item.AmountUnloaded + item.Amount)
         {
             return("green");
         }
         if (item.OrderItem.Count > item.AmountUnloaded + item.Amount)
         {
             return("blue");
         }
     }
     if (item.OrderEquipment != null)
     {
         if (item.OrderEquipment.Count < item.AmountUnloaded + item.Amount)
         {
             return("orange");
         }
         if (item.OrderEquipment.Count == item.AmountUnloaded + item.Amount)
         {
             return("green");
         }
         if (item.OrderEquipment.Count > item.AmountUnloaded + item.Amount)
         {
             return("blue");
         }
     }
     return("black");
 }
 string CalculateAmountColor(SelfDeliveryDocumentItem item)
 {
     if (item.Amount > item.AmountInStock)
         return "red";
     if(item.OrderItem != null)
     {
         if (item.OrderItem.Count < item.AmountUnloaded + item.Amount)
             return "orange";
         if (item.OrderItem.Count == item.AmountUnloaded + item.Amount)
             return "green";
         if (item.OrderItem.Count > item.AmountUnloaded + item.Amount)
             return "blue";
     }
     if(item.Equipment != null)
     {
         if (1 < item.AmountUnloaded + item.Amount)
             return "orange";
         if (1 == item.AmountUnloaded + item.Amount)
             return "green";
         if (1 > item.AmountUnloaded + item.Amount)
             return "blue";
     }
     return "black";
 }
        string CalculateAmountColor(SelfDeliveryDocumentItem item)
        {
            if (item.Amount > item.AmountInStock)
            {
                return("red");
            }

            var cnt = item.Document.GetNomenclaturesCountInOrder(item.Nomenclature);

            if (cnt < item.AmountUnloaded + item.Amount)
            {
                return("orange");
            }
            if (cnt == item.AmountUnloaded + item.Amount)
            {
                return("green");
            }
            if (cnt > item.AmountUnloaded + item.Amount)
            {
                return("blue");
            }

            return("black");
        }
 public virtual void AddItem(SelfDeliveryDocumentItem item)
 {
     item.Document = this;
     ObservableItems.Add (item);
 }
        string GetItemsCount(SelfDeliveryDocumentItem item)
        {
            decimal cnt = item.Document.GetNomenclaturesCountInOrder(item.Nomenclature);

            return(item.Nomenclature.Unit.MakeAmountShortStr(cnt));
        }