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 }
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); }
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")); }
/*---------------------------------------------------------------------------------------------------------*/ /*---------------------------------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)); }
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); }
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; }