Beispiel #1
0
        /// <summary>
        /// Reset copy command parameter to default value.
        /// </summary>
        public void ResetToDefaultValue()
        {
            bool bIsMetrice = dll.IsMetricCountry();

            m_scaling   = 100;
            m_scanMode  = EnumCopyScanMode.Photo;
            m_nin1      = EnumNin1._1up;
            m_dpi       = EnumCopyResln._300x300;
            m_mediaType = EnumMediaType.Plain;

            m_density = 2;
            chkBtnIDCardCopy.IsChecked = false;
            spinCtlCopies.Value        = 1;

            if (bIsMetrice)
            {
                m_docSize    = EnumPaperSizeInput._A4;
                m_outputSize = EnumPaperSizeOutput._A4;
            }
            else
            {
                m_docSize    = EnumPaperSizeInput._Letter;
                m_outputSize = EnumPaperSizeOutput._Letter;
            }
        }
Beispiel #2
0
        ///
        ///	 <summary> * calculates paper thickness from weight, if and only if weight exists but
        ///	 * not thickness
        ///	 *  </summary>
        ///	 * <param name="bLocal">
        ///	 *            if true, only evaluate locally set attributes in this
        ///	 *            partition, else check inherited attributes </param>
        ///	 * <param name="bRecurse">
        ///	 *            if true, do for all children, grandchildren rtc, else only
        ///	 *            local </param>
        ///
        public virtual void setThicknessFromWeight(bool bLocal, bool bRecurse)
        {
            EnumMediaType mT = getMediaType();

            if (!EnumMediaType.Paper.Equals(mT))
            {
                return; // only useful for paper
            }
            if (bRecurse)
            {
                VElement v    = getLeaves(true);
                int      size = v.Count;
                for (int i = 0; i < size; i++)
                {
                    ((JDFMedia)v[i]).setThicknessFromWeight(bLocal, false);
                }
            }
            else
            {
                string w = bLocal ? getAttribute_KElement(AttributeName.WEIGHT) : getAttribute(AttributeName.WEIGHT);
                if (isWildCard(w))
                {
                    return; // no weight to use
                }
                string t = bLocal ? getAttribute_KElement(AttributeName.THICKNESS) : getAttribute(AttributeName.THICKNESS);
                if (!isWildCard(t))
                {
                    return;                       // no weight to use
                }
                setThickness(getWeight() * 1.25); // assume average density of 0.8
                // g/cm^3
                // TODO improve calculation based on grade etc.
            }
        }
Beispiel #3
0
        private void cboMediaType_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ComboBoxItem selItem = cboMediaType.SelectedItem as ComboBoxItem;

            if (null != selItem && null != selItem.DataContext)
            {
                m_mediaType = (EnumMediaType)selItem.DataContext;
            }
        }
Beispiel #4
0
        private void btnDefault_Click(object sender, RoutedEventArgs e)
        {
            cboDocSize.Items.Clear();
            cboResolution.Items.Clear();
            cboOutputSize.Items.Clear();
            cboMediaType.Items.Clear();

            bool bIsMetrice = dll.IsMetricCountry();

            spinnerScaling.Value = 100;
            m_scanMode           = EnumCopyScanMode.Photo;

            if (bIsMetrice)
            {
                m_docSize    = EnumPaperSizeInput._A4;
                m_outputSize = EnumPaperSizeOutput._A4;
            }
            else
            {
                m_docSize    = EnumPaperSizeInput._Letter;
                m_outputSize = EnumPaperSizeOutput._Letter;
            }

            //if ( true == m_isIDCardCopy )
            //    m_outputSize = EnumPaperSizeOutput._A4;

            m_nin1      = EnumNin1._1up;
            m_dpi       = m_isIDCardCopy ? EnumCopyResln._600x600 : EnumCopyResln._300x300;
            m_mediaType = EnumMediaType.Plain;
            m_preNin1   = EnumNin1._2up;

            InitCboDocSize();
            InitCboResolution();
            InitCboOutputSize();
            InitCboMediaType();
            InitNin1();

            if (EnumCopyScanMode.Text == m_scanMode)
            {
                rdBtnScanModeTxt.IsChecked   = true;
                rdBtnScanModePhoto.IsChecked = false;
            }
            else if (EnumCopyScanMode.Photo == m_scanMode)
            {
                rdBtnScanModeTxt.IsChecked   = false;
                rdBtnScanModePhoto.IsChecked = true;
            }

            chkpopupIDCard.IsChecked = true;
            chkpopupNIn1.IsChecked   = true;
        }
Beispiel #5
0
        private static UpLoadInfo WxUpLoad(string filepath, string token, EnumMediaType mt)
        {
            using (WebClient client = new WebClient())
            {
                //https://qyapi.weixin.qq.com/cgi-bin/material/add_material?agentid=AGENTID&type=TYPE&access_token=ACCESS_TOKEN
                byte[] b = client.UploadFile(string.Format("https://qyapi.weixin.qq.com/cgi-bin/material/add_material?agentid=5&access_token={0}&type={1}", token, mt.ToString()), filepath); //调用接口上传文件
                //byte[] b = client.UploadFile(string.Format("https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token={0}&type={1}", token, mt.ToString()), filepath);//调用接口上传文件
                string retdata = Encoding.Default.GetString(b);                                                                                                                               //获取返回值

                if (retdata.Contains("media_id"))                                                                                                                                             //判断返回值是否包含media_id,包含则说明上传成功,然后将返回的json字符串转换成json
                {
                    return(JsonConvert.DeserializeObject <UpLoadInfo>(retdata));
                }
                else
                {//否则,写错误日志
                    //WriteBug(retdata);//写错误日志
                    return(null);
                }
            }
        }
Beispiel #6
0
        /// <summary>
        /// 上传临时素材文件
        /// </summary>
        /// <param name="filepath"></param>
        /// <param name="token"></param>
        /// <param name="mt"></param>
        /// <returns></returns>
        public UploadResponse Upload(string filepath, string token, EnumMediaType mt)
        {
            using (WebClient client = new WebClient())
            {
                string retdata = string.Empty;

                var cacheValue = CacheHelper.GetCache("file" + filepath);
                if (cacheValue != null)
                {
                    retdata = CacheHelper.GetCache("file" + filepath).ToString();
                }

                if (string.IsNullOrEmpty(retdata))
                {
                    byte[] b = client.UploadFile(string.Format("https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token={0}&type={1}", token, mt.ToString()), filepath); //调用接口上传文件
                    retdata = Encoding.Default.GetString(b);                                                                                                                   //获取返回值
                }
                if (retdata.Contains("40001"))
                {
                    CacheHelper.RemoveAllCache("file" + filepath);
                    CacheHelper.RemoveAllCache("AccessToken" + str_corpid);                                                                                                                                                  //过期移除缓存,这样会重新去请求获取token
                    byte[] b = client.UploadFile(string.Format("https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token={0}&type={1}", TokenBiz.GetAccessToken(str_corpid, str_corpsecret), mt.ToString()), filepath); //调用接口上传文件
                    retdata = Encoding.Default.GetString(b);                                                                                                                                                                 //获取返回值
                }

                if (retdata.Contains("media_id"))//判断返回值是否包含media_id,包含则说明上传成功,然后将返回的json字符串转换成json
                {
                    CacheHelper.SetCache("file" + filepath, retdata, new TimeSpan(8, 0, 0));
                    return(JsonConvert.DeserializeObject <UploadResponse>(retdata));
                }
                else
                {  //否则,写错误日志
                    _SendLog.WriteLog(retdata);
                    return(null);
                }
            }
        }
Beispiel #7
0
        private void SettingBtnClick(object sender, RoutedEventArgs e)
        {
            CopySetting win = new CopySetting();

            if (true == chkBtnIDCardCopy.IsChecked)
            {
                win.m_isIDCardCopy = true;
                ResetValueForIDCardCopy();
            }

            win.Owner = m_MainWin;

            win.spinnerScaling.Value = m_scaling;
            win.m_scanMode           = m_scanMode;
            win.m_docSize            = m_docSize;
            win.m_outputSize         = m_outputSize;
            win.m_nin1      = m_nin1;
            win.m_dpi       = m_dpi;
            win.m_mediaType = m_mediaType;

            win.m_popupDlgIDCardCopy = m_MainWin.m_popupIDCard;
            win.m_popupDlgNIn1Copy   = m_MainWin.m_popupNIn1;

            if (true == win.ShowDialog())
            {
                m_scaling    = (ushort)win.spinnerScaling.Value;
                m_scanMode   = win.m_scanMode;
                m_docSize    = win.m_docSize;
                m_outputSize = win.m_outputSize;
                m_nin1       = win.m_nin1;
                m_dpi        = win.m_dpi;
                m_mediaType  = win.m_mediaType;

                m_MainWin.m_popupIDCard = win.m_popupDlgIDCardCopy;
                m_MainWin.m_popupNIn1   = win.m_popupDlgNIn1Copy;
            }
        }
        public async Task <ICollection <String> > UploadMedia(IOptions <UploadOptions> uploadOptions, IOptions <ConnectionOptions> connexionOptions, EnumMediaType key, IFormFileCollection files)
        {
            var    options       = uploadOptions.Value;
            string directoryPath = null;
            string keyUrl        = null;
            ICollection <string> allowedExtensions = new List <string>();

            if (key == EnumMediaType.Image)
            {
                keyUrl            = "image";
                directoryPath     = options.MediaImage;
                allowedExtensions = options.ExtensionsImage.Split(',');
            }
            else if (key == EnumMediaType.Audio)
            {
                keyUrl            = "audio";
                directoryPath     = options.MediaAudio;
                allowedExtensions = options.ExtensionsAudio.Split(',');
            }

            if (!Directory.Exists(directoryPath))
            {
                Directory.CreateDirectory(directoryPath);
            }
            try
            {
                ICollection <string> filenames = new List <string>();
                foreach (var file in files)
                {
                    string filePath = null;
                    string url      = null;
                    var    fileExt  = System.IO.Path.GetExtension(file.FileName).Substring(1);
                    string filename = $"{Guid.NewGuid()}_{file.FileName.Replace(" ", "-")}";
                    if (allowedExtensions.Any(x => x == fileExt))
                    {
                        if (file.Length > 0)
                        {
                            filePath = Path.Combine(directoryPath, filename);
                            filePath = filePath.Replace("\\", "/");
                            using (var fileStream = new FileStream(filePath, FileMode.Create))
                            {
                                await file.CopyToAsync(fileStream);
                            }
                            url = $"{connexionOptions.Value.Api}/{keyUrl}/{filename}";
                            filenames.Add(url);
                        }
                        else
                        {
                            throw new Exception("No content");
                        }
                    }
                    else
                    {
                        throw new Exception("Unreconized media type");
                    }
                }
                return(filenames);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #9
0
        public async Task <Question> UpdateQuestion(Question question, IFormFileCollection files, EnumMediaType mediaType)
        {
            ICollection <string> pathFiles = await _uploadService.UploadMedia(_uploadOptions, _connexionOptions, mediaType, files);

            foreach (var path in pathFiles)
            {
                MediaQuestion media = new MediaQuestion();
                media.Url       = path;
                media.MediaType = mediaType;
                question.MediaQuestions.Add(media);
            }
            question.Propositions = question.Propositions;
            await _repository.UpdateQuestion(question);

            return(question);
        }