Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
0
 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;
     }
 }
Esempio n. 4
0
 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;
     }
 }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
                        });
                    }
                }
            }
        }
Esempio n. 7
0
        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++;
                    }
                }
            }
        }
Esempio n. 8
0
        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);
                    }
                }
            }
        }