public IActionResult OnGet()
        {
            var initResult = Init();

            if (initResult != null)
            {
                return(initResult);
            }

            #region << InitPage >>
            int           pager     = 0;
            string        sortBy    = "";
            QuerySortType sortOrder = QuerySortType.Ascending;
            PageUtils.GetListQueryParams(PageContext.HttpContext, out pager, out sortBy, out sortOrder);
            Pager     = pager;
            SortBy    = sortBy;
            SortOrder = sortOrder;

            ErpEntity = new EntityManager().ReadEntity(ParentRecordId ?? Guid.Empty).Object;

            if (ErpEntity == null)
            {
                return(NotFound());
            }

            if (String.IsNullOrWhiteSpace(ReturnUrl))
            {
                ReturnUrl = $"/sdk/objects/entity/r/{ErpEntity.Id}/";
            }


            var pageSer = new PageService();
            var entMan  = new EntityManager();
            var appServ = new AppService();

            var pages    = pageSer.GetAll();
            var entities = entMan.ReadEntities().Object;
            var apps     = appServ.GetAllApplications();

            #region << Apply filters >>
            var submittedFilters = PageUtils.GetPageFiltersFromQuery(PageContext.HttpContext);
            foreach (var filter in submittedFilters)
            {
                switch (filter.Name)
                {
                default:
                case "label":
                    if (filter.Type == FilterType.CONTAINS)
                    {
                        pages = pages.FindAll(x => x.Label.ToLowerInvariant().Contains(filter.Value.ToLowerInvariant())).ToList();
                    }
                    break;

                case "name":
                    if (filter.Type == FilterType.CONTAINS)
                    {
                        pages = pages.FindAll(x => x.Name.ToLowerInvariant().Contains(filter.Value.ToLowerInvariant())).ToList();
                    }
                    break;

                case "app":
                    if (filter.Type == FilterType.EQ)
                    {
                        var app = apps.FirstOrDefault(x => x.Name.ToLowerInvariant() == filter.Value.ToLowerInvariant());
                        if (app != null)
                        {
                            pages = pages.FindAll(x => x.AppId == app.Id).ToList();
                        }
                        else
                        {
                            pages = new List <ErpPage>();
                        }
                    }
                    break;

                case "entity":
                    if (filter.Type == FilterType.EQ)
                    {
                        var entity = entities.FirstOrDefault(x => x.Name.ToLowerInvariant() == filter.Value.ToLowerInvariant());
                        if (entity != null)
                        {
                            pages = pages.FindAll(x => x.EntityId == entity.Id).ToList();
                        }
                        else
                        {
                            pages = new List <ErpPage>();
                        }
                    }
                    break;

                case "type":
                    if (filter.Type == FilterType.CONTAINS)
                    {
                        foreach (var typeEnum in Enum.GetValues(typeof(PageType)).Cast <PageType>())
                        {
                            var enumDescription = typeEnum.GetLabel();
                            if (!enumDescription.ToLowerInvariant().Contains(filter.Value.ToLowerInvariant()))
                            {
                                pages = pages.FindAll(x => x.Type != typeEnum).ToList();
                            }
                        }
                        //pages = pages.FindAll(x => x.Type == entity.Id).ToList();
                    }
                    break;

                case "system":
                    if (filter.Type == FilterType.EQ)
                    {
                        if (filter.Value == "true")
                        {
                            pages = pages.FindAll(x => x.System).ToList();
                        }
                        else if (filter.Value == "false")
                        {
                            pages = pages.FindAll(x => !x.System).ToList();
                        }
                    }
                    break;

                case "customized":
                    if (filter.Type == FilterType.EQ)
                    {
                        if (filter.Value == "true")
                        {
                            pages = pages.FindAll(x => x.IsRazorBody).ToList();
                        }
                        else if (filter.Value == "false")
                        {
                            pages = pages.FindAll(x => !x.IsRazorBody).ToList();
                        }
                    }
                    break;
                }
            }
            #endregion

            TotalCount = pages.Count;

            ReturnUrlEncoded = HttpUtility.UrlEncode(PageContext.HttpContext.Request.Path + PageContext.HttpContext.Request.QueryString);

            PageDescription = PageUtils.GenerateListPageDescription(PageContext.HttpContext, "", TotalCount);

            HeaderToolbar.AddRange(AdminPageUtils.GetEntityAdminSubNav(ErpEntity, "pages"));
            #endregion

            #region << Create Columns >>

            Columns = new List <WvGridColumnMeta>()
            {
                new WvGridColumnMeta()
                {
                    Name  = "action",
                    Width = "1%"
                },
                new WvGridColumnMeta()
                {
                    Label      = "Label",
                    Name       = "label",
                    Sortable   = true,
                    Searchable = true
                },
                new WvGridColumnMeta()
                {
                    Label      = "Name",
                    Name       = "name",
                    Sortable   = true,
                    Searchable = true
                },
                new WvGridColumnMeta()
                {
                    Label = "App",
                    Name  = "app",
                    Width = "140px"
                },
                new WvGridColumnMeta()
                {
                    Label = "Entity",
                    Name  = "entity",
                    Width = "140px"
                },
                new WvGridColumnMeta()
                {
                    Label    = "Type",
                    Name     = "type",
                    Sortable = true,
                    Width    = "120px"
                },
                new WvGridColumnMeta()
                {
                    Label    = "system",
                    Name     = "system",
                    Sortable = true,
                    Width    = "80px"
                },
                new WvGridColumnMeta()
                {
                    Label    = "Customized",
                    Name     = "customized",
                    Sortable = true,
                    Width    = "80px"
                }
            };

            #endregion

            #region << Records >>
            pages = pages.FindAll(x => x.EntityId == ErpEntity.Id).ToList();
            switch (SortBy)
            {
            default:
            case "label":
                if (SortOrder == QuerySortType.Descending)
                {
                    pages = pages.OrderByDescending(x => x.Label).ToList();
                }
                else
                {
                    pages = pages.OrderBy(x => x.Label).ToList();
                }
                break;

            case "name":
                if (SortOrder == QuerySortType.Descending)
                {
                    pages = pages.OrderByDescending(x => x.Name).ToList();
                }
                else
                {
                    pages = pages.OrderBy(x => x.Name).ToList();
                }
                break;

            case "type":
                if (SortOrder == QuerySortType.Descending)
                {
                    pages = pages.OrderByDescending(x => x.Type).ToList();
                }
                else
                {
                    pages = pages.OrderBy(x => x.Type).ToList();
                }
                break;

            case "system":
                if (SortOrder == QuerySortType.Descending)
                {
                    pages = pages.OrderByDescending(x => x.System).ToList();
                }
                else
                {
                    pages = pages.OrderBy(x => x.System).ToList();
                }
                break;

            case "customized":
                if (SortOrder == QuerySortType.Descending)
                {
                    pages = pages.OrderByDescending(x => x.IsRazorBody).ToList();
                }
                else
                {
                    pages = pages.OrderBy(x => x.IsRazorBody).ToList();
                }
                break;
            }

            //Apply pager
            var skipPages = (Pager - 1) * PagerSize;
            pages = pages.Skip(skipPages).Take(PagerSize).ToList();

            foreach (var page in pages)
            {
                var record = new EntityRecord();
                record["action"] = $"<a class='btn btn-sm btn-outline-secondary' target='_blank' href='/sdk/objects/page/r/{page.Id}'><span class='fa fa-eye'></span></a>";
                record["label"]  = page.Label;
                record["name"]   = page.Name;
                record["app"]    = page.AppId != null?apps.First(x => x.Id == page.AppId).Name : "";

                record["entity"]     = page.EntityId != null?entities.First(x => x.Id == page.EntityId).Name : "";;
                record["type"]       = $"{page.Type.GetLabel()}";
                record["system"]     = page.System;
                record["customized"] = page.IsRazorBody;
                Records.Add(record);
            }
            #endregion


            BeforeRender();
            return(Page());
        }
