public int Create(CarAddVM model)
        {
            var http = (HttpWebRequest)WebRequest.Create(new Uri(_url));

            http.Accept      = "application/json";
            http.ContentType = "application/json";
            http.Method      = "POST";

            string       parsedContent = JsonConvert.SerializeObject(model);
            UTF8Encoding encoding      = new UTF8Encoding();

            Byte[] bytes     = encoding.GetBytes(parsedContent);
            Stream newStream = http.GetRequestStream();

            newStream.Write(bytes, 0, bytes.Length);
            newStream.Close();
            var response = http.GetResponse();
            var stream   = response.GetResponseStream();
            var sr       = new StreamReader(stream);
            var content  = sr.ReadToEnd();

            return(int.Parse(content.ToString()));
        }
 public Task <int> CreateAsync(CarAddVM model)
 {
     return(Task.Run(() => Create(model)));
 }
Ejemplo n.º 3
0
        public IActionResult Create([FromBody] CarAddVM model)
        {
            if (!ModelState.IsValid)
            {
                var errors = CustomValidator.GetErrorsByModel(ModelState);
                return(BadRequest(errors));
            }
            string dirName     = "images";
            string dirPathSave = Path.Combine(dirName, model.UniqueName);

            if (!Directory.Exists(dirPathSave))
            {
                Directory.CreateDirectory(dirPathSave);
            }
            var    bmp       = model.MainImage.FromBase64StringToImage();
            var    imageName = model.UniqueName;
            string fileSave  = Path.Combine(dirPathSave, $"{imageName}");

            var bmpOrigin = new System.Drawing.Bitmap(bmp);

            string[] imageNames = { $"50_" + imageName + ".jpg",
                                    $"100_" + imageName + ".jpg",
                                    $"300_" + imageName + ".jpg",
                                    $"600_" + imageName + ".jpg",
                                    $"1280_" + imageName + ".jpg" };

            Bitmap[] imageSave = { ImageWorker.CreateImage(bmpOrigin,   50,  50),
                                   ImageWorker.CreateImage(bmpOrigin,  100, 100),
                                   ImageWorker.CreateImage(bmpOrigin,  300, 300),
                                   ImageWorker.CreateImage(bmpOrigin,  600, 600),
                                   ImageWorker.CreateImage(bmpOrigin, 1280, 1280) };

            for (int i = 0; i < imageNames.Count(); i++)
            {
                var imageSaveEnd = System.IO.Path.Combine(dirPathSave, imageNames[i]);
                imageSave[i].Save(imageSaveEnd, System.Drawing.Imaging.ImageFormat.Jpeg);
            }

            dirPathSave = Path.Combine(dirName, model.UniqueName, "Photo");
            if (!Directory.Exists(dirPathSave))
            {
                Directory.CreateDirectory(dirPathSave);
            }
            for (int i = 0; i < model.AdditionalImage.Count; i++)
            {
                bmp      = model.AdditionalImage[i].FromBase64StringToImage();
                fileSave = Path.Combine(dirPathSave);

                bmpOrigin = new System.Drawing.Bitmap(bmp);
                string[] imageNamess = { $"50_{i+1}_" + imageName + ".jpg",
                                         $"100_{i+1}_" + imageName + ".jpg",
                                         $"300_{i+1}_" + imageName + ".jpg",
                                         $"600_{i+1}_" + imageName + ".jpg",
                                         $"1280_{i+1}_" + imageName + ".jpg" };

                Bitmap[] imageSaves = { ImageWorker.CreateImage(bmpOrigin,   50,  50),
                                        ImageWorker.CreateImage(bmpOrigin,  100, 100),
                                        ImageWorker.CreateImage(bmpOrigin,  300, 300),
                                        ImageWorker.CreateImage(bmpOrigin,  600, 600),
                                        ImageWorker.CreateImage(bmpOrigin, 1280, 1280) };

                for (int j = 0; j < imageNamess.Count(); j++)
                {
                    var imageSaveEnd = System.IO.Path.Combine(dirPathSave, imageNamess[j]);
                    imageSaves[j].Save(imageSaveEnd, System.Drawing.Imaging.ImageFormat.Jpeg);
                }
            }
            var cars = _context.Cars.SingleOrDefault(p => p.UniqueName == model.UniqueName);

            if (cars == null)
            {
                Car car = new Car
                {
                    UniqueName = model.UniqueName,
                    Count      = model.Count,
                    Date       = model.Date,
                    Name       = model.Name,
                    Price      = model.Price
                };
                _context.Cars.Add(car);
                _context.SaveChanges();
                return(Ok(car.Id));
            }
            return(BadRequest(new { name = "Даний автомобіль вже добалений" }));
        }