/// <summary> /// Saving Image under Categories. /// I have another SQL connection in ImageDal named "DeleteImage" That can DeleteImage and Category /// if no images left in the Category, i was unsure where to place it, but its in ImageDAL. /// This Method however binds 1 image Toward 1 category for eatch call. I repeadely call this Stored procedure to bind image to serveral categories if its choosed. /// </summary> /// <param name="imageDesc"></param> public void SaveImageDesc(ImageDesc imageDesc) { using (SqlConnection conn = CreateConnection()) { try { SqlCommand cmd = new SqlCommand("AppSchema.SaveImageDesc", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@ImageID", SqlDbType.Int, 4).Value = imageDesc.ImageID; cmd.Parameters.Add("@CategoryID", SqlDbType.Int, 4).Value = imageDesc.CategoryID; cmd.Parameters.Add("@Edited", SqlDbType.DateTime2).Value = imageDesc.Edited; cmd.Parameters.Add("@ImgName", SqlDbType.VarChar, 20).Value = imageDesc.ImgName; cmd.Parameters.Add("@ImgDescID", SqlDbType.Int, 4).Direction = ParameterDirection.Output; conn.Open(); cmd.ExecuteNonQuery(); // Returning last created Imadesc as out parameter, Currently not used in aplication. imageDesc.ImgDescID = (int)cmd.Parameters["@ImgDescID"].Value; } catch { throw new ApplicationException("Fel inträffade i DAL vid Sparande av ImageDesc"); } } }
/// <summary> /// Method to Update Imagedesc, by send ImageDesc object. /// </summary> /// <param name="imagedesc"></param> public void UpdateImageDesc(ImageDesc imagedesc) { try { using (SqlConnection conn = CreateConnection()) { SqlCommand cmd = new SqlCommand("AppSchema.UpdateImageDesc", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@ImageID", SqlDbType.SmallInt, 4).Value = imagedesc.ImageID; cmd.Parameters.Add("@ImgName", SqlDbType.VarChar, 20).Value = imagedesc.ImgName; cmd.Parameters.Add("@CategoryID", SqlDbType.SmallInt, 4).Value = imagedesc.CategoryID; // Best choise would be set valute to Edited property in Code behind, by getting Imaagedesc from database by send in ImageID and CategoryID // and then set value in code behind but i did't have time. cmd.Parameters.Add("@Edited", SqlDbType.DateTime2).Value = imagedesc.Edited; conn.Open(); cmd.ExecuteNonQuery(); } } catch { throw new ApplicationException("Ett fel har skett i DAL när bild skulle uppdateras."); } }
private static ImageImp LoadImage(ImageDesc imageDesc) { var imagePath = CStoreScp.GetImageUri(imageDesc.SeriesInstanceUid, imageDesc.SopInstanceUid); if (!File.Exists(imagePath)) { return(null); } var dicomFile = DicomFile.Open(imagePath); return(dicomFile.CreateImage()); }
/// <summary> /// Method to Upload image reference on server and save on disk. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void UploadButton_Click(object sender, EventArgs e) { // Have Onservervalidate="CustomValidator_ServerValidate" on my checkboxlist so need to have ISValid to prevent from saving file. if (IsValid) { if (ModelState.IsValid) { try { // Catching stream and extension from filename. from Select button. var selectedPic = Select.FileContent; var extension = Path.GetExtension(Select.FileName); // Creating Image Reference object and populating it.. var image = ImageProp; // Name selected by user from Textbox. image.UpLoaded = DateTime.Now; //Generating "Uniqe" filename, but removing extension and also adding selecte.filename extension instead. image.SaveName = String.Format("{0}{1}", Path.GetFileNameWithoutExtension(Path.GetRandomFileName()), extension); // Saving Image Stream and image saveName onto disk. image.SaveImage(selectedPic, image.SaveName); // Saving the new picture with its properties, from stored procedure i return the newly created Image primary key. Service.SaveImage(image); // Creating a foreach loop that convert all checkbox items into listitem then for eatch selected checkbox make a SQL call binding the image to that category. var imagedesc = new ImageDesc(); foreach (var item in CheckBoxLisT.Items.Cast <ListItem>().Where(item => item.Selected)) { // TODO: här e jag. imagedesc = new ImageDesc(); imagedesc.CategoryID = int.Parse(item.Value); imagedesc.ImageID = image.ImageID; imagedesc.Edited = DateTime.Now; imagedesc.ImgName = PictureName.Text; Service.SaveImageDesc(imagedesc); } // Message saved in Extension method and redirect to last saved Category. Page.SetTempData("Confirmation", String.Format("Bilden {0} har sparats", imagedesc.ImgName)); Response.RedirectToRoute("ImageList", new { CategoryID = imagedesc.CategoryID }); Context.ApplicationInstance.CompleteRequest(); } catch (Exception) { ModelState.AddModelError(String.Empty, "Fel inträffade när bild skulle Sparas."); } } } }
public async Task LoadPhraseMicroservice(string s) { PhraseEn = s; var cli = new HttpClient(); var ress = await cli.GetStringAsync($"http://botsf.northeurope.cloudapp.azure.com:8983/api/values?locale={Lang}&text={Uri.EscapeUriString(PhraseEn)}"); dynamic res = Newtonsoft.Json.JsonConvert.DeserializeObject(ress); Image = new ImageDesc() { Url = res.ImageUrl, ThumbnailUrl = res.ImageUrl }; Phrase = res.ResultText; }
public async Task LoadPhrase(string s) { PhraseEn = s; if (Lang == "en") { Phrase = PhraseEn; } else { var tr = new SimpleTranslator(Config.BingTranslatorAppId, Config.BingTranslatorAppKey); Phrase = await tr.Translate(s, "en", Lang); } var ims = new ImageSearch(Config.BingImgSearchApiKey); var res = await ims.Search(Phrase, 50); Image = (from z in res where z.Width < 400 && z.Width > 200 where z.EncodingFormat == "jpeg" select z).FirstOrDefault(); }
Image addImage(int width, int height) { if (Image == null) { return(null); } Image img; try { img = ImageScaler.ScaleImage(width, height, Image); } catch (OutOfMemoryException) { return(null); } if (img == null) { return(null); } if (img == Image) { return(null); } ImageDesc desc = new ImageDesc(); desc.Width = width; desc.Height = height; desc.Image = img; mImages.Add(desc); mImage.Dispose(); mImage = null; return(img); }