Exemple #2
0
        /// <summary>
        /// Metoda pro zadání nového finančního záznamu nebo jeho úpravu, při zadání nového umožňuje zadání všech parametrů nebo pouze povinných
        /// </summary>
        /// <param name="operation">0 - Nový záznam, 1 - upravit stávající</param>
        /// <param name="price">Částka</param>
        /// <param name="name">Název transakce</param>
        /// <param name="date">Datum transakce</param>
        /// <param name="place">Místo uskutečnění transakce</param>
        /// <param name="description">Popis</param>
        /// <param name="type">Výdaj / příjem</param>
        /// <param name="category">Kategorie výdaje</param>
        /// <param name="full">Zda se zadávají všechny parametry</param>
        /// <param name="record">Stávající záznam k upravení</param>
        public void EnterEditRecord(byte operation, int price, string name, DateTime date, string place, string description, TypeRecord type,
                                    Category category, TypeBalance balance, bool full, FinanceRecord record)
        {
            // Zapsání nové transakce v plné výši, uživatel vyplnil všechna pole
            if (operation == 0 && full)
            {
                Records.Add(new FinanceRecord(price, name, date, place, description, type, category, balance));
            }
            // Zapsání nové transakce v nekompletní podobě, uživatel nezadal všechna pole
            else if (operation == 0 && !full)
            {
                Records.Add(new FinanceRecord(price, name, date, type, category, balance));
            }
            // Úpravy zůstatků podle nově zadané transakce
            if (operation == 0 && type == TypeRecord.Costs)
            {
                if ((Balance[(int)balance] - price) > 0)
                {
                    Balance[(int)balance] -= price;
                }
            }
            else if (operation == 0 && type == TypeRecord.Income)
            {
                if ((Balance[(int)balance] + price) > 0)
                {
                    Balance[(int)balance] += price;
                }
            }

            // Úprava stávající transakce
            if (operation == 1)
            {
                // Získání hodnoty v ENUM, tedy pozici v daném enumu 0 - bankovní účet / 1 - hotovost
                int typeBalance_old = (int)record.TypeBalance;
                int typeBalance_new = (int)balance;
                // Původní záznam je výdaj
                if (record.TypeRecord == TypeRecord.Costs)
                {
                    // Přičte se původní suma ke starému zůstaku
                    Balance[typeBalance_old] += record.Price;
                    // Podle toho zda se změnil i typ (Výdaj , příjem) tak se podle toho přičte / odečte
                    if (type == TypeRecord.Costs)
                    {
                        Balance[typeBalance_new] -= price;
                    }
                    else
                    {
                        Balance[typeBalance_new] += price;
                    }
                }
                // Původní záznam je příjem
                else if (record.TypeRecord == TypeRecord.Income)
                {
                    // Odečte se od původního zůstatku
                    Balance[typeBalance_old] -= record.Price;
                    if (type == TypeRecord.Costs)
                    {
                        Balance[typeBalance_new] -= price;
                    }
                    else
                    {
                        Balance[typeBalance_new] += price;
                    }
                }
                // Změním všechny atribity podle nově zadaných hodnot
                record.Price       = price;
                record.Name        = name;
                record.Date        = date;
                record.Place       = place;
                record.Description = description;
                // Změním všechny ENUM členy na nové zadání
                record.TypeRecord  = type;
                record.Category    = category;
                record.TypeBalance = balance;
            }
            SaveFinance(pathFinance);
            SaveBalance(pathBalance);

            SaveFinance(pathFinancePraceD);
            SaveBalance(pathBalancePraceD);
        }
Exemple #3
0
 public void Init(TEntity entity)
 {
     Records.Add(entity);
 }
Exemple #4
0
 private void AddToTwo(AssemblyCheckRecord assemblyCheckRecord, List <AssemblyCheckRecord> errors)
 {
     Records.Add(assemblyCheckRecord);
     errors.Add(assemblyCheckRecord);
 }
Exemple #5
0
        /// <summary>
        ///     Loads Btrieve Records from Data Pages
        /// </summary>
        private void LoadBtrieveRecords(ILogger logger)
        {
            var recordsLoaded = 0;

            //Starting at 1, since the first page is the header
            for (var i = 1; i <= PageCount; i++)
            {
                var pageOffset    = (uint)(PageLength * i);
                var recordsInPage = ((PageLength - 6) / PhysicalRecordLength);

                //Verify Data Page, high bit set on byte 5 (usage count)
                if ((Data[pageOffset + 0x5] & 0x80) == 0)
                {
                    continue;
                }

                //Page data starts 6 bytes in
                pageOffset += 6;
                for (var j = 0; j < recordsInPage; j++)
                {
                    if (recordsLoaded == RecordCount)
                    {
                        break;
                    }

                    var recordOffset = (uint)pageOffset + (uint)(PhysicalRecordLength * j);
                    // Marked for deletion? Skip
                    if (DeletedRecordOffsets.Contains(recordOffset))
                    {
                        continue;
                    }

                    var record = Data.AsSpan().Slice((int)recordOffset, PhysicalRecordLength);
                    if (IsUnusedRecord(record))
                    {
                        break;
                    }

                    var recordArray = new byte[RecordLength];
                    Array.Copy(Data, recordOffset, recordArray, 0, RecordLength);

                    if (VariableLengthRecords)
                    {
                        using var stream = new MemoryStream();
                        stream.Write(recordArray);

                        Records.Add(new BtrieveRecord(recordOffset, GetVariableLengthData(recordOffset, stream)));
                    }
                    else
                    {
                        Records.Add(new BtrieveRecord(recordOffset, recordArray));
                    }

                    recordsLoaded++;
                }
            }

            if (recordsLoaded != RecordCount)
            {
                logger.Warn($"Database {FileName} contains {RecordCount} records but only read {recordsLoaded}!");
            }
#if DEBUG
            logger.Info($"Loaded {recordsLoaded} records from {FileName}. Resetting cursor to 0");
#endif
        }
Exemple #6
0
 public void Add(object obj)
 {
     Records.Add(obj);
     Current = obj;
 }
Exemple #7
0
 public bool Add(T record)
 {
     IndexPosition++;
     record.ID = IndexPosition;
     return(Records.Add(record));
 }
Exemple #8
0
 private void BtnGetRecordByKey_Click( object sender, RoutedEventArgs e )
 {
     try
     {
         Record record = _db.GetRecordByKey( 1, new string[] { "ID", "Firstname", "LastName" }, false );
         if( record != null )
         {
             Records records = new Records( 1 );
             records.Add( record );
             displayRecords( records );
         }
     }
     catch( Exception ex )
     {
         MessageBox.Show( ex.Message );
     }
 }
Exemple #9
0
        private void LoadData()
        {
            _Filters.Param17 = "...";
            using (StudentuConteiner db = new StudentuConteiner())
            {
                try
                {
                    _Filters.Sum = 0; _Filters.Count = 0;
                    long   ellapledTicks = DateTime.Now.Ticks;
                    var    COrders       = db.Orderlines.Where(o => o.Dates.DateOfReception <= EndDateReception && o.Dates.DateOfReception >= StartDateReception).OrderBy(o => o.OrderNumber);
                    string authorNickName;
                    //creat a orderlist in datagrid (mainwindow)
                    foreach (var item in COrders)
                    {
                        if (item.GetExecuteAuthor(item.Author) == null)
                        {
                            authorNickName = "---";
                        }
                        else
                        {
                            authorNickName = item.GetExecuteAuthor(item.Author).Persone.NickName;
                        }

                        Records record = new Records
                        {
                            RecordId        = item.OrderLineId,
                            OrderCount      = item.OrderCount,
                            OrderNumber     = item.OrderNumber,
                            DateOfReception = item.Dates.DateOfReception,
                            DeadLine        = item.Dates.DeadLine,
                            DateDone        = item.Dates.DateDone,
                            Price           = item.Money.Price,
                            Coast           = item.Money.AuthorPrice,
                            Prepayment      = item.Money.Prepayment,
                            Status          = item.Status.StatusName,
                            TypeOfWork      = item.WorkType.TypeOfWork,
                            AuthorNickName  = authorNickName,
                            ClientName      = item.Client.Persone.Name + ' ' + item.Client.Persone.Patronimic,
                            SubName         = item.Direction.DirectionName,
                            Usver           = item.User,
                            Clientus        = item.Client,
                            Order           = item
                        };
                        Records.Add(record);
                        _Filters.Sum      += item.Money.Price;
                        _Filters.Expenses += item.Money.AuthorPrice;
                        if (item.Money.Price > 0)
                        {
                            _Filters.Count++;
                        }

                        _Filters.AllDirections.Add(item.Direction);//хз че за дичь, забыл уже все. Вроде один из пробных первых фильтров.Удалить нахер
                    }
                    _Filters.Average = _Filters.Count != 0 ? Math.Round(_Filters.Sum / _Filters.Count, 2) : 0;
                    _Filters.Profeet = _Filters.Sum - _Filters.Expenses;

                    ellapledTicks = DateTime.Now.Ticks - ellapledTicks;
                    TimeSpan el = new TimeSpan(ellapledTicks);
                    _Filters.Param17 = el.Seconds.ToString() + "," + el.Milliseconds.ToString() + " сек.";

                    TMPStaticClass.TMPFilters = (_Filters)_Filters.Clone();
                }
                catch (ArgumentNullException ex)
                {
                    dialogService.ShowMessage(ex.Message);
                }
                catch (OverflowException ex)
                {
                    dialogService.ShowMessage(ex.Message);
                }
                catch (System.Data.SqlClient.SqlException ex)
                {
                    dialogService.ShowMessage(ex.Message);
                }
                catch (System.Data.Entity.Core.EntityCommandExecutionException ex)
                {
                    dialogService.ShowMessage(ex.Message);
                }
                catch (System.Data.Entity.Core.EntityException ex)
                {
                    dialogService.ShowMessage(ex.Message);
                }
            }
        }
