/// <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.");
            }
        }
Exemplo n.º 3
0
        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.");
                    }
                }
            }
        }
Exemplo n.º 5
0
        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;
        }
Exemplo n.º 6
0
        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();
        }
Exemplo n.º 7
0
        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);
        }
        /// <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.");
            }
        }
        /// <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");
                }

            }
        }