public static void EnterCompany(Player player) { //var user = player.GetExternalData<Data.Entities.User>(0); if (!player.HasData("USER_CLASS")) { return; } Data.Entities.User user = player.GetData <Data.Entities.User>("USER_CLASS"); if (!user.isInCompanyInterior) { Data.Entities.Company company = user.company; user.companyInterior = company; user.lastPositionInterior = player.Position; player.Dimension = (uint)company.id; player.Position = interior; user.isInCompanyInterior = true; player.TriggerEvent("GenerateSecretaryPedCompany", company.id); return; } else { player.Dimension = 0; player.Position = user.lastPositionInterior; user.isInCompanyInterior = false; } }
public void Banks_ExitColShape(ColShape shape, Player player) { //var company = shape.GetExternalData<Data.Entities.Company>(0); if (!shape.HasData("COMPANY_CLASS")) { return; } Data.Entities.Company company = shape.GetData <Data.Entities.Company>("COMPANY_CLASS"); //var user = player.GetExternalData<Data.Entities.User>(0); if (!player.HasData("USER_CLASS")) { return; } Data.Entities.User user = player.GetData <Data.Entities.User>("USER_CLASS"); if (company != null) { if (company.interior == shape) { user.isInCompanyExitInterior = false; return; } if (company.contract == shape) { user.isInCompanyContract = false; return; } user.isInCompany = false; user.company = null; } }
public static void CheckIfUserWorksInCompany(Data.Entities.User user) { Data.Entities.Company company = Data.Lists.Companies.Find(x => x.id == user.job); if (company != null) { user.companyMember = company; } }
public static void CheckIfUserHasCompany(Data.Entities.User user) { Data.Entities.Company company = Data.Lists.Companies.Find(x => x.owner == user.idpj); if (company != null) { user.companyProperty = company; } }
private Company CreateCompany(Data.Entities.Company dbEntity) { var result = _companyFactory.Create(dbEntity.Id, dbEntity.UserId, dbEntity.Name); result.Address = dbEntity.Address; result.GeneralManager = dbEntity.GeneralManager; result.Inn = dbEntity.Inn; result.Kpp = dbEntity.Kpp; result.Phone = dbEntity.Phone; return(result); }
public static async Task SpawnVehicleCompanies(Data.Entities.Company company) { using (MySqlConnection connection = new MySqlConnection(Data.DatabaseHandler.connectionHandle)) { await connection.OpenAsync().ConfigureAwait(false); MySqlCommand command = connection.CreateCommand(); command.CommandText = "SELECT * FROM vehicles_companies WHERE company = @company"; command.Parameters.AddWithValue("@company", company.id); DbDataReader reader = await command.ExecuteReaderAsync().ConfigureAwait(false); if (reader.HasRows) { while (reader.Read()) { int id = reader.GetInt32(reader.GetOrdinal("id")); string type = reader.GetString(reader.GetOrdinal("type")); int color1 = reader.GetInt32(reader.GetOrdinal("color1")); int color2 = reader.GetInt32(reader.GetOrdinal("color2")); string numberplate = reader.GetString(reader.GetOrdinal("numberplate")); double x = reader.GetDouble(reader.GetOrdinal("x")); double y = reader.GetDouble(reader.GetOrdinal("y")); double z = reader.GetDouble(reader.GetOrdinal("z")); double rot = reader.GetDouble(reader.GetOrdinal("rot")); Vector3 position = new Vector3(x, y, z); NAPI.Task.Run(() => { uint hash = NAPI.Util.GetHashKey(type); Vehicle vehicle = NAPI.Vehicle.CreateVehicle(hash, position, (float)rot, color1, color2, numberplate, 255, false, false); vehicle.NumberPlate = numberplate; Data.Entities.VehicleCompany veh = new Data.Entities.VehicleCompany() { id = id, model = type, vehicle = vehicle, company = company, spawn = position, spawnRot = (float)rot }; vehicle.SetData("VEHICLE_COMPANY_DATA", veh); }); } } } }
public async static Task SpawnCompanies() { using (MySqlConnection connection = new MySqlConnection(Data.DatabaseHandler.connectionHandle)) { await connection.OpenAsync().ConfigureAwait(false); MySqlCommand command = connection.CreateCommand(); command.CommandText = "SELECT * FROM companies"; DbDataReader reader = await command.ExecuteReaderAsync().ConfigureAwait(false); if (reader.HasRows) { while (await reader.ReadAsync().ConfigureAwait(false)) { int id = reader.GetInt32(reader.GetOrdinal("id")); int userid = reader.GetInt32(reader.GetOrdinal("owner")); int type = reader.GetInt32(reader.GetOrdinal("type")); string name = reader.GetString(reader.GetOrdinal("name")); int price = reader.GetInt32(reader.GetOrdinal("price")); string area = reader.GetString(reader.GetOrdinal("area")); int number = reader.GetInt32(reader.GetOrdinal("number")); double safeBox = reader.GetDouble(reader.GetOrdinal("safeBox")); int percentage = reader.GetInt32(reader.GetOrdinal("percentage")); int subsidy = reader.GetInt32(reader.GetOrdinal("subsidy")); double x = reader.GetDouble(reader.GetOrdinal("x")); double y = reader.GetDouble(reader.GetOrdinal("y")); double z = reader.GetDouble(reader.GetOrdinal("z")); Vector3 position = new Vector3(x, y, z); string nombre; if (name == "NO") { nombre = "Compañía en venta"; } else { nombre = name; } int workers = GetWorkersCompany(id); NAPI.Task.Run(async() => { // Exterior entities ColShape company = NAPI.ColShape.CreateCylinderColShape(position.Subtract(new Vector3(0, 0, 1)), 2, 2); TextLabel label = NAPI.TextLabel.CreateTextLabel($"{nombre}~n~Pulsa ~y~F5 ~w~para interactuar~n~~p~{area}, {number}", position, 5, 1, 0, new Color(255, 255, 255)); Marker marker = NAPI.Marker.CreateMarker(0, position.Subtract(new Vector3(0, 0, 0.1)), new Vector3(), new Vector3(), 1, new Color(251, 244, 1)); Blip blip = NAPI.Blip.CreateBlip(position); blip.Color = 3; blip.Name = nombre; switch (type) { case 1: blip.Sprite = 198; break; case 2: blip.Sprite = 477; break; case 3: blip.Sprite = 72; break; case 4: blip.Sprite = 528; break; case 5: blip.Sprite = 135; break; } // Interior entities TextLabel label_interior = NAPI.TextLabel.CreateTextLabel("~w~Pulsa ~y~F5 ~w~para salir", Interior.interior, 3, 1, 0, new Color(255, 255, 255)); label_interior.Dimension = (uint)id; ColShape shape_interior = NAPI.ColShape.CreateCylinderColShape(Interior.interior.Subtract(new Vector3(0, 0, 1)), 2, 2, (uint)id); ColShape shape_duty = NAPI.ColShape.CreateCylinderColShape(Interior.duty.Subtract(new Vector3(0, 0, 1)), 2, 2, (uint)id); TextLabel label_duty = NAPI.TextLabel.CreateTextLabel("~w~Pulsa ~y~F6 ~w~para ponerte en servicio", Interior.duty, 3, 1, 0, new Color(255, 255, 255)); Marker marker_duty = NAPI.Marker.CreateMarker(1, Interior.duty.Subtract(new Vector3(0, 0, 1)), new Vector3(), new Vector3(), 1, new Color(251, 244, 1)); ColShape shape_contract = NAPI.ColShape.CreateCylinderColShape(Interior.contract.Subtract(new Vector3(0, 0, 1)), 2, 2, (uint)id); TextLabel label_contract = NAPI.TextLabel.CreateTextLabel("~w~Pulsa ~y~F6 ~w~para firmar el contrato de empleo", Interior.contract, 3, 1, 0, new Color(255, 255, 255)); Marker marker_contract = NAPI.Marker.CreateMarker(1, Interior.contract.Subtract(new Vector3(0, 0, 1)), new Vector3(), new Vector3(), 1, new Color(251, 244, 1)); Data.Entities.Company dcompany = new Data.Entities.Company { id = id, owner = userid, type = type, name = name, price = price, blip = blip, label = label, marker = marker, area = area, number = number, safeBox = safeBox, workers = workers, percentage = percentage, subsidy = subsidy, interior = shape_interior, shape = company, contract = shape_contract, duty = shape_duty }; //company.SetExternalData<Data.Entities.Company>(0, dcompany); //shape_interior.SetExternalData<Data.Entities.Company>(0, dcompany); company.SetData("COMPANY_CLASS", dcompany); shape_interior.SetData("COMPANY_CLASS", dcompany); shape_contract.SetData("COMPANY_CLASS", dcompany); Data.Lists.Companies.Add(dcompany); await SpawnVehicleCompanies(dcompany); }); Data.Info.companiesSpawned++; } } } }
public async Task RE_CompanyFinishCreation(Player player, string name) { //var user = player.GetExternalData<Data.Entities.User>(0); if (!player.HasData("USER_CLASS")) { return; } Data.Entities.User user = player.GetData <Data.Entities.User>("USER_CLASS"); if (user.adminLv == 5) { if (player.HasData("CreateCompanyType")) { if (player.HasData("CreateCompanyPrice")) { int streetid = await DbFunctions.GetLastStreetNumber(name) + 1; //int type = player.GetData<int>("CreateCompanyType"); //int price = player.GetData<int>("CreateCompanyPrice int type = player.GetData <int>("CreateCompanyType"); int price = player.GetData <int>("CreateCompanyPrice"); int idempresa = await World.Companies.DbFunctions.CreateCompany(player, type, price, name, streetid); Data.Entities.Company company = new Data.Entities.Company(); ColShape empresa = NAPI.ColShape.CreateCylinderColShape(player.Position, 2, 2); Marker marker = NAPI.Marker.CreateMarker(0, player.Position, new Vector3(), new Vector3(), 1, new Color(248, 218, 79)); TextLabel label = NAPI.TextLabel.CreateTextLabel($"Compañía en venta~n~Pulsa ~y~F5 ~w~para interactuar~n~~p~{name}, {streetid}", player.Position, 5, 1, 0, new Color(255, 255, 255)); Blip blip = NAPI.Blip.CreateBlip(player.Position); blip.Color = 3; blip.Name = "Compañía en venta"; switch (type) { case 1: blip.Sprite = 198; break; case 2: blip.Sprite = 477; break; case 3: blip.Sprite = 72; break; case 4: blip.Sprite = 528; break; case 5: blip.Sprite = 135; break; } company.id = idempresa; company.type = type; company.name = "Compañía en venta"; company.owner = 0; company.price = price; company.blip = blip; company.marker = marker; company.label = label; company.area = name; company.number = streetid; company.safeBox = 0; company.workers = 0; company.percentage = 0; company.subsidy = 0; company.shape = empresa; //empresa.SetExternalData<Data.Entities.Company>(0, company); empresa.SetData("COMPANY_CLASS", company); Data.Lists.Companies.Add(company); } } } }