Exemple #10
0
 /// <inheritdoc />
 public override void Log(LogRecord record)
 {
     base.Log(record);
     Records.Add(record);
 }
Exemple #11
0
        public void AddProduct()
        {
            var product = new MediaDigitalInfoRecord(this);

            Records.Add(product);
        }
 public void Add(Record record)
 {
     Records.Add(record);
 }
Exemple #13
0
        /// <summary>
        /// You can iterate over the database and retrieve one Record at a time
        /// in the index order using the combination of MoveFirst, MoveNext and 
        /// GetCurrentRecord.
        /// </summary>
        ///
        private void BtnIterate_Click( object sender, RoutedEventArgs e )
        {
            try
            {
                if( _db.NumRecords > 0 )
                {
                    // we can create our own Records list and add 
                    // all the rows we find and display them in the DataGrid

                    Records records = new Records( _db.NumRecords );

                    _db.MoveFirst();

                    do
                    {
                        Record record = _db.GetCurrentRecord( null, true );
                        records.Add( record );

                        foreach( string fieldName in record.FieldNames )
                        {
                            Debug.WriteLine( string.Format( "Field: {0}  Value: {1}", fieldName, record[fieldName] ) );
                        }

                        // the index field won't be in the database Fields list, because it is not part of the database (table)
                        foreach( Field field in _db.Fields )
                        {
                            Debug.WriteLine( string.Format( "Field: {0}  Value: {1}", field.Name, record[field.Name] ) );
                        }

                    } while( _db.MoveNext() );

                    displayRecords( records );
                }
            }
            catch( Exception ex )
            {
                MessageBox.Show( ex.Message );
            }
        }
Exemple #14
0
        private bool SecondaryExplosion()
        {
            //Vector3 source = new Vector3(_centerCoordinates.X, _centerCoordinates.Y, _centerCoordinates.Z).Floor();
            //var yield = (1/_size)*100;
            //var explosionSize = _size*2;
            //var minX = Math.Floor(_centerCoordinates.X - explosionSize - 1);
            //var maxX = Math.Floor(_centerCoordinates.X + explosionSize + 1);
            //var minY = Math.Floor(_centerCoordinates.Y - explosionSize - 1);
            //var maxY = Math.Floor(_centerCoordinates.Y + explosionSize + 1);
            //var minZ = Math.Floor(_centerCoordinates.Z - explosionSize - 1);
            //var maxZ = Math.Floor(_centerCoordinates.Z + explosionSize + 1);
            //var explosionBB = new BoundingBox(new Vector3(minX, minY, minZ), new Vector3(maxX, maxY, maxZ));

            var records = new Records();

            foreach (Block block in _afectedBlocks.Values)
            {
                records.Add(block.Coordinates - _centerCoordinates);
            }

            new Task(() =>
            {
                var mcpeExplode     = McpeExplode.CreateObject();
                mcpeExplode.x       = _centerCoordinates.X;
                mcpeExplode.y       = _centerCoordinates.Y;
                mcpeExplode.z       = _centerCoordinates.Z;
                mcpeExplode.radius  = _size;
                mcpeExplode.records = records;
                _world.RelayBroadcast(mcpeExplode);
            }).Start();

            foreach (Block block in _afectedBlocks.Values)
            {
                Block block1 = block;
                _world.SetBlock(new Air {
                    Coordinates = block1.Coordinates
                });
                //new Task(() => _world.SetBlock(new Air {Coordinates = block1.Coordinates})).Start();
                //new Task(() => block1.BreakBlock(_world)).Start();
                if (block is Tnt)
                {
                    new Task(() => SpawnTNT(block1.Coordinates, _world)).Start();
                }
            }

            // Set stuff on fire
            if (Fire)
            {
                Random random = new Random();
                foreach (BlockCoordinates coord in _afectedBlocks.Keys)
                {
                    var block = _world.GetBlock(coord.X, coord.Y, coord.Z);
                    if (block is Air)
                    {
                        var blockDown = _world.GetBlock(coord.X, coord.Y - 1, coord.Z);
                        if (!(blockDown is Air) && random.Next(3) == 0)
                        {
                            _world.SetBlock(new Fire {
                                Coordinates = block.Coordinates
                            });
                        }
                    }
                }
            }

            return(true);
        }
        private async Task UpdateAccounts(Mutation mutation, byte[] transactionHash)
        {
            foreach (Record record in mutation.Records)
            {
                if (record.Value == null)
                {
                    // Read the record and make sure it corresponds to the one supplied
                    var records = Records.Where(r => r.Key == record.Key.ToByteArray()).ToList();

                    var versions = records.Select(r =>
                    {
                        return(r.Version);
                    }).ToList();

                    if (versions.Count == 0)
                    {
                        if (!record.Version.Equals(ByteString.Empty))
                        {
                            throw new ConcurrentMutationException(record);
                        }
                    }
                    else
                    {
                        if (!new ByteString(versions[0]).Equals(record.Version))
                        {
                            throw new ConcurrentMutationException(record);
                        }
                    }
                }
                else
                {
                    if (!record.Version.Equals(ByteString.Empty))
                    {
                        try
                        {
                            var currentRecord = Records.Where(r => r.Key == record.Key.ToByteArray() && r.Version == record.Version.ToByteArray()).FirstOrDefault();

                            //TODO: null check on current record

                            // Update existing account
                            currentRecord.Value   = record.Value.ToByteArray();
                            currentRecord.Version = transactionHash;

                            Context.Update(currentRecord);

                            await Context.SaveChangesAsync();
                        }
                        //catch unique key validation exception here
                        catch (Exception)
                        {
                            throw new ConcurrentMutationException(record);
                        }
                    }
                    else
                    {
                        // Create a new record
                        try
                        {
                            var newRecord = new Models.Record
                            {
                                Key     = record.Key.ToByteArray(),
                                Value   = record.Value.ToByteArray(),
                                Version = transactionHash
                            };

                            Records.Add(newRecord);

                            await Context.SaveChangesAsync();
                        }
                        //catch unique key validation exception here
                        catch (Exception)
                        {
                            throw new ConcurrentMutationException(record);
                        }
                    }
                }
            }
        }
