public static BuildingEntity Create(AccountModel creator, string name, decimal cost, Vector3 internalPosition,
                                            Vector3 externalPosition, bool spawnPossible, CharacterModel characterModel = null, GroupModel groupModel = null)
        {
            BuildingModel buildingModel = new BuildingModel()
            {
                Name = name,
                CurrentObjectCount      = 0,
                Description             = "",
                EnterCharge             = null,
                InternalDimension       = Utils.GetNextFreeDimension(),
                InternalPickupPositionX = internalPosition.X,
                InternalPickupPositionY = internalPosition.Y,
                InternalPickupPositionZ = internalPosition.Z,
                ExternalPickupPositionX = externalPosition.X,
                ExternalPickupPositionY = externalPosition.Y,
                ExternalPickupPositionZ = externalPosition.Z,
                ItemsInBuilding         = new List <ItemModel>(),
                SpawnPossible           = spawnPossible,
                CreatorId      = creator.Id,
                HasCctv        = false,
                HasSafe        = false,
                MaxObjectCount = 10,
                Character      = characterModel,
                Group          = groupModel
            };

            RoleplayContext ctx = Singletons.RoleplayContextFactory.Create();

            using (BuildingsRepository repository = new BuildingsRepository(ctx))
            {
                repository.Insert(buildingModel);
                repository.Save();
            }
            return(new BuildingEntity(buildingModel));
        }
        public static void LoadBuildings()
        {
            RoleplayContext ctx = Singletons.RoleplayContextFactory.Create();

            using (BuildingsRepository repository = new BuildingsRepository(ctx))
                foreach (BuildingModel building in repository.GetAll())
                {
                    new BuildingEntity(building);
                }
        }
Esempio n. 3
0
        public ScheduleRepository(string connectionString)
        {
            Database.SetInitializer(new MigrateDatabaseToLatestVersion<ScheduleContext, Configuration>());

            Auditoriums = new AuditoriumsRepository();
            Buildings = new BuildingsRepository();
            Calendars = new CalendarsRepository();
            Disciplines = new DisciplinesRepository();
            DisciplineNames = new DisciplineNameRepository();
            Lessons = new LessonsRepository(this);
            Rings = new RingsRepository();
            Students = new StudentsRepository();
            StudentGroups = new StudentGroupsRepository();
            StudentsInGroups = new StudentsInGroupsRepository();
            Teachers = new TeachersRepository();
            TeacherForDisciplines = new TeacherForDisciplinesRepository();
            ConfigOptions = new ConfigOptionRepository();

            AuditoriumEvents = new AuditoriumEventsRepository();

            Faculties = new FacultiesRepository();
            GroupsInFaculties = new GroupsInFacultiesRepository();

            ScheduleNotes = new ScheduleNotesRepository();

            LessonLogEvents = new LessonLogEventsRepository();

            TeacherWishes = new TeacherWishesRepository();

            CustomTeacherAttributes = new CustomTeacherAttributesRepository();
            CustomDisciplineAttributes = new CustomDisciplineAttributesRepository();
            CustomStudentGroupAttributes = new CustomStudentGroupAttributesRepository();

            Shifts = new ShiftsRepository();
            ShiftRings = new ShiftRingsRepository();

            Exams = new ExamsRepository();
            LogEvents = new LogEventsRepository();

            CommonFunctions = new CommonFunctions(this);

            SetConnectionString(connectionString);
        }
 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);
 }
        public void DeleteBuilding(Client sender, long id = -1)
        {
            if (!sender.HasRank(ServerRank.AdministratorRozgrywki2))
            {
                sender.SendWarning("Nie posiadasz uprawnień do usuwania drzwi.");
                return;
            }

            if (id == -1 && !sender.HasData("CurrentDoors"))
            {
                sender.SendError("Aby usunąć budynek musisz podać jego Id, lub znajdować się w jego drzwiach.");
            }

            RoleplayContext ctx = Singletons.RoleplayContextFactory.Create();

            using (BuildingsRepository repository = new BuildingsRepository(ctx))
            {
                if (sender.HasData("CurrentDoors"))
                {
                    BuildingEntity building = (BuildingEntity)sender.GetData("CurrentDoors");
                    building.Dispose();
                    repository.Delete(building.DbModel.Id);
                    repository.Save();

                    return;
                }

                if (id != -1 && EntityHelper.GetBuilding(id) != null)
                {
                    BuildingEntity building = EntityHelper.GetBuilding(id);
                    building.Dispose();

                    repository.Delete(building.DbModel.Id);
                    repository.Save();
                }
            }
            sender.SendError("Podany budynek nie istnieje.");
        }
Esempio n. 6
0
        static void Main(string[] args)
        {
            var repo = new BuildingsRepository();

            repo.GetAllList();
        }
Esempio n. 7
0
        public void Trade(bool bank)
        {
            if (Getter.HasMoney(Money, bank))
            {
                if (_moneyToGroup && Sender.OnDutyGroup == null)
                {
                    Sender.SendInfo("Musisz znajdować się na służbie grupy.");
                    return;
                }

                if (ItemModel != null)
                {
                    ChatScript.SendMessageToNearbyPlayers(Sender,
                                                          $"{Sender.FormatName} podaje przedmiot {Getter.FormatName}",
                                                          ChatMessageType.ServerMe);

                    ItemModel.Character = Getter.DbModel;

                    RoleplayContext ctx = Singletons.RoleplayContextFactory.Create();
                    using (ItemsRepository repository = new ItemsRepository(ctx))
                    {
                        repository.Update(ItemModel);
                        repository.Save();
                    }
                }
                else if (Vehicle != null)
                {
                    ChatScript.SendMessageToNearbyPlayers(Sender,
                                                          $"{Sender.FormatName} podaje klucze {Getter.FormatName}",
                                                          ChatMessageType.ServerMe);

                    Vehicle.Character = Getter.DbModel;

                    RoleplayContext ctx = Singletons.RoleplayContextFactory.Create();
                    using (VehiclesRepository repository = new VehiclesRepository(ctx))
                    {
                        repository.Update(Vehicle);
                        repository.Save();
                    }
                }
                else if (Building != null)
                {
                    ChatScript.SendMessageToNearbyPlayers(Sender,
                                                          $"{Sender.FormatName} podaje klucze {Getter.FormatName}",
                                                          ChatMessageType.ServerMe);

                    Building.Character = Getter.DbModel;

                    RoleplayContext ctx = Singletons.RoleplayContextFactory.Create();
                    using (BuildingsRepository repository = new BuildingsRepository(ctx))
                    {
                        repository.Update(Building);
                        repository.Save();
                    }
                }

                if (_moneyToGroup)
                {
                    Sender.OnDutyGroup.AddMoney(Money);
                }
                else
                {
                    Sender.AddMoney(Money, bank);
                }

                Getter.RemoveMoney(Money, bank);

                _action?.Invoke(Getter);
            }
            else
            {
                Getter.SendWarning(bank
                    ? "Nie posiadasz wystarczającej ilości środków na karcie"
                    : "Nie posiadasz wystarczającej ilości gotówki.");
                Sender.SendError("Wymiana zakończona niepowodzeniem.");
            }
        }