Пример #1
0
        public void UpdateModels(IExcelDataReader reader)
        {
            reader.Read();

            while (reader.Read())
            {
                int modelID = 0;
                int.TryParse(reader[0].ToString(), out modelID);

                int makeID = 0;
                int.TryParse(reader[1].ToString(), out makeID);
                AutoMake make = AutoMakeService.GetByID(makeID);

                if (modelID <= 0 || make == null)
                {
                    continue;
                }

                AutoModel model = AutoModelService.GetByID(modelID);
                if (model == null)
                {
                    model = new AutoModel()
                    {
                        ID      = modelID,
                        MakeID  = makeID,
                        Name    = reader[2].ToString(),
                        Name_ru = reader[3].ToString()
                    };

                    AutoModelService.Create(model);
                }
                else
                {
                    model.MakeID  = makeID;
                    model.Name    = reader[2].ToString();
                    model.Name_ru = reader[3].ToString();

                    AutoModelService.Edit(model);
                }
            }
        }
Пример #2
0
        private string BuildPostData(Auto auto, List <Tuple <string, string, string> > additionalFields = null)
        {
            string elasticSearchDateFormat = $"{XCarsConfiguration.ElasticSearchDateFormat}";
            string fullInfo = "";

            string postData = @"{
            ""AutoID"": " + auto.ID + @"
            ,""UserID"": " + auto.UserID + @"
            ,""DateCreated"": """ + auto.DateCreated.ToString(elasticSearchDateFormat) + @"""
            ,""DateUpdated"": """ + auto.DateUpdated.ToString(elasticSearchDateFormat) + @"""";

            if (auto.DateExpires != null)
            {
                postData += @",""DateExpires"": """ + auto.DateExpires.Value.ToString(elasticSearchDateFormat) + @"""";
            }

            if (auto.DateAppearance != null)
            {
                postData += @",""DateAppearance"": """ + auto.DateAppearance.Value.ToString(elasticSearchDateFormat) + @"""";
            }

            //string photoUrl = XCarsConfiguration.AutoNoPhotoUrl;
            //AutoPhoto photo = auto.AutoPhotoes.FirstOrDefault(p => p.IsMain);
            //if (photo != null)
            //    photoUrl = photo.Url;
            //postData += @",""AutoPhotoUrl"": """ + photoUrl + @"""";

            int       mainPhotoID = 0;
            AutoPhoto photo       = auto.AutoPhotoes.FirstOrDefault(p => p.IsMain);

            if (photo != null)
            {
                mainPhotoID = photo.ID;
            }
            postData += @",""MainPhotoID"": " + mainPhotoID + @"";

            string name = AutoStatusService.GetByID(auto.StatusID).Name;

            postData += @"
            ,""Status"": {
                ""ID"": " + auto.StatusID + @",
                ""Name"": """ + name + @"""
            }";

            City city = CityService.GetByID(auto.RegionID);

            if (city != null)
            {
                name      = city.Region.Name;
                fullInfo += name + " ";
                postData += @",""AutoRegion"": {
                    ""ID"": " + auto.RegionID + @",
                    ""Name"": """ + name + @"""
                }";

                name      = city.Name;
                fullInfo += name + " ";
                postData += @",""AutoCity"": {
                    ""ID"": " + auto.RegionID + @",
                    ""Name"": """ + name + @"""
                }";
            }

            name      = AutoTransportTypeService.GetByID(auto.TransportTypeID).Name;
            fullInfo += name + " ";
            postData += @"
            ,""AutoTransportType"": {
                ""ID"": " + auto.TransportTypeID + @",
                ""Name"": """ + name + @"""
            }";

            name      = AutoBodyTypeService.GetByID(auto.BodyTypeID).Name;
            fullInfo += name + " ";
            postData += @"
            ,""AutoBodyType"": {
                ""ID"": " + auto.BodyTypeID + @",
                ""Name"": """ + name + @"""
            }";

            name      = AutoMakeService.GetByID(auto.MakeID).Name;
            fullInfo += name + " ";
            postData += @"
            ,""AutoMake"": {
                ""ID"": " + auto.MakeID + @",
                ""Name"": """ + name + @"""
            }";

            name      = AutoModelService.GetByID(auto.ModelID).Name;
            fullInfo += name + " ";
            postData += @"
            ,""AutoModel"": {
                ""ID"": " + auto.ModelID + @",
                ""Name"": """ + name + @"""
            }";

            name      = AutoTSRegistrationService.GetByID(auto.TSRegistrationID).NameFull;
            fullInfo += name + " ";
            postData += @"
            ,""AutoTSRegistration"": {
                ""ID"": " + auto.TSRegistrationID + @",
                ""Name"": """ + name + @"""
            }";

            postData += @",""YearOfIssue"": " + auto.YearOfIssue + @"";

            if (!string.IsNullOrWhiteSpace(auto.Modification))
            {
                postData += @",""Modification"": """ + auto.Modification + @"""";
                fullInfo += auto.Modification + " ";
            }

            postData += @",""Probeg"": " + auto.Probeg + @"";

            //if (auto.PriceUSD != null)
            postData += @",""PriceUSD"": " + ((auto.PriceUSD != null) ? auto.PriceUSD : 0) + @"";
            //if (auto.PriceUAH != null)
            postData += @",""PriceUAH"": " + ((auto.PriceUAH != null) ? auto.PriceUAH : 0) + @"";

            postData += @",""PriceUSDSearch"": " + auto.PriceUSDSearch + @"";
            postData += @",""PriceUAHSearch"": " + auto.PriceUAHSearch + @"";

            string boolValue = "false";

            if (auto.IsExchangeAvailable)
            {
                boolValue = "true";
            }
            postData += @",""IsExchangeAvailable"": " + boolValue;

            boolValue = "false";
            if (auto.IsTorgAvailable)
            {
                boolValue = "true";
            }
            postData += @",""IsTorgAvailable"": " + boolValue;

            if (auto.TransmissionTypeID != null)
            {
                name      = AutoTransmissionTypeService.GetByID((int)auto.TransmissionTypeID).Name;
                fullInfo += name + " ";
                postData += @"
                    ,""AutoTransmissionType"": {
                        ""ID"": " + auto.TransmissionTypeID + @",
                        ""Name"": """ + name + @"""
                    }";
            }

            if (auto.DriveTypeID != null)
            {
                name      = AutoDriveTypeService.GetByID((int)auto.DriveTypeID).Name;
                fullInfo += name + " ";
                postData += @"
                    ,""AutoDriveType"": {
                        ""ID"": " + auto.DriveTypeID + @",
                        ""Name"": """ + name + @"""
                    }";
            }

            if (auto.NumberOfDoors != null)
            {
                postData += @",""NumberOfDoors"": " + auto.NumberOfDoors + @"";
            }

            if (auto.NumberOfSeats != null)
            {
                postData += @",""NumberOfSeats"": " + auto.NumberOfSeats + @"";
            }

            if (auto.ColorID != null)
            {
                name      = AutoColorService.GetByID((int)auto.ColorID).Name;
                fullInfo += name + " ";
                postData += @"
                    ,""AutoColor"": {
                        ""ID"": " + auto.ColorID + @",
                        ""Name"": """ + name + @"""
                    }";
            }

            boolValue = "false";
            if (auto.IsColorMetallic)
            {
                boolValue = "true";
            }
            postData += @",""IsColorMetallic"": " + boolValue;

            if (auto.FuelTypeID != null)
            {
                name      = AutoFuelTypeService.GetByID((int)auto.FuelTypeID).Name;
                fullInfo += name + " ";
                postData += @"
                    ,""AutoFuelType"": {
                        ""ID"": " + auto.FuelTypeID + @",
                        ""Name"": """ + name + @"""
                    }";
            }

            if (auto.FuelConsumptionCity != null)
            {
                string tmpDoubleVar = auto.FuelConsumptionCity.ToString();
                tmpDoubleVar = tmpDoubleVar.Replace(',', '.');
                postData    += @",""FuelConsumptionCity"": " + tmpDoubleVar + @"";
            }


            if (auto.FuelConsumptionHighway != null)
            {
                string tmpDoubleVar = auto.FuelConsumptionHighway.ToString();
                tmpDoubleVar = tmpDoubleVar.Replace(',', '.');
                postData    += @",""FuelConsumptionHighway"": " + tmpDoubleVar + @"";
            }

            if (auto.FuelConsumptionMixed != null)
            {
                string tmpDoubleVar = auto.FuelConsumptionMixed.ToString();
                tmpDoubleVar = tmpDoubleVar.Replace(',', '.');
                postData    += @",""FuelConsumptionMixed"": " + tmpDoubleVar + @"";
            }

            if (auto.EngineCapacity != null)
            {
                string tmpDoubleVar = auto.EngineCapacity.ToString();
                tmpDoubleVar = tmpDoubleVar.Replace(',', '.');
                postData    += @",""EngineCapacity"": " + tmpDoubleVar + @"";
            }

            if (auto.Power != null)
            {
                postData += @",""Power"": " + auto.Power + @"";
            }


            if (!string.IsNullOrWhiteSpace(auto.Description))
            {
                fullInfo += auto.Description + " ";
                postData += @",""Description"": """ + auto.Description + @"""";
            }


            postData += @",""Views"": " + auto.Views + @"";

            if (auto.AutoSecurities != null && auto.AutoSecurities.Count > 0)
            {
                postData += @", ""AutoSecurities"": [";
                int i = 0;
                foreach (var item in auto.AutoSecurities)
                {
                    if (i > 0)
                    {
                        postData += ",";
                    }
                    //postData += @"{""ID"": " + item.ID + @", ""Name"": """ + item.Name + @"""}";
                    postData += item.ID;
                    i++;
                }
                postData += @"]";
            }

            if (auto.AutoComforts != null && auto.AutoComforts.Count > 0)
            {
                postData += @", ""AutoComforts"": [";
                int i = 0;
                foreach (var item in auto.AutoComforts)
                {
                    if (i > 0)
                    {
                        postData += ",";
                    }
                    //postData += @"{""ID"": " + item.ID + @", ""Name"": """ + item.Name + @"""}";
                    postData += item.ID;
                    i++;
                }
                postData += @"]";
            }

            if (auto.AutoMultimedias != null && auto.AutoMultimedias.Count > 0)
            {
                postData += @", ""AutoMultimedias"": [";
                int i = 0;
                foreach (var item in auto.AutoMultimedias)
                {
                    if (i > 0)
                    {
                        postData += ",";
                    }
                    //postData += @"{""ID"": " + item.ID + @", ""Name"": """ + item.Name + @"""}";
                    postData += item.ID;
                    i++;
                }
                postData += @"]";
            }

            if (auto.AutoStates != null && auto.AutoStates.Count > 0)
            {
                postData += @", ""AutoStates"": [";
                int i = 0;
                foreach (var item in auto.AutoStates)
                {
                    if (i > 0)
                    {
                        postData += ",";
                    }
                    //postData += @"{""ID"": " + item.ID + @", ""Name"": """ + item.Name + @"""}";
                    postData += item.ID;
                    i++;
                }
                postData += @"]";
            }

            if (auto.AutoMiscs != null && auto.AutoMiscs.Count > 0)
            {
                postData += @", ""AutoMiscs"": [";
                int i = 0;
                foreach (var item in auto.AutoMiscs)
                {
                    if (i > 0)
                    {
                        postData += ",";
                    }
                    //postData += @"{""ID"": " + item.ID + @", ""Name"": """ + item.Name + @"""}";
                    postData += item.ID;
                    i++;
                }
                postData += @"]";
            }

            postData += @",""Top"": " + auto.Top;

            postData += @",""FullInfo"": """ + fullInfo + @"""";

            if (additionalFields != null)
            {
                string quot = "";
                foreach (var item in additionalFields)
                {
                    quot = @"""";
                    if (item.Item3 == "int" || item.Item3 == "bool")
                    {
                        quot = @"";
                    }
                    postData += @",""" + item.Item1 + @""" : " + quot + @"" + item.Item2 + quot;
                }
            }

            postData += @"
            }";

            return(postData);
        }