Exemple #16
0
        private void Update_Record(int _op, DateTime _dt, double _min, double _max)
        {
            var d2 = _dt.Ticks;
            var d1 = _dt.AddDays(-1).Ticks;

            Records.Clear();

            int m = 1;

            if (_op == 3)

            {
                var lst =
                    (from t in Wlst.Sr.tmphold.d3Hold.MySelf.Jnls
                     where t.jnl > _min && t.jnl <_max && t.DateCreate> d1 && t.DateCreate < d2
                     select t).ToList();



                foreach (var t in lst)
                {
                    var info = Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.GetInfoById(t.RtuId);

                    Records.Add(new ThreeLvDefine
                    {
                        Index   = m++,
                        PhyId   = info.RtuPhyId,
                        RtuName = info.RtuName,
                        Count   = t.Power.ToString("0.##"),
                        Ratio   = t.jnl.ToString("0.##")
                    });
                }
            }


            if (_op == 4)
            {
                var lst =
                    (from t in Wlst.Sr.tmphold.d4Hold.MySelf.Ldls
                     where t.ldl > _min && t.ldl <_max && t.DateCreate> d1 && t.DateCreate < d2
                     select t).ToList();



                foreach (var t in lst)
                {
                    var info = Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.GetInfoById(t.RtuId);

                    Records.Add(new ThreeLvDefine
                    {
                        Index   = m++,
                        PhyId   = info.RtuPhyId,
                        RtuName = info.RtuName,
                        ZDT     = Convert.ToString(t.Sum),
                        Count   = t.Lds.ToString("0.##"),
                        Ratio   = t.ldl.ToString("0.##")
                    });
                }
            }

            if (_op == 5)
            {
                var lst =
                    (from t in Wlst.Sr.tmphold.d5Hold.MySelf.Zxls
                     where t.zxl > _min && t.zxl <_max && t.DateCreate> d1 && t.DateCreate < d2
                     select t).ToList();



                foreach (var t in lst)
                {
                    var info = Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.GetInfoById(t.RtuId);

                    Records.Add(new ThreeLvDefine
                    {
                        Index   = m++,
                        PhyId   = info.RtuPhyId,
                        RtuName = info.RtuName,
                        ZDT     = Convert.ToString(t.Sum),
                        Count   = t.Zxs.ToString("0.##"),
                        Ratio   = t.zxl.ToString("0.##")
                    });
                }
            }
        }
        public IActionResult OnGet()
        {
            var initResult = Init();

            if (initResult != null)
            {
                return(initResult);
            }

            #region << InitPage >>
            int           pager     = 0;
            string        sortBy    = "";
            QuerySortType sortOrder = QuerySortType.Ascending;
            PageUtils.GetListQueryParams(PageContext.HttpContext, out pager, out sortBy, out sortOrder);
            Pager     = pager;
            SortBy    = sortBy;
            SortOrder = sortOrder;

            var appServ = new AppService();

            var apps = appServ.GetAllApplications().OrderBy(x => x.Name).ToList();
            #region << Apply filters >>
            var submittedFilters = PageUtils.GetPageFiltersFromQuery(PageContext.HttpContext);
            if (submittedFilters.Count > 0)
            {
                foreach (var filter in submittedFilters)
                {
                    switch (filter.Name)
                    {
                    case "name":
                        if (filter.Type == FilterType.CONTAINS)
                        {
                            apps = apps.FindAll(x => x.Name.ToLowerInvariant().Contains(filter.Value.ToLowerInvariant())).ToList();
                        }
                        break;
                    }
                }
            }
            #endregion


            TotalCount = apps.Count;

            ReturnUrlEncoded = HttpUtility.UrlEncode(PageUtils.GetCurrentUrl(PageContext.HttpContext));

            PageDescription = PageUtils.GenerateListPageDescription(PageContext.HttpContext, "", TotalCount);
            #endregion

            #region << Create Columns >>

            Columns = new List <WvGridColumnMeta>()
            {
                new WvGridColumnMeta()
                {
                    Name  = "action",
                    Width = "1%"
                },
                new WvGridColumnMeta()
                {
                    Label = "Icon",
                    Name  = "icon",
                    Width = "1%"
                },
                new WvGridColumnMeta()
                {
                    Label      = "Name",
                    Name       = "name",
                    Sortable   = true,
                    Searchable = true
                },
                new WvGridColumnMeta()
                {
                    Label      = "Label",
                    Name       = "label",
                    Sortable   = true,
                    Searchable = true
                },
                new WvGridColumnMeta()
                {
                    Label = "Description",
                    Name  = "description"
                }
            };

            #endregion

            #region << Records >>
            //Apply sort
            if (!String.IsNullOrWhiteSpace(SortBy))
            {
                switch (SortBy)
                {
                case "name":
                    if (SortOrder == QuerySortType.Descending)
                    {
                        apps = apps.OrderByDescending(x => x.Name).ToList();
                    }
                    else
                    {
                        apps = apps.OrderBy(x => x.Name).ToList();
                    }
                    break;

                case "label":
                    if (SortOrder == QuerySortType.Descending)
                    {
                        apps = apps.OrderByDescending(x => x.Label).ToList();
                    }
                    else
                    {
                        apps = apps.OrderBy(x => x.Label).ToList();
                    }
                    break;

                default:
                    break;
                }
            }

            //Apply pager
            var skipPages = (Pager - 1) * PagerSize;
            apps = apps.Skip(skipPages).Take(PagerSize).ToList();

            foreach (var app in apps)
            {
                var record = new EntityRecord();
                record["action"]      = $"<a class='btn btn-sm btn-outline-secondary' title='App details' href='/sdk/objects/application/r/{app.Id}?returnUrl={ReturnUrlEncoded}'><span class='fa fa-eye'></span></a>";
                record["name"]        = app.Name;
                record["label"]       = app.Label;
                record["icon"]        = $"<div class='badge badge-pill' style='font-size:18px;color:{app.Color};'><span class='{app.IconClass}'></span></div>";
                record["description"] = app.Description;
                Records.Add(record);
            }
            #endregion

            ErpRequestContext.PageContext = PageContext;

            BeforeRender();
            return(Page());
        }
 public static bool CreateRecord(Record record)
 {
     Records.Add(record);
     return(true);
 }
Exemple #19
0
 internal static void Record(Method method, object[] args = null)
 {
     Records.Add(new Tuple <int, object[]> ((int)method, args));
 }
Exemple #20
0
 protected override void OnInitRecords() => Records.Add(MockAddresses.GetMockAddress());
 public void AddRecord(Record rec)
 {
     Records.Add(rec);
     AddRecord2Hashtables(rec);
     AddRec2Coordenadas(rec);
 }
Exemple #22
0
 public async Task PopulateRecords(IResultCursor cursor)
 {
     await cursor.ForEachAsync(record => Records.Add(record)).ConfigureAwait(false);
 }
Exemple #23
0
        public void OnGet()
        {
            Init();

            #region << InitPage >>
            int           pager     = 0;
            string        sortBy    = "";
            QuerySortType sortOrder = QuerySortType.Ascending;
            PageUtils.GetListQueryParams(PageContext.HttpContext, out pager, out sortBy, out sortOrder);
            Pager     = pager;
            SortBy    = sortBy;
            SortOrder = sortOrder;

            var pageSer = new PageService();
            var entMan  = new EntityManager();
            var appServ = new AppService();

            var pages    = pageSer.GetAll();
            var entities = entMan.ReadEntities().Object;
            var apps     = appServ.GetAllApplications();

            #region << Apply filters >>
            var submittedFilters = PageUtils.GetPageFiltersFromQuery(PageContext.HttpContext);
            foreach (var filter in submittedFilters)
            {
                switch (filter.Name)
                {
                default:
                case "label":
                    if (filter.Type == FilterType.CONTAINS)
                    {
                        pages = pages.FindAll(x => x.Label.ToLowerInvariant().Contains(filter.Value.ToLowerInvariant())).ToList();
                    }
                    break;

                case "name":
                    if (filter.Type == FilterType.CONTAINS)
                    {
                        pages = pages.FindAll(x => x.Name.ToLowerInvariant().Contains(filter.Value.ToLowerInvariant())).ToList();
                    }
                    break;

                case "app":
                    if (filter.Type == FilterType.EQ)
                    {
                        var app = apps.FirstOrDefault(x => x.Name.ToLowerInvariant() == filter.Value.ToLowerInvariant());
                        if (app != null)
                        {
                            pages = pages.FindAll(x => x.AppId == app.Id).ToList();
                        }
                        else
                        {
                            pages = new List <ErpPage>();
                        }
                    }
                    break;

                case "entity":
                    if (filter.Type == FilterType.EQ)
                    {
                        var entity = entities.FirstOrDefault(x => x.Name.ToLowerInvariant() == filter.Value.ToLowerInvariant());
                        if (entity != null)
                        {
                            pages = pages.FindAll(x => x.EntityId == entity.Id).ToList();
                        }
                        else
                        {
                            pages = new List <ErpPage>();
                        }
                    }
                    break;

                case "type":
                    if (filter.Type == FilterType.CONTAINS)
                    {
                        foreach (var typeEnum in Enum.GetValues(typeof(PageType)).Cast <PageType>())
                        {
                            var enumDescription = typeEnum.GetLabel();
                            if (!enumDescription.ToLowerInvariant().Contains(filter.Value.ToLowerInvariant()))
                            {
                                pages = pages.FindAll(x => x.Type != typeEnum).ToList();
                            }
                        }
                        //pages = pages.FindAll(x => x.Type == entity.Id).ToList();
                    }
                    break;

                case "system":
                    if (filter.Type == FilterType.EQ)
                    {
                        if (filter.Value == "true")
                        {
                            pages = pages.FindAll(x => x.System).ToList();
                        }
                        else if (filter.Value == "false")
                        {
                            pages = pages.FindAll(x => !x.System).ToList();
                        }
                    }
                    break;

                case "customized":
                    if (filter.Type == FilterType.EQ)
                    {
                        if (filter.Value == "true")
                        {
                            pages = pages.FindAll(x => x.IsRazorBody).ToList();
                        }
                        else if (filter.Value == "false")
                        {
                            pages = pages.FindAll(x => !x.IsRazorBody).ToList();
                        }
                    }
                    break;
                }
            }
            #endregion

            TotalCount = pages.Count;

            ReturnUrlEncoded = HttpUtility.UrlEncode(PageContext.HttpContext.Request.Path + PageContext.HttpContext.Request.QueryString);

            PageDescription = PageUtils.GenerateListPageDescription(PageContext.HttpContext, "", TotalCount);
            #endregion

            #region << Create Columns >>

            Columns = new List <GridColumn>()
            {
                new GridColumn()
                {
                    Name  = "action",
                    Width = "1%"
                },
                new GridColumn()
                {
                    Label      = "Label",
                    Name       = "label",
                    Sortable   = true,
                    Searchable = true
                },
                new GridColumn()
                {
                    Label      = "Name",
                    Name       = "name",
                    Sortable   = true,
                    Searchable = true
                },
                new GridColumn()
                {
                    Label = "App",
                    Name  = "app",
                    Width = "140px"
                },
                new GridColumn()
                {
                    Label = "Entity",
                    Name  = "entity",
                    Width = "140px"
                },
                new GridColumn()
                {
                    Label    = "Type",
                    Name     = "type",
                    Sortable = true,
                    Width    = "120px"
                },
                new GridColumn()
                {
                    Label    = "system",
                    Name     = "system",
                    Sortable = true,
                    Width    = "80px"
                },
                new GridColumn()
                {
                    Label    = "Customized",
                    Name     = "customized",
                    Sortable = true,
                    Width    = "80px"
                }
            };

            #endregion

            #region << Records >>

            switch (SortBy)
            {
            default:
            case "label":
                if (SortOrder == QuerySortType.Descending)
                {
                    pages = pages.OrderByDescending(x => x.Label).ToList();
                }
                else
                {
                    pages = pages.OrderBy(x => x.Label).ToList();
                }
                break;

            case "name":
                if (SortOrder == QuerySortType.Descending)
                {
                    pages = pages.OrderByDescending(x => x.Name).ToList();
                }
                else
                {
                    pages = pages.OrderBy(x => x.Name).ToList();
                }
                break;

            case "type":
                if (SortOrder == QuerySortType.Descending)
                {
                    pages = pages.OrderByDescending(x => x.Type).ToList();
                }
                else
                {
                    pages = pages.OrderBy(x => x.Type).ToList();
                }
                break;

            case "system":
                if (SortOrder == QuerySortType.Descending)
                {
                    pages = pages.OrderByDescending(x => x.System).ToList();
                }
                else
                {
                    pages = pages.OrderBy(x => x.System).ToList();
                }
                break;

            case "customized":
                if (SortOrder == QuerySortType.Descending)
                {
                    pages = pages.OrderByDescending(x => x.IsRazorBody).ToList();
                }
                else
                {
                    pages = pages.OrderBy(x => x.IsRazorBody).ToList();
                }
                break;
            }

            //Apply pager
            var skipPages = (Pager - 1) * PagerSize;
            pages = pages.Skip(skipPages).Take(PagerSize).ToList();

            foreach (var page in pages)
            {
                //The entity of the page could be deleted. In this case show its id as name
                var pageEntityName = "";
                if (page.EntityId != null)
                {
                    pageEntityName = page.EntityId.Value.ToString();
                }

                var pageEntity = entities.FirstOrDefault(x => x.Id == page.EntityId);
                if (pageEntity != null)
                {
                    pageEntityName = pageEntity.Name;
                }

                var record = new EntityRecord();
                record["id"]    = page.Id;
                record["label"] = page.Label;
                record["name"]  = page.Name;
                record["app"]   = page.AppId != null?apps.First(x => x.Id == page.AppId).Name : "";

                record["entity"]     = pageEntityName;
                record["type"]       = $"{page.Type.GetLabel()}";
                record["system"]     = page.System;
                record["customized"] = page.IsRazorBody;
                Records.Add(record);
            }
            #endregion
        }
Exemple #24
0
 public void SaveChanges()
 {
     ToCommit.ForEach(x => Records.Add(x));
     ToCommit.Clear();
 }
Exemple #25
0
        private bool SecondaryExplosion()
        {
            var records = new Records();
            foreach (var block in _afectedBlocks.Values)
            {
                records.Add(block.Coordinates - _centerCoordinates);
            }

            foreach (var block in _afectedBlocks.Values)
            {
                var block1 = block;
                _world.SetBlock(new BlockAir {Coordinates = block1.Coordinates});

                if (block is BlockTnt)
                {
                    new Task(() => SpawnTnt(block1.Coordinates, _world)).Start();
                }
            }

            // Set stuff on fire
            if (_fire)
            {
                var random = new Random();
                foreach (var coord in _afectedBlocks.Keys)
                {
                    var block = _world.GetBlock(new Vector3(coord.X, coord.Y, coord.Z));
                    if (block is BlockAir)
                    {
                        var blockDown = _world.GetBlock(new Vector3(coord.X, coord.Y - 1, coord.Z));
                        if (!(blockDown is BlockAir) && random.Next(3) == 0)
                        {
                            _world.SetBlock(new BlockFire {Coordinates = block.Coordinates});
                        }
                    }
                }
            }

            return true;
        }
Exemple #26
0
        public void OnGet()
        {
            Init();

            DataSourceManager dsMan = new DataSourceManager();

            int           pager     = 0;
            string        sortBy    = "";
            QuerySortType sortOrder = QuerySortType.Ascending;

            PageUtils.GetListQueryParams(PageContext.HttpContext, out pager, out sortBy, out sortOrder);
            Page             = pager;
            SortBy           = sortBy;
            SortOrder        = sortOrder;
            ReturnUrlEncoded = HttpUtility.UrlEncode(PageUtils.GetCurrentUrl(PageContext.HttpContext));

            var allDataSources = dsMan.GetAll().OrderBy(x => x.Name).ToList();

            foreach (var ds in allDataSources)
            {
                if (ds is DatabaseDataSource)
                {
                    var record   = new EntityRecord();
                    var recordId = ds.Id;
                    record["action"]           = $"<a class='btn btn-sm btn-outline-secondary' title='Data source details' href='/sdk/objects/data_source/r/{recordId}?returnUrl={ReturnUrlEncoded}'><span class='fa fa-eye'></span></a>";
                    record["icon"]             = PageUtils.GetDataSourceIconBadge(DataSourceType.DATABASE);
                    record["name"]             = ds.Name;
                    record["target"]           = ds.EntityName;
                    record["type_description"] = DataSourceType.DATABASE.GetLabel();
                    record["type"]             = DataSourceType.DATABASE;
                    record["model"]            = ds.ResultModel;
                    record["param_count"]      = ds.Parameters.Count;
                    Records.Add(record);
                }
                else
                {
                    var record   = new EntityRecord();
                    var recordId = ds.Id;
                    record["action"]           = $"<a class='btn btn-sm btn-outline-secondary' title='Data source details' href='/sdk/objects/data_source/r/{recordId}?returnUrl={ReturnUrlEncoded}'><span class='fa fa-eye'></span></a>";
                    record["icon"]             = PageUtils.GetDataSourceIconBadge(DataSourceType.CODE);
                    record["name"]             = ds.Name;
                    record["target"]           = ds.GetType().FullName;
                    record["type_description"] = DataSourceType.CODE.GetLabel();
                    record["type"]             = DataSourceType.CODE;
                    record["model"]            = ds.ResultModel;
                    record["param_count"]      = 0;
                    Records.Add(record);
                }
            }

            TotalCount      = Records.Count;
            PageDescription = PageUtils.GenerateListPageDescription(PageContext.HttpContext, "", TotalCount);

            #region << Filters >>

            var submittedFilters = PageUtils.GetPageFiltersFromQuery(PageContext.HttpContext);
            if (submittedFilters.Count > 0)
            {
                foreach (var filter in submittedFilters)
                {
                    switch (filter.Name)
                    {
                    case "name":
                        Records = Records.FindAll(x => x["name"].ToString().ToLowerInvariant().Contains(filter.Value.ToLowerInvariant())).ToList();
                        break;

                    case "model":
                        Records = Records.FindAll(x => x["model"].ToString().ToLowerInvariant().Contains(filter.Value.ToLowerInvariant())).ToList();
                        break;

                    case "target":
                        Records = Records.FindAll(x => x["target"].ToString().ToLowerInvariant().Contains(filter.Value.ToLowerInvariant())).ToList();
                        break;

                    case "type":
                        Records = Records.FindAll(x => ((int)x["type"]).ToString().Equals(filter.Value)).ToList();
                        break;
                    }
                }
            }

            #endregion

            #region << Sort >>

            if (!String.IsNullOrWhiteSpace(SortBy))
            {
                switch (SortBy)
                {
                case "name":
                    if (SortOrder == QuerySortType.Descending)
                    {
                        Records = Records.OrderByDescending(x => x["name"].ToString()).ToList();
                    }
                    else
                    {
                        Records = Records.OrderBy(x => x["name"].ToString()).ToList();
                    }
                    break;

                case "type":
                    if (SortOrder == QuerySortType.Descending)
                    {
                        Records = Records.OrderByDescending(x => x["type"].ToString()).ToList();
                    }
                    else
                    {
                        Records = Records.OrderBy(x => x["type"].ToString()).ToList();
                    }
                    break;

                case "target":
                    if (SortOrder == QuerySortType.Descending)
                    {
                        Records = Records.OrderByDescending(x => x["target"].ToString()).ToList();
                    }
                    else
                    {
                        Records = Records.OrderBy(x => x["target"].ToString()).ToList();
                    }
                    break;

                default:
                    break;
                }
            }

            #endregion

            #region << Create Columns >>
            Columns = new List <GridColumn>()
            {
                new GridColumn()
                {
                    Label = "",
                    Name  = "action",
                    Width = "1%"
                },
                new GridColumn()
                {
                    Label = "Icon",
                    Name  = "icon",
                    Width = "1%"
                },
                new GridColumn()
                {
                    Label    = "Name",
                    Name     = "name",
                    Width    = "220px",
                    Sortable = true
                },
                new GridColumn()
                {
                    Label    = "Type",
                    Name     = "type",
                    Width    = "120px",
                    Sortable = true
                },
                new GridColumn()
                {
                    Label    = "target",
                    Name     = "Target",
                    Sortable = true
                },
                new GridColumn()
                {
                    Label = "Returned Model",
                    Name  = "model",
                    Width = "220px"
                },
                new GridColumn()
                {
                    Label = "Params",
                    Name  = "param_count",
                    Width = "40px"
                },
            };
            #endregion

            #region << Actions >>
            HeaderActions.AddRange(new List <string>()
            {
                $"<a href='/sdk/objects/data_source/c/create?returnUrl={ReturnUrlEncoded}' class='btn btn-white btn-sm'><span class='fa fa-plus go-green'></span> Add Data Source</a>",
                $"<button type='button' onclick='ErpEvent.DISPATCH(\"WebVella.Erp.Web.Components.PcDrawer\",\"open\")' class='btn btn-white btn-sm'><span class='fa fa-search'></span> Search</a>"
            });

            #endregion


            var skipPages = (Page - 1) * PageSize;
            Records = Records.Skip(skipPages).Take(PageSize).ToList();


            ErpRequestContext.PageContext = PageContext;

            BeforeRender();
        }
    void setup()
    {
        Records.Clear();

        string detailtext = "";

        m_GachaMaster = MasterFinder <MasterDataGacha> .Instance.Find((int)m_GachaId);

        MasterDataStepUpGacha _stepUpGachaMaster = MasterDataUtil.GetMasterDataStepUpGachaFromGachaID(m_GachaMaster.fix_id);

        if (_stepUpGachaMaster != null)
        {
            detailtext = MasterDataUtil.GetGachaText(EMASTERDATA_SERVER.STEP_UP_GACHA,
                                                     _stepUpGachaMaster.fix_id,
                                                     MasterDataDefineLabel.GachaTextRefType.DETAIL);
        }

        // TOP項目の作成
        StepUpDetailListContext top = new StepUpDetailListContext();

        top.Banner_url            = m_GachaMaster.url_img;
        top.DetailText            = detailtext;
        top.IsStep                = false;
        top.FinishLoadImageAction = () =>
        {
            m_LastUpdateCount = 5;
        };
        Records.Add(top);

        m_StepManageList = MasterFinder <MasterDataStepUpGachaManage> .Instance.SelectWhere("where gacha_id = ? ORDER BY step_num ASC", m_GachaId);

        // ステップ項目の作成
        if (m_StepManageList != null)
        {
            for (int i = 0; i < m_StepManageList.Count; ++i)
            {
                MasterDataStepUpGachaManage stepManage = m_StepManageList[i];

                detailtext = MasterDataUtil.GetGachaText(EMASTERDATA_SERVER.STEP_UP_GACHA_MANAGE,
                                                         stepManage.fix_id,
                                                         MasterDataDefineLabel.GachaTextRefType.DETAIL);

                StepUpDetailListContext item = new StepUpDetailListContext();
                item.StepManageID        = stepManage.fix_id;
                item.Banner_url          = stepManage.url_img;
                item.DetailText          = detailtext;
                item.LotExecText         = GameTextUtil.GetText("Gacha_LottNum") + stepManage.total_lot_exec.ToString();
                item.IsViewBornusLabel   = (stepManage.present_enable == MasterDataDefineLabel.BoolType.ENABLE);
                item.IsViewLineUpNormal  = (stepManage.normal1_assign_id > 0);
                item.IsViewLineUpRainbow = (stepManage.special_assign_id > 0);

                // ステップ数の表示
                if (stepManage.step_num == 0)
                {
                    // 初回ステップ
                    item.TitleText = GameTextUtil.GetText("Gacha_step_04");
                }
                else
                {
                    item.TitleText = string.Format(GameTextUtil.GetText("Gacha_StepNum"), stepManage.step_num);
                }

                // 値段の表示
                string priceText = GameTextUtil.GetText("Price_Chip");
                priceText += stepManage.price;

                // 有料チップの場合
                if (_stepUpGachaMaster.paid_tip_only == MasterDataDefineLabel.BoolType.ENABLE)
                {
                    priceText += GameTextUtil.GetText("Gacha_step_03");
                }
                item.PriceText = priceText;

                // おまけの表示
                MasterDataPresent[] presentArray = MasterDataUtil.GetPresentMasterFromGroupID(stepManage.present_group_id);
                string present_message           = "";
                if (presentArray != null)
                {
                    for (int present_count = 0; present_count < presentArray.Length; ++present_count)
                    {
                        if (present_count > 0)
                        {
                            present_message += "\n";
                        }

                        string presentName  = MasterDataUtil.GetPresentName(presentArray[present_count]);
                        int    presentCount = MasterDataUtil.GetPresentCount(presentArray[present_count]);

                        present_message += presentName + " ×" + presentCount;
                    }
                }
                item.BonusText = string.Format(GameTextUtil.GetText("Gacha_step_01"), present_message);

                //
                item.LinUpNormalButtonModel.OnClicked += () =>
                {
                    OpenLineUp(stepManage, stepManage.normal1_assign_id);
                };
                item.LinUpRainbowButtonModel.OnClicked += () =>
                {
                    OpenLineUp(stepManage, stepManage.special_assign_id);
                };
                item.FinishLoadImageAction = () =>
                {
                    m_LastUpdateCount = 5;
                };
                Records.Add(item);
            }
        }
    }
        public IActionResult OnGet()
        {
            Init();

            var entMan = new EntityManager();

            #region << InitPage >>
            int           pager     = 0;
            string        sortBy    = "";
            QuerySortType sortOrder = QuerySortType.Ascending;
            PageUtils.GetListQueryParams(PageContext.HttpContext, out pager, out sortBy, out sortOrder);
            Pager     = pager;
            SortBy    = sortBy;
            SortOrder = sortOrder;

            ErpEntity = entMan.ReadEntity(ParentRecordId ?? Guid.Empty).Object;

            if (ErpEntity == null)
            {
                return(NotFound());
            }

            if (String.IsNullOrWhiteSpace(ReturnUrl))
            {
                ReturnUrl = $"/sdk/objects/entity/r/{ErpEntity.Id}/";
            }

            var allFields = ErpEntity.Fields;

            #region << Apply filters >>
            var submittedFilters = PageUtils.GetPageFiltersFromQuery(PageContext.HttpContext);
            if (submittedFilters.Count > 0)
            {
                foreach (var filter in submittedFilters)
                {
                    switch (filter.Name)
                    {
                    case "name":
                        if (filter.Type == FilterType.CONTAINS)
                        {
                            allFields = allFields.FindAll(x => x.Name.ToLowerInvariant().Contains(filter.Value.ToLowerInvariant())).ToList();
                        }
                        break;
                    }
                }
            }
            #endregion

            allFields  = allFields.OrderBy(x => x.Name).ToList();
            TotalCount = allFields.Count;

            ReturnUrlEncoded = HttpUtility.UrlEncode(PageUtils.GetCurrentUrl(PageContext.HttpContext));

            PageDescription = PageUtils.GenerateListPageDescription(PageContext.HttpContext, "", TotalCount);
            #endregion

            #region << Create Columns >>

            Columns = new List <GridColumn>()
            {
                new GridColumn()
                {
                    Name  = "action",
                    Width = "1%"
                },
                new GridColumn()
                {
                    Label      = "Name",
                    Name       = "name",
                    Sortable   = true,
                    Searchable = true
                },
                new GridColumn()
                {
                    Label = "Type",
                    Name  = "type",
                    Width = "120px"
                },
                new GridColumn()
                {
                    Label = "System",
                    Name  = "system",
                    Width = "1%"
                },
                new GridColumn()
                {
                    Label = "Required",
                    Name  = "required",
                    Width = "1%"
                },
                new GridColumn()
                {
                    Label = "Unique",
                    Name  = "unique",
                    Width = "80px"
                },
                new GridColumn()
                {
                    Label = "Searchable",
                    Name  = "searchable",
                    Width = "1%"
                },
            };

            #endregion

            #region << Records >>
            //Apply sort
            if (!String.IsNullOrWhiteSpace(SortBy))
            {
                switch (SortBy)
                {
                case "name":
                    if (SortOrder == QuerySortType.Descending)
                    {
                        allFields = allFields.OrderByDescending(x => x.Name).ToList();
                    }
                    else
                    {
                        allFields = allFields.OrderBy(x => x.Name).ToList();
                    }
                    break;

                default:
                    break;
                }
            }

            //Apply pager
            var skipPages = (Pager - 1) * PagerSize;
            allFields = allFields.Skip(skipPages).Take(PagerSize).ToList();

            foreach (var field in allFields)
            {
                var record = new EntityRecord();
                record["action"]     = $"<a class='btn btn-sm btn-white' title='App details' href='/sdk/objects/entity/r/{ErpEntity.Id}/rl/fields/r/{field.Id}?returnUrl={ReturnUrlEncoded}'><span class='ti-eye'></span></a>";
                record["name"]       = field.Name;
                record["type"]       = field.GetFieldType().ToString();
                record["system"]     = field.System;
                record["required"]   = field.Required;
                record["unique"]     = field.Unique;
                record["searchable"] = field.Searchable;
                Records.Add(record);
            }
            #endregion

            #region << Actions >>
            HeaderActions.AddRange(new List <string>()
            {
                $"<a href='/sdk/objects/entity/r/{(ErpEntity != null ? ErpEntity.Id : Guid.Empty)}/rl/fields/c/select?returnUrl={ReturnUrlEncoded}' class='btn btn-white btn-sm'><span class='fa fa-plus go-green'></span> Create Field</a>",
                $"<button type='button' onclick='ErpEvent.DISPATCH(\"WebVella.Erp.Web.Components.PcDrawer\",\"open\")' class='btn btn-white btn-sm'><span class='fa fa-search'></span> Search</a>"
            });
            HeaderToolbar.AddRange(AdminPageUtils.GetEntityAdminSubNav(ErpEntity, "fields"));
            #endregion


            ErpRequestContext.PageContext = PageContext;
            return(Page());
        }
        public IActionResult OnGet()
        {
            Init();

            var entMan = new EntityManager();
            var relMan = new EntityRelationManager();

            #region << InitPage >>
            int           pager     = 0;
            string        sortBy    = "";
            QuerySortType sortOrder = QuerySortType.Ascending;
            PageUtils.GetListQueryParams(PageContext.HttpContext, out pager, out sortBy, out sortOrder);
            Pager     = pager;
            SortBy    = sortBy;
            SortOrder = sortOrder;

            ErpEntity = entMan.ReadEntity(ParentRecordId ?? Guid.Empty).Object;

            if (ErpEntity == null)
            {
                return(NotFound());
            }

            if (string.IsNullOrWhiteSpace(ReturnUrl))
            {
                ReturnUrl = $"/sdk/objects/entity/r/{ErpEntity.Id}/";
            }

            var entityRelations = relMan.Read().Object.Where(x => x.TargetEntityId == ErpEntity.Id || x.OriginEntityId == ErpEntity.Id).ToList();

            #region << Apply filters >>
            var submittedFilters = PageUtils.GetPageFiltersFromQuery(PageContext.HttpContext);
            if (submittedFilters.Count > 0)
            {
                foreach (var filter in submittedFilters)
                {
                    switch (filter.Name)
                    {
                    case "name":
                        if (filter.Type == FilterType.CONTAINS)
                        {
                            entityRelations = entityRelations.FindAll(x => x.Name.ToLowerInvariant().Contains(filter.Value.ToLowerInvariant())).ToList();
                        }
                        break;
                    }
                }
            }
            #endregion

            entityRelations = entityRelations.OrderBy(x => x.Name).ToList();
            TotalCount      = entityRelations.Count;

            ReturnUrlEncoded = HttpUtility.UrlEncode(PageUtils.GetCurrentUrl(PageContext.HttpContext));

            PageDescription = PageUtils.GenerateListPageDescription(PageContext.HttpContext, "", TotalCount);
            #endregion

            #region << Create Columns >>

            Columns = new List <GridColumn>()
            {
                new GridColumn()
                {
                    Name  = "action",
                    Width = "1%"
                },
                new GridColumn()
                {
                    Label      = "Name",
                    Name       = "name",
                    Sortable   = true,
                    Searchable = true
                },
                new GridColumn()
                {
                    Label      = "Origin",
                    Name       = "origin",
                    Sortable   = false,
                    Searchable = false,
                    Width      = "25%"
                },
                new GridColumn()
                {
                    Label      = "Target",
                    Name       = "target",
                    Sortable   = false,
                    Searchable = false,
                    Width      = "25%",
                },
            };

            #endregion

            #region << Records >>
            //Apply sort
            if (!String.IsNullOrWhiteSpace(SortBy))
            {
                switch (SortBy)
                {
                case "name":
                    if (SortOrder == QuerySortType.Descending)
                    {
                        entityRelations = entityRelations.OrderByDescending(x => x.Name).ToList();
                    }
                    else
                    {
                        entityRelations = entityRelations.OrderBy(x => x.Name).ToList();
                    }
                    break;

                default:
                    break;
                }
            }

            //Apply pager
            var skipPages = (Pager - 1) * PagerSize;
            entityRelations = entityRelations.Skip(skipPages).Take(PagerSize).ToList();

            const string OneToOne   = " <span class='badge badge-primary badge-inverse' title='One to One' style='margin-left:5px;'>1 : 1</span>";
            const string OneToMany  = " <span class='badge badge-primary badge-inverse' title='One to Many' style='margin-left:5px;'>1 : N</span>";
            const string ManyToMany = " <span class='badge badge-primary badge-inverse' title='Many to Many' style='margin-left:5px;'>N : N</span>";

            foreach (var relation in entityRelations)
            {
                var nameColumnText = relation.Name + (relation.System ? " <i class='fa fa-fw fa-lock'></i>" : "");
                switch (relation.RelationType)
                {
                case EntityRelationType.OneToOne:
                    nameColumnText = nameColumnText + OneToOne;
                    break;

                case EntityRelationType.OneToMany:
                    nameColumnText = nameColumnText + OneToMany;
                    break;

                case EntityRelationType.ManyToMany:
                    nameColumnText = nameColumnText + ManyToMany;
                    break;
                }


                var originColumnText = $"<div><span class='go-gray'>Entity: </span> {relation.OriginEntityName}</div><div><span class='go-gray'>Field: </span> {relation.OriginFieldName}</div>";
                var targetColumnText = $"<div><span class='go-gray'>Entity: </span> {relation.TargetEntityName}</div><div><span class='go-gray'>Field: </span> {relation.TargetFieldName}</div>";

                var record = new EntityRecord();
                record["action"] = $"<a class='btn btn-sm btn-white' title='view relation details' href='/sdk/objects/entity/r/{ErpEntity.Id}/rl/relations/r/{relation.Id}?returnUrl={ReturnUrlEncoded}'><span class='ti-eye'></span></a>";
                record["name"]   = nameColumnText;
                record["origin"] = originColumnText;
                record["target"] = targetColumnText;
                Records.Add(record);
            }
            #endregion

            HeaderToolbar.AddRange(AdminPageUtils.GetEntityAdminSubNav(ErpEntity, "relations"));

            ErpRequestContext.PageContext = PageContext;

            return(Page());
        }
Exemple #30
0
 public MMRManager()
 {
     curMagicRecord = new MagicMoveRecord();
     Records.Add(curMagicRecord);
 }
Exemple #31
0
 /// <summary>
 /// 添加一个扫码记录
 /// </summary>
 public void AddScanRecord()
 {
     Records.Add(new QrCodeScanRecord(this));
 }
        public IActionResult OnGet()
        {
            var initResult = Init();

            if (initResult != null)
            {
                return(initResult);
            }

            var entMan = new EntityManager();

            #region << InitPage >>
            int           pager     = 0;
            string        sortBy    = "";
            QuerySortType sortOrder = QuerySortType.Ascending;
            PageUtils.GetListQueryParams(PageContext.HttpContext, out pager, out sortBy, out sortOrder);
            Pager     = pager;
            SortBy    = sortBy;
            SortOrder = sortOrder;

            var allEntities = entMan.ReadEntities().Object;
            #region << Apply filters >>
            var submittedFilters = PageUtils.GetPageFiltersFromQuery(PageContext.HttpContext);
            if (submittedFilters.Count > 0)
            {
                foreach (var filter in submittedFilters)
                {
                    switch (filter.Name)
                    {
                    case "name":
                        if (filter.Type == FilterType.CONTAINS)
                        {
                            allEntities = allEntities.FindAll(x => x.Name.ToLowerInvariant().Contains(filter.Value.ToLowerInvariant())).ToList();
                        }
                        break;
                    }
                }
            }
            #endregion
            allEntities = allEntities.OrderBy(x => x.Name).ToList();

            TotalCount = allEntities.Count;

            ReturnUrlEncoded = HttpUtility.UrlEncode(PageUtils.GetCurrentUrl(PageContext.HttpContext));

            PageDescription = PageUtils.GenerateListPageDescription(PageContext.HttpContext, "", TotalCount);
            #endregion


            #region << Create Columns >>

            Columns = new List <WvGridColumnMeta>()
            {
                new WvGridColumnMeta()
                {
                    Name  = "action",
                    Width = "1%"
                },
                new WvGridColumnMeta()
                {
                    Label = "Icon",
                    Name  = "icon",
                    Width = "1%"
                },
                new WvGridColumnMeta()
                {
                    Label      = "Name",
                    Name       = "name",
                    Sortable   = true,
                    Searchable = true
                },
                new WvGridColumnMeta()
                {
                    Label = "# fields",
                    Name  = "fields",
                    Width = "80px"
                }
            };

            #endregion

            #region << Records >>
            //Apply sort
            if (!String.IsNullOrWhiteSpace(SortBy))
            {
                switch (SortBy)
                {
                case "name":
                    if (SortOrder == QuerySortType.Descending)
                    {
                        allEntities = allEntities.OrderByDescending(x => x.Name).ToList();
                    }
                    else
                    {
                        allEntities = allEntities.OrderBy(x => x.Name).ToList();
                    }
                    break;

                default:
                    break;
                }
            }

            //Apply pager
            var skipPages = (Pager - 1) * PagerSize;
            allEntities = allEntities.Skip(skipPages).Take(PagerSize).ToList();

            foreach (var entity in allEntities)
            {
                var record = new EntityRecord();
                record["action"] = $"<a class='btn btn-sm btn-outline-secondary' title='Entity details' href='/sdk/objects/entity/r/{entity.Id}?returnUrl={ReturnUrlEncoded}'><span class='fa fa-eye'></span></a>";
                record["icon"]   = $"<div class='badge badge-pill' style='font-size:18px;color:{(String.IsNullOrWhiteSpace(entity.Color) ? "#999999" : entity.Color)};'><span class='{entity.IconName}'></span></div>";
                record["name"]   = entity.Name;
                record["fields"] = entity.Fields.Count.ToString();
                Records.Add(record);
            }
            #endregion

            #region << Actions >>
            HeaderActions.AddRange(new List <string>()
            {
                $"<a href='/sdk/objects/entity/c?returnUrl={ReturnUrlEncoded}' class='btn btn-white btn-sm'><span class='fa fa-plus go-green'></span> Create Entity</a>",
                $"<button type='button' onclick='ErpEvent.DISPATCH(\"WebVella.Erp.Web.Components.PcDrawer\",\"open\")' class='btn btn-white btn-sm'><span class='fa fa-search'></span> Search</a>"
            });

            #endregion

            ErpRequestContext.PageContext = PageContext;

            BeforeRender();
            return(Page());
        }
Exemple #33
0
 public void AddMeetingRecord(MeetingRecord record)
 {
     Records.Add(record);
 }
Exemple #34
0
		private bool SecondaryExplosion()
		{
			//Vector3 source = new Vector3(_centerCoordinates.X, _centerCoordinates.Y, _centerCoordinates.Z).Floor();
			//var yield = (1/_size)*100;
			//var explosionSize = _size*2;
			//var minX = Math.Floor(_centerCoordinates.X - explosionSize - 1);
			//var maxX = Math.Floor(_centerCoordinates.X + explosionSize + 1);
			//var minY = Math.Floor(_centerCoordinates.Y - explosionSize - 1);
			//var maxY = Math.Floor(_centerCoordinates.Y + explosionSize + 1);
			//var minZ = Math.Floor(_centerCoordinates.Z - explosionSize - 1);
			//var maxZ = Math.Floor(_centerCoordinates.Z + explosionSize + 1);
			//var explosionBB = new BoundingBox(new Vector3(minX, minY, minZ), new Vector3(maxX, maxY, maxZ));

			var records = new Records();
			foreach (Block block in _afectedBlocks.Values)
			{
				records.Add(block.Coordinates - _centerCoordinates);
			}

			new Task(() =>
			{
				var mcpeExplode = McpeExplode.CreateObject();
				mcpeExplode.x = _centerCoordinates.X;
				mcpeExplode.y = _centerCoordinates.Y;
				mcpeExplode.z = _centerCoordinates.Z;
				mcpeExplode.radius = _size;
				mcpeExplode.records = records;
				_world.RelayBroadcast(mcpeExplode);
			}).Start();

			foreach (Block block in _afectedBlocks.Values)
			{
				Block block1 = block;
				_world.SetBlock(new Air {Coordinates = block1.Coordinates});
				//new Task(() => _world.SetBlock(new Air {Coordinates = block1.Coordinates})).Start();
				//new Task(() => block1.BreakBlock(_world)).Start();
				if (block is Tnt)
				{
					new Task(() => SpawnTNT(block1.Coordinates, _world)).Start();
				}
			}

			// Set stuff on fire
			if (Fire)
			{
				Random random = new Random();
				foreach (BlockCoordinates coord in _afectedBlocks.Keys)
				{
					var block = _world.GetBlock(coord.X, coord.Y, coord.Z);
					if (block is Air)
					{
						var blockDown = _world.GetBlock(coord.X, coord.Y - 1, coord.Z);
						if (!(blockDown is Air) && random.Next(3) == 0)
						{
							_world.SetBlock(new Fire {Coordinates = block.Coordinates});
						}
					}
				}
			}

			return true;
		}
Exemple #35
0
        private void BtnGetRecordByIndex_Click( object sender, RoutedEventArgs e )
        {
            try
            {
                // first find a record and get its index and use it to get just the Record
                // using GetRecordByIndex

                FilterExpression fieldSearchExp = FilterExpression.Parse( "LastName = Buchanan" );
                FileDbNs.Table table = _db.SelectRecords( fieldSearchExp, null, null, true );
                if( table.Count > 0 )
                {
                    int index = (int) table[0]["index"];
                    Record record = _db.GetRecordByIndex( index, null );
                    Records records = new Records( 1 );
                    records.Add( record );
                    displayRecords( records );
                }
            }
            catch( Exception ex )
            {
                MessageBox.Show( ex.Message );
            }
        }