public void OnPlayerAddWarehouseItemHandler(Client sender, params object[] arguments)
        {
            /* Argumenty
             * args[0] string nameResult,
             * args[1] string itemTypeResult,
             * args[2] int costResult,
             * args[3] string groupTypeResult,
             * args[4] int minimalCostResult,
             * args[5] int weeklyCountResult,
             * args[6] int firstParameterResult = null,
             * args[7] int secondParameterResult = null,
             * args[8] int thirdParameterResult = null
             */

            if (Enum.TryParse(arguments[3].ToString(), out GroupType groupType) &&
                Enum.TryParse(arguments[1].ToString(), out ItemEntityType itemType))
            {
                GroupWarehouseItemModel groupWarehouseItem = new GroupWarehouseItemModel
                {
                    ItemTemplateModel = new ItemTemplateModel
                    {
                        Name           = arguments[0].ToString(),
                        ItemEntityType = itemType,
                    },
                    Cost       = Convert.ToDecimal(arguments[2]),
                    ResetCount = Convert.ToInt32(arguments[5]),
                    GroupType  = groupType
                };

                if (arguments[6] != null)
                {
                    groupWarehouseItem.ItemTemplateModel.FirstParameter = (int)arguments[6];
                }
                if (arguments[7] != null)
                {
                    groupWarehouseItem.ItemTemplateModel.SecondParameter = (int)arguments[7];
                }
                if (arguments[8] != null)
                {
                    groupWarehouseItem.ItemTemplateModel.ThirdParameter = (int)arguments[8];
                }

                RoleplayContext ctx = Singletons.RoleplayContextFactory.Create();
                using (GroupWarehouseItemsRepository repository = new GroupWarehouseItemsRepository(ctx))
                {
                    repository.Insert(groupWarehouseItem);
                    repository.Save();
                }
                sender.SendInfo("Dodawanie przedmiotu zakończyło się pomyślnie.");
            }
            else
            {
                sender.SendError("Dodawanie przedmiotu zakończone niepowodzeniem.");
            }
        }
 public UnitOfWork(RoleplayContext context)
 {
     Context                        = context;
     AccountsRepository             = new AccountsRepository(context);
     BuildingsRepository            = new BuildingsRepository(context);
     CharactersRepository           = new CharactersRepository(context);
     CrimeBotsRepository            = new CrimeBotsRepository(context);
     GroupsRepository               = new GroupsRepository(context);
     GroupWarehouseItemsRepository  = new GroupWarehouseItemsRepository(context);
     GroupWarehouseOrdersRepository = new GroupWarehouseOrdersRepository(context);
     ItemsRepository                = new ItemsRepository(context);
     PenaltiesRepository            = new PenaltiesRepository(context);
     TelephoneContactsRepository    = new TelephoneContactsRepository(context);
     TelephoneMessagesRepository    = new TelephoneMessagesRepository(context);
     VehiclesRepository             = new VehiclesRepository(context);
     WorkersRepository              = new WorkersRepository(context);
     ZonesRepository                = new ZonesRepository(context);
     GroupRanksRepository           = new GroupRankRepository(context);
     TicketsRepository              = new TicketsRepository(context);
     ItemTemplatesRepository        = new ItemTemplatesRepository(context);
 }