Ejemplo n.º 1
0
        public SupplierTenderQuantityTable SaveQuantityTableItems(long tableId, List <TenderQuantityItemDTO> lst, string tableName, long currentItemId, out long itemId)
        {
            itemId = 0;
            Name   = tableName;
            if (QuantitiyItemsJson == null)
            {
                QuantitiyItemsJson = new SupplierTenderQuantityTableItemJson();
                QuantitiyItemsJson.Create();
            }
            bool ItemExists = QuantitiyItemsJson.SupplierTenderQuantityTableItems != null && QuantitiyItemsJson.SupplierTenderQuantityTableItems.Any(a => /*a.IsActive == true && a.SupplierTenderQuantityTableId == tableId && */ a.ItemNumber == currentItemId);
            var  lastIndex  = QuantitiyItemsJson.SupplierTenderQuantityTableItems.Any() ? QuantitiyItemsJson.SupplierTenderQuantityTableItems.OrderByDescending(t => t.ItemNumber).FirstOrDefault().ItemNumber : 0;

            foreach (var item in lst)
            {
                if (!ItemExists)
                {
                    byte[] gb      = Guid.NewGuid().ToByteArray();
                    long   IId     = BitConverter.ToInt64(gb, 0);
                    var    idExsit = QuantitiyItemsJson.SupplierTenderQuantityTableItems.Any(x => x.Id == IId);
                    while (idExsit)
                    {
                        gb      = Guid.NewGuid().ToByteArray();
                        IId     = BitConverter.ToInt64(gb, 0);
                        idExsit = QuantitiyItemsJson.SupplierTenderQuantityTableItems.Any(x => x.Id == IId);
                    }
                    QuantitiyItemsJson.SupplierTenderQuantityTableItems.Add(new SupplierTenderQuantityTableItem(IId, item.ColumnId, item.TenderFormHeaderId, item.TemplateId, item.Value, lastIndex + 1));
                    itemId = lastIndex + 1;
                }
                else
                {
                    SupplierTenderQuantityTableItem QItem;
                    if (item.Id != 0)
                    {
                        QItem = QuantitiyItemsJson.SupplierTenderQuantityTableItems.FirstOrDefault(q => q.Id == item.Id);
                    }
                    else
                    {
                        QItem = QuantitiyItemsJson.SupplierTenderQuantityTableItems.FirstOrDefault(q => q.ItemNumber == item.ItemNumber && q.ColumnId == item.ColumnId && q.TenderFormHeaderId == item.TenderFormHeaderId);
                    }
                    QItem.UpdateItems(item.ColumnId, item.TenderFormHeaderId, item.TemplateId, item.Value, currentItemId);
                }
            }
            if (tableId == 0)
            {
                EntityCreated();
                QuantitiyItemsJson.Create();
            }
            else
            {
                EntityUpdated();
                QuantitiyItemsJson.Update();
            }
            return(this);
        }
Ejemplo n.º 2
0
        public TenderQuantityTableChanges SaveQuantityTableItems(long tableId, List <TenderQuantityItemDTO> lst, long currentItemId, out long itemId)
        {
            itemId = 0;
            bool ItemExists = QuantitiyItemsChangeJson != null && QuantitiyItemsChangeJson.TenderQuantityTableItemChanges != null && QuantitiyItemsChangeJson.TenderQuantityTableItemChanges.Any(a => /*a.IsActive == true && a.TenderQuantityTableChangesId == tableId &&*/ a.ItemNumber == currentItemId);
            var  lastIndex  = QuantitiyItemsChangeJson.TenderQuantityTableItemChanges /*.Where(a => a.IsActive == true && a.TenderQuantityTableChangesId == tableId)*/.Any() ? QuantitiyItemsChangeJson.TenderQuantityTableItemChanges/*.Where(a => a.IsActive == true && a.TenderQuantityTableChangesId == tableId)*/
                              .Max(a => a.ItemNumber) : 0;

            foreach (var item in lst)
            {
                byte[] gb      = Guid.NewGuid().ToByteArray();
                long   IId     = BitConverter.ToInt64(gb, 0);
                var    idExsit = QuantitiyItemsChangeJson.TenderQuantityTableItemChanges.Any(x => x.Id == IId);
                while (idExsit)
                {
                    gb      = Guid.NewGuid().ToByteArray();
                    IId     = BitConverter.ToInt64(gb, 0);
                    idExsit = QuantitiyItemsChangeJson.TenderQuantityTableItemChanges.Any(x => x.Id == IId);
                }
                if (!ItemExists)
                {
                    QuantitiyItemsChangeJson.TenderQuantityTableItemChanges.Add(new TenderQuantityTableItemChanges(IId, item.ColumnId, item.TenderFormHeaderId, item.TemplateId, item.ColumnName, item.Value, lastIndex + 1));
                    itemId = lastIndex + 1;
                }
                else
                {
                    TenderQuantityTableItemChanges QItem;
                    if (item.Id != 0)
                    {
                        QItem = QuantitiyItemsChangeJson.TenderQuantityTableItemChanges.FirstOrDefault(q => q.Id == item.Id);
                    }
                    else
                    {
                        QItem = QuantitiyItemsChangeJson.TenderQuantityTableItemChanges.FirstOrDefault(q => q.ItemNumber == item.ItemNumber && q.ColumnId == item.ColumnId && q.TenderFormHeaderId == item.TenderFormHeaderId);
                    }
                    if (QItem != null)
                    {
                        QItem.UpdateItems(item.ColumnId, item.TenderFormHeaderId, item.TemplateId, item.ColumnName, item.Value, currentItemId);
                    }
                }
            }
            if (tableId == 0)
            {
                EntityCreated();
                QuantitiyItemsChangeJson.SetAddedState();
            }
            else
            {
                EntityUpdated();
                QuantitiyItemsChangeJson.SetUpdateState();
            }
            return(this);
        }