public override bool ProcessAnswer(IGAnswer answer) { string sLogin = answer.GetAttributeValue(IGREQUEST_USERLOGIN); string sFrameId = answer.GetParameterValue(IGREQUEST_FRAMEID); string sImageOutputPath = answer.GetParameterValue(IGREQUEST_PATH); sImageOutputPath = sImageOutputPath.Substring(0, sImageOutputPath.LastIndexOf('\\') + 1) + HC.PATH_LASTSAVEDPICTURE; if (!File.Exists(sImageOutputPath)) return false; string sImagePath = GetParameterValue(IGREQUEST_PATH); string sImagePathJPEG = sImagePath.Remove(sImagePath.Length - Path.GetExtension(sImagePath).Length) + "$" + GetAttributeValue(IGREQUEST_GUID) + ".JPG"; string sAccountMiniImagePath = HC.PATH_USERACCOUNT + sLogin + HC.PATH_USERMINI + HC.PATH_PREFIXMINI + sImagePath; Image imgInput = Image.FromFile(sImageOutputPath); float fRate = HC.MINIPICTURE_MAXSIZE / (float)Math.Max(imgInput.Size.Width, imgInput.Size.Height); Image imgMini = new Bitmap(imgInput, new Size((int)((float)imgInput.Size.Width * fRate), (int)((float)imgInput.Size.Height * fRate))); imgMini.Save(sAccountMiniImagePath, ImageFormat.Jpeg); imgMini.Save(HC.PATH_OUTPUT + sLogin + HC.PATH_OUTPUTMINI + HC.PATH_PREFIXMINI + sImagePathJPEG, ImageFormat.Jpeg); answer.SetParameter(IGREQUEST_SIZE, imgMini.Width.ToString() + "," + imgMini.Height.ToString()); return true; }
public override void GetParams(IGAnswer answer, HttpSessionState session) { SetParameter(IGAnswer.IGANSWER_RESTOREDFRAMEIDS, (string)session[IGAnswer.IGANSWER_RESTOREDFRAMEIDS]); SetParameter(IGAnswer.IGANSWER_FRAMENAMES, (string)session[IGAnswer.IGANSWER_FRAMENAMES]); SetParameter(IGAnswer.IGANSWER_REQGUIDS, (string)session[IGAnswer.IGANSWER_REQGUIDS]); SetParameter(IGAnswer.IGANSWER_ALLNBLAYERS, (string)session[IGAnswer.IGANSWER_ALLNBLAYERS]); SetParameter(IGAnswer.IGANSWER_ALLLAYERVISIBILITY, (string)session[IGAnswer.IGANSWER_ALLLAYERVISIBILITY]); SetParameter(IGAnswer.IGANSWER_ALLSTEPIDS, (string)session[IGAnswer.IGANSWER_ALLSTEPIDS]); SetParameter(IGAnswer.IGANSWER_FRAMEPROPERTIES, (string)session[IGAnswer.IGANSWER_FRAMEPROPERTIES]); List<string> lsFrameIds = new List<string>(); splitParamToList(lsFrameIds, IGAnswer.IGANSWER_RESTOREDFRAMEIDS); List<string> lsFrameNames = new List<string>(); splitParamToList(lsFrameNames, IGAnswer.IGANSWER_FRAMENAMES); List<string> lsFrameGuids = new List<string>(); splitParamToList(lsFrameGuids, IGAnswer.IGANSWER_REQGUIDS); List<string> lsNbLayers = new List<string>(); splitParamToList(lsNbLayers, IGAnswer.IGANSWER_ALLNBLAYERS); List<string> lsLayerVisibility = new List<string>(); splitParamToList(lsLayerVisibility, IGAnswer.IGANSWER_ALLLAYERVISIBILITY); List<string> lsStepIds = new List<string>(); splitParamToList(lsStepIds, IGAnswer.IGANSWER_ALLSTEPIDS); List<string> lsFrameProperties = new List<string>(); splitParamToList(lsFrameProperties, IGAnswer.IGANSWER_FRAMEPROPERTIES); string frameId = answer.GetParameterValue(IGREQUEST_FRAMEID); if (frameId == "-1") { session[IGAnswer.IGANSWER_RESTOREDFRAMEIDS] = ""; session[IGAnswer.IGANSWER_FRAMENAMES] = ""; session[IGAnswer.IGANSWER_REQGUIDS] = ""; session[IGAnswer.IGANSWER_ALLNBLAYERS] = ""; session[IGAnswer.IGANSWER_ALLLAYERVISIBILITY] = ""; session[IGAnswer.IGANSWER_ALLSTEPIDS] = ""; session[IGAnswer.IGANSWER_FRAMEPROPERTIES] = ""; session[IGAnswer.IGANSWER_SELECTEDFRAMEID] = ""; session[IGAnswer.IGANSWER_SELECTEDREQGUID] = ""; } else { int nIdxFrame = lsFrameIds.IndexOf(frameId); lsFrameIds.RemoveAt(nIdxFrame); lsFrameIds.RemoveAt(0); lsFrameNames.RemoveAt(nIdxFrame); lsFrameNames.RemoveAt(0); lsFrameGuids.RemoveAt(nIdxFrame); lsFrameGuids.RemoveAt(0); lsNbLayers.RemoveAt(nIdxFrame); lsNbLayers.RemoveAt(0); lsLayerVisibility.RemoveAt(nIdxFrame); lsLayerVisibility.RemoveAt(0); lsStepIds.RemoveAt(nIdxFrame); lsStepIds.RemoveAt(0); lsFrameProperties.RemoveAt(nIdxFrame); lsFrameProperties.RemoveAt(0); session[IGAnswer.IGANSWER_RESTOREDFRAMEIDS] = createParamFromList(lsFrameIds); session[IGAnswer.IGANSWER_FRAMENAMES] = createParamFromList(lsFrameNames); session[IGAnswer.IGANSWER_REQGUIDS] = createParamFromList(lsFrameGuids); session[IGAnswer.IGANSWER_ALLNBLAYERS] = createParamFromList(lsNbLayers); session[IGAnswer.IGANSWER_ALLLAYERVISIBILITY] = createParamFromList(lsLayerVisibility); session[IGAnswer.IGANSWER_ALLSTEPIDS] = createParamFromList(lsStepIds); session[IGAnswer.IGANSWER_FRAMEPROPERTIES] = createParamFromList(lsFrameProperties); if (lsFrameIds.Count > 0) { session[IGAnswer.IGANSWER_SELECTEDFRAMEID] = lsFrameIds[lsFrameIds.Count - 1]; session[IGAnswer.IGANSWER_SELECTEDREQGUID] = lsFrameGuids[lsFrameGuids.Count - 1]; } else { session[IGAnswer.IGANSWER_SELECTEDFRAMEID] = ""; session[IGAnswer.IGANSWER_SELECTEDREQGUID] = ""; } } answer.SetParameter(IGAnswer.IGANSWER_RESTOREDFRAMEIDS, (string)session[IGAnswer.IGANSWER_RESTOREDFRAMEIDS]); answer.SetParameter(IGAnswer.IGANSWER_FRAMENAMES, (string)session[IGAnswer.IGANSWER_FRAMENAMES]); answer.SetParameter(IGAnswer.IGANSWER_REQGUIDS, (string)session[IGAnswer.IGANSWER_REQGUIDS]); answer.SetParameter(IGAnswer.IGANSWER_ALLNBLAYERS, (string)session[IGAnswer.IGANSWER_ALLNBLAYERS]); answer.SetParameter(IGAnswer.IGANSWER_ALLLAYERVISIBILITY, (string)session[IGAnswer.IGANSWER_ALLLAYERVISIBILITY]); answer.SetParameter(IGAnswer.IGANSWER_ALLSTEPIDS, (string)session[IGAnswer.IGANSWER_ALLSTEPIDS]); answer.SetParameter(IGAnswer.IGANSWER_FRAMEPROPERTIES, (string)session[IGAnswer.IGANSWER_FRAMEPROPERTIES]); SetParameter(IGAnswer.IGANSWER_ALLNBLAYERS, (string)session[IGAnswer.IGANSWER_ALLNBLAYERS]); SetParameter(IGAnswer.IGANSWER_ALLLAYERVISIBILITY, (string)session[IGAnswer.IGANSWER_ALLLAYERVISIBILITY]); SetParameter(IGAnswer.IGANSWER_ALLSTEPIDS, (string)session[IGAnswer.IGANSWER_ALLSTEPIDS]); }