private void AddLogo()
        {
            Dictionary <string, int> viewAndDoors = new Dictionary <string, int>()
            {
                { "ViewA", ListColorVMA.ToList().FindAll(x => x is VMSchemeElement).FindAll(x => (x as VMSchemeElement)?.Name.IndexOf("Дверь") > -1).Count },
                { "ViewB", ListColorVMB.ToList().FindAll(x => x is VMSchemeElement).FindAll(x => (x as VMSchemeElement)?.Name.IndexOf("Дверь") > -1).Count },
                { "ViewV", ListColorVMV.ToList().FindAll(x => x is VMSchemeElement).FindAll(x => (x as VMSchemeElement)?.Name.IndexOf("Дверь") > -1).Count },
                { "ViewG", ListColorVMG.ToList().FindAll(x => x is VMSchemeElement).FindAll(x => (x as VMSchemeElement)?.Name.IndexOf("Дверь") > -1).Count }
            };
            VMSelectLogo vmSelectLogo = new VMSelectLogo(viewAndDoors);
            SelectLogo   slg          = new SelectLogo(vmSelectLogo);

            slg.Closing += Slg_Closing;

            vmSelectLogo.ToastNotificationTools.Dispatcher = slg.Dispatcher;
            slg.ShowDialog();
            LogoVM lg = vmSelectLogo.GetLogo();

            vmSelectLogo.ListLogo.Clear();
            if (lg == null)
            {
                return;
            }
            PaintLogo(lg);

            //vmSelectLogo.SelectedItemLogo
        }
Example #2
0
        public void SaveLogo(LogoVM logoVM, HttpRequestBase request)
        {
            bool footer = request.Form["layout"].ToLower().Equals("footer");
            bool header = request.Form["layout"].ToLower().Equals("header");

            int?   surveyorId        = logoVM.Surveyor;
            string imageBase64String = GetBase64ImageString(logoVM);

            SaveLogoByLayout(surveyorId, imageBase64String, header, footer);
        }
Example #3
0
        public ActionResult Save(LogoVM logoVM)
        {
            try
            {
                _adminService.SaveLogo(logoVM, Request);
                TempData["Status"] = "Logo has been Saved";

                return(RedirectToAction("Index", "Admin", TempData["Status"]));
            }
            catch (Exception ex)
            {
                LoggerService.LogException(ex);
            }

            return(RedirectToAction("Index", "Admin"));
        }
Example #4
0
        /*---------------------------------------------------------------------------------------------------------*/
        /*---------------------------------Logo API!!!-------------------------------------------------*/

        public IActionResult Logo(string symbol)
        {
            //Set ViewBag variable first
            ViewBag.dbSuccessChart = 0;
            Logo logos = new Logo();

            if (symbol != null)
            {
                logos = GetLogos(symbol);
            }

            LogoVM LogoViewModel = getLogoVM(logos);

            ViewData["Logo"] = LogoViewModel;

            return(View(LogoViewModel));
        }
Example #5
0
        public static async Task <LogoVM> getSymbolLogoAsync(string symbol)
        {
            LogoVM LogoUrl = null;
            var    apiUrl  = "https://api.iextrading.com/1.0/stock/{0}/logo";

            apiUrl = string.Format(apiUrl, symbol);
            using (HttpClient client = new HttpClient())
            {
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                client.BaseAddress = new Uri(apiUrl);
                HttpResponseMessage result = await client.GetAsync(apiUrl);

                if (result.IsSuccessStatusCode)
                {
                    LogoUrl = await result.Content.ReadAsAsync <LogoVM>();
                }
            }
            return(LogoUrl);
        }
Example #6
0
        private static string GetBase64ImageString(LogoVM myViewModel)
        {
            byte[] imageBytes;

            using (Stream inputStream = myViewModel.File.InputStream)
            {
                MemoryStream memoryStream = inputStream as MemoryStream;

                if (memoryStream == null)
                {
                    memoryStream = new MemoryStream();
                    inputStream.CopyTo(memoryStream);
                }

                imageBytes = memoryStream.ToArray();
            }

            string imageBase64String = Convert.ToBase64String(imageBytes);

            return(imageBase64String);
        }
        private void PaintLogo(LogoVM lg)
        {
            List <string> listLogoView = new List <string> {
                "А", "Б", "В", "Г"
            };
            List <ObservableCollection <BaseDrawClass> > listCollection = new List <ObservableCollection <BaseDrawClass> >()
            {
                ListColorVMA, ListColorVMB, ListColorVMV, ListColorVMG
            };
            List <ObservableCollection <FrameworkElement> > listCollectionElement = new List <ObservableCollection <FrameworkElement> >()
            {
                ListColorElementA, ListColorElementB, ListColorElementV, ListColorElementG
            };

            var numberView = listLogoView.Select((item, index) => new { item, index })
                             .Where(ix => ix.item == lg.View)
                             .Select(ix => ix.index)
                             .FirstOrDefault();
            var listVM      = listCollection[numberView];
            var listElement = listCollectionElement[numberView];

            if (lg.TypeLogo == "Стена")
            {
                int xCord    = 0;
                int yCord    = 0;
                var wall     = listVM.ToList().Find(x => x.Name == "Стена");
                var NachUp   = listVM.ToList().Find(x => x.Name == "Нащельник верхний");
                var up       = NachUp.Y + NachUp.Height / Constants.MainScale;
                var nachDown = listVM.ToList().Find(x => x.Name == "Нащельник нижний");
                var down     = nachDown.Y;

                if (lg.IsCentre)
                {
                    var xpol = (down - up) / 2 + up;
                    xCord = (int)((wall.Width * Constants.MainScale) / 2 - lg.Width / 2) / Constants.MainScale;

                    yCord = (int)xpol - (lg.Height / 2) / Constants.MainScale;
                }
                else
                {
                    xCord = (lg.LeftSize + 170) / Constants.MainScale;
                    yCord = (int)down - (lg.Height + lg.DownSize) / Constants.MainScale;
                }
                var sizeUpWidth = NachUp.Y + NachUp.Height;
                var sizeUp      =
                    new VMSizeBlock(
                        $"{(nachDown.Y - (yCord + lg.Height / Constants.MainScale)) * Constants.MainScale}",
                        xCord,
                        yCord + lg.Height / Constants.MainScale - 2,
                        (nachDown.Y - (yCord + lg.Height / Constants.MainScale)) * Constants.MainScale + 10,
                        40,
                        Rotation.D270,
                        "Логотип движение");

                var sizeLeft =
                    new VMSizeBlock(
                        $"{xCord * Constants.MainScale}",
                        190 / Constants.MainScale,
                        yCord,
                        (xCord) * Constants.MainScale - 170,
                        40,
                        Rotation.D0,
                        "Логотип движение");
                var vmLogo = new VMLogoPlace(xCord, yCord, lg.Width, lg.Height, lg.ImageLogo, listVM, listElement, false, new List <BaseDrawClass>()
                {
                    sizeUp, sizeLeft
                });
                vmLogo.MyWindow = _mainBlockViewModel;
                addElement(sizeUp, listVM, listElement);
                addElement(sizeLeft, listVM, listElement);
                addElement(vmLogo, listVM, listElement);
            }
            else
            {
                int xCord = 0;
                int yCord = 0;
                var door  = listVM.ToList().FindAll(x => x.Name.IndexOf("Дверь") > -1)[lg.CountDoor];

                if (lg.IsCentre)
                {
                    var up   = door.Y;
                    var down = door.Y + door.Height;
                    var xpol = (down - up) / 2 + up;

                    xCord = (int)(((door.X + door.Width / 2) * Constants.MainScale) - lg.Width / 2) / Constants.MainScale;
                    yCord = (int)xpol - (lg.Height / 2) / Constants.MainScale;
                }
                else
                {
                    xCord = (int)door.X + lg.LeftSize / Constants.MainScale;
                    yCord = (int)((door.Y + door.Height) * Constants.MainScale - lg.Height - lg.DownSize) / Constants.MainScale;
                }

                var sizeUp =
                    new VMSizeBlock(
                        $"{(door.Y+door.Height - (yCord + lg.Height / Constants.MainScale)) * Constants.MainScale}",
                        xCord,
                        yCord + lg.Height / Constants.MainScale - 2,
                        (door.Y + door.Height - (yCord + lg.Height / Constants.MainScale)) * Constants.MainScale + 10,
                        40,
                        Rotation.D270,
                        "Логотип движение");

                var sizeLeft =
                    new VMSizeBlock(
                        $"{xCord * Constants.MainScale}",
                        door.X,
                        yCord,
                        (xCord - door.X) * Constants.MainScale,
                        40,
                        Rotation.D0,
                        "Логотип движение",
                        true);

                var vmLogo = new VMLogoPlace(xCord, yCord, lg.Width, lg.Height, lg.ImageLogo, listVM, listElement, true, new List <BaseDrawClass>()
                {
                    sizeUp, sizeLeft
                });
                vmLogo.MyWindow = _mainBlockViewModel;
                addElement(sizeUp, listVM, listElement);
                addElement(sizeLeft, listVM, listElement);
                addElement(vmLogo, listVM, listElement);
            }
        }
        public void GoRepaintCorp()
        {
            List <ObservableCollection <BaseDrawClass> > listCollection = new List <ObservableCollection <BaseDrawClass> >()
            {
                ListColorVMA, ListColorVMB, ListColorVMV, ListColorVMG
            };
            List <ObservableCollection <FrameworkElement> > listCollectionElement = new List <ObservableCollection <FrameworkElement> >()
            {
                ListColorElementA, ListColorElementB, ListColorElementV, ListColorElementG
            };

            listCollection.ForEach(listColorVM =>
            {
                var numberView = listCollection.Select((item, index) => new { item, index })
                                 .Where(ix => ix.item == listColorVM)
                                 .Select(ix => ix.index)
                                 .FirstOrDefault();
                listColorVM.ToList().FindAll(x => (x is VMLogoPlace) || (x.Name == "polosa")).ForEach(x =>
                {
                    listCollectionElement[numberView].Remove(x.ParentEl);
                    listColorVM.Remove(x);
                });
            });

            Mouse.OverrideCursor = Cursors.Wait;
            DataClass dc          = new DataClass("KontinentDBEntity.db");
            DataTable dtCorpColor = dc.SelectQuery($"select * from CorporateColors Where NameColorScheme='{_toolBarView.SelectCorpColor}'");
            DataTable dt          = dc.SelectQuery("select * from _colorRGB");
            var       colorList   = dt.AsEnumerable().ToList();
            var       corpColor   = dtCorpColor.AsEnumerable().ToList();
            Dictionary <string, string> dictPairsColor = new Dictionary <string, string>
            {
                { "Крыша (фронтон)", "RoofFront" },
                { "Крыша (профлист)", "RoofProf" },
                { "Нащельник верхний", "NachUp" },
                { "Нащельник нижний", "NachDown" },
                { "Дверная коробка", "DoorUvn" },
                { "Дверь УВН, УНН", "DoorUvn" },
                { "Основание", "Osn" },
                { "Трансформаторные ворота", "RoofFront" },
                { "Решетка вентиляции", "Vent" },
                { "Дверь тр-ого отсека", "DoorTrans" },
                { "Стена", "Wall" },
                { "Стойки", "Stoik" },
            };


            dictDefaultColor.Keys
            .ToList()
            .ForEach(key =>
            {
                var color          = Convert.ToInt32(corpColor.FirstOrDefault()[dictPairsColor[key]].ToString());
                var curentColor    = colorList.Find(x => x["nameInRAL"].ToString() == color.ToString());
                dictColorElem[key] = color;
                reverseBackGroundElement(curentColor, listCollection, key);
            });

            DataTable dtLogo = dc.SelectQuery($"select * from Logoes Where Id = {corpColor.FirstOrDefault()["LogoId"]}");
            var       logo   = dtLogo.AsEnumerable().ToList().FirstOrDefault();

            LogoVM lg = new LogoVM()
            {
                View      = "Б",
                TypeLogo  = "Стена",
                IsCentre  = true,
                ImageLogo = ImageFromBuffer(Convert.FromBase64String(logo["ImageString"].ToString())),
                Width     = Convert.ToInt32(logo["WidthLogo"].ToString()),
                Height    = Convert.ToInt32(logo["HeightLogo"].ToString())
            };

            PaintLogo(lg);
            Mouse.OverrideCursor = null;
            return;
        }