Пример #1
0
        private void initUIdata()
        {
            int         len    = 0;
            TypeChanger tc     = new TypeChanger();
            DrawNumType dnType = DrawNumType.Alphabet;

            len = tc.tcColor.Length;
            for (int i = 0; i < len; i++)
            {
                this.cmbColor.Items.Add(tc.tcColor[i]);
            }
            this.cmbColor.Text = tc.ColorChange(this.Option.fontColor);

            len = tc.DrawNumTypeLength;
            for (int j = 0; j < len; j++)
            {
                this.cmbType.Items.Add((dnType + j).ToString());
            }
            this.cmbType.Text = this.Option.drawNumType.ToString();

            picPreview.Image = this.Option.puzzleImage.image;
            txtDesc_Draw(Option.puzzleImage.name, Option.puzzleImage.boardType, Option.puzzleImage.desc);
            chkNumEnable.Checked = Option.drawNum;
            chkNumEnable_Check();
            cmbType.SelectedIndex = (int)Option.drawNumType;
            cmbColor.Text         = tc.ColorChange(Option.fontColor);

            chkImageHint.Checked = Option.previewHint;
            chkTypeIgnore_Change();
        }
Пример #2
0
        public object InvokeMethodWithJson(object obj, string serviceName, string[] Parameters)
        {
            var methodInfo       = obj.GetType().GetMethod(serviceName);
            var methodParameters = methodInfo.GetParameters();
            var convertedParams  = new object[methodParameters.Length];

            for (int i = 0; i < methodParameters.Length; i++)
            {
                try
                {
                    convertedParams[i] = Newtonsoft.Json.JsonConvert.DeserializeObject(Parameters[i], methodParameters[i].ParameterType);
                }
                catch
                {
                    if (methodParameters[i].ParameterType.IsPrimitiveType())
                    {
                        convertedParams[i] = Convert.ChangeType(Parameters[i], methodParameters[i].ParameterType);
                    }
                    else
                    {
                        convertedParams[i] = TypeChanger.Convert(Parameters[i], methodParameters[i].ParameterType);
                    }
                }
            }
            try
            {
                return(obj.GetType().InvokeMember(serviceName, BindingFlags.DeclaredOnly |
                                                  BindingFlags.Public | BindingFlags.NonPublic |
                                                  BindingFlags.Instance | BindingFlags.InvokeMethod, null, obj, convertedParams));
            }
            catch
            {
                return(methodInfo.Invoke(obj, convertedParams));
            }
        }
Пример #3
0
        /// <summary>
        /// 이미지 선택창에서 사용자가 선택 및 옵션 결정을 하고 누르는 확인 버튼의 이벤트 메서드
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnComplete_Click(object sender, EventArgs e)
        {
            frmWaiting Wait = new frmWaiting();

            Wait.Progress(5);
            Wait.Show();
            TypeChanger tc        = new TypeChanger();
            BoardType   boardType = this.Option.puzzleImage.boardType;
            int         pieceNum  = 0;
            int         len       = tc.BoardTypeLength + 2;

            if (boardType == BoardType.TypeAny || boardOption.ignoreBoardType)
            {
                for (int i = 3; i < len; i++)
                {
                    ImgCrop(i, 600 / i);
                    Wait.Progress(i * 10);
                }
                boardOption.puzzleImage.boardType = BoardType.Type5x5;
            }
            else
            {
                pieceNum = (int)boardType + 2;
                ImgCrop(pieceNum, 600 / pieceNum);
                Wait.Progress(80);
            }
            Wait.Progress(100);
            btnComplete.DialogResult = DialogResult.OK;
            this.Close();
            Wait.Close();
        }
Пример #4
0
        public object InvokeMethod(object obj, string MethodName, Type returnType, params object[] Parameters)
        {
            object res = InvokeMethod(obj, MethodName, Parameters);

            if (returnType != typeof(void))
            {
                return(TypeChanger.Convert(res, returnType));
            }
            return(null);
        }
Пример #5
0
        private void ImgPanel_Paint(object sender, PaintEventArgs e)
        {
            Panel       panel      = (Panel)sender;
            int         imageCount = Convert.ToInt32(panel.Name.Substring(8, panel.Name.Length - 8));
            TypeChanger btChanger  = new TypeChanger();
            Font        font       = new Font("Gulim", 10);
            string      str        = "::: " + puzzleImage[imageCount].name + " :::\n[ " + btChanger.BoardTypeToDesc(puzzleImage[imageCount].boardType) + " ]\n" + puzzleImage[imageCount].desc;
            Rectangle   rec        = new Rectangle(new Point(80, 7), new Size(155, 64));

            e.Graphics.DrawString(str, font, Brushes.Black, rec);
        }
        private TpMapOptions GetTpMapOptions(AdvisorDetailInfo info)
        {
            var options = new TpMapOptions();

            options.ShowNumbers             = false;
            options.ShowPushpins            = true;
            options.ShowMapList             = true;
            options.ClosePreviousInfoWindow = true;
            options.ZoomLevel = "auto";
            options.MapType   = TpMapOptions.MapTypeTerrain;

            foreach (var poi in info.VisitedPlaces)
            {
                var    seq   = TypeChanger.Do(poi.PointOfInterestId, 0);
                string title = null;

                if (string.Equals(poi.CountryName, "United States", StringComparison.CurrentCultureIgnoreCase) || string.Equals(poi.CountryName, "Canada", StringComparison.CurrentCultureIgnoreCase))
                {
                    title = string.Format("{0}, {1}", poi.PlaceName, poi.CountryName);
                }
                else
                {
                    var place = poi.PlaceName;
                    if (place.IndexOf('(') > -1)
                    {
                        place = place.Substring(0, poi.PlaceName.IndexOf('('));
                    }
                    title = string.Format("{0}, {1}", place, poi.CountryName);
                }

                options.MapMarkers.Add(new TpMapOptions.TpMapMarker()
                {
                    Id              = seq,
                    SequenceLabel   = poi.PointOfInterestId.ToString(),
                    Latitude        = poi.Latitude.ToString("0.0"),
                    Longitude       = poi.Longitude.ToString("0.0"),
                    Title           = title,
                    InfoWindowHtml  = "<h3>" + poi.PlaceName + ", " + poi.CountryName + "</h3><div>Last Trip: " + poi.LastYearVisited + "<br/>Number of Trips: " + poi.NumOfVisits,
                    CountryCodeIso2 = poi.CountryCodeISO2,
                    NumOfVisits     = poi.NumOfVisits.ToString(),
                    Date            = new DateTime(poi.LastYearVisited, 1, 1).ToString("yyyy")
                });
            }
            return(options);
        }
Пример #7
0
        public object InvokeMethod(object obj, string MethodName, params object[] Parameters)
        {
            var methodInfo      = obj.GetType().GetMethod(MethodName);
            var parameters      = methodInfo.GetParameters();
            var convertedParams = new object[parameters.Length];

            for (int i = 0; i < parameters.Length; i++)
            {
                convertedParams[i] = TypeChanger.Convert(Parameters[i], parameters[i].ParameterType);
            }
            try
            {
                return(obj.GetType().InvokeMember(MethodName, BindingFlags.DeclaredOnly |
                                                  BindingFlags.Public | BindingFlags.NonPublic |
                                                  BindingFlags.Instance | BindingFlags.InvokeMethod, null, obj, convertedParams));
            }
            catch
            {
                return(methodInfo.Invoke(obj, convertedParams));
            }
        }
        public AdvisorDetailViewModel GetAdvisorDetailViewModel(int advisorId, bool isEdit)
        {
            var manager    = new AdvisorManager();
            var detailInfo = manager.GetProductDetailInfo(advisorId);

            if (detailInfo == null)
            {
                return(null);
            }

            detailInfo.IsEditable             = AdvisorIsEditable(detailInfo.AdvisorMasterEntityId, detailInfo.AdvisorCompanyMasterEntityId, detailInfo.AdvisorCompanyParentMasterEntityId);
            detailInfo.IsPreview              = false;
            detailInfo.AdvisorStatus          = TypeChanger.DoEnum(detailInfo.Status, ProfileStatus.Unknown);
            detailInfo.Certifications         = AdvisorInfoManager.GetAdvisorCertifications(detailInfo.AdvisorCertificationsXml);
            detailInfo.VisitedPlaces          = AdvisorInfoManager.GetVisitedPlaces(detailInfo.AdvisorPlacesVisitedXml);
            detailInfo.Interests              = BaseDetailInfoHelpers.GetTravelElements(detailInfo.AdvisorInterestTypesXml);
            detailInfo.SpecialtyDestinations  = BaseDetailInfoHelpers.GetTravelElements(detailInfo.AdvisorSpecialtyCountriesXml);
            detailInfo.Languages              = BaseDetailInfoHelpers.GetTravelElements(detailInfo.AdvisorLanguagesXml);
            detailInfo.AlliancePrograms       = BaseDetailInfoHelpers.GetTravelElements(detailInfo.AdvisorAllianceProgramsXml);
            detailInfo.ConditionalLeadsName   = AdvisorInfoManager.GetConditionalLeadsName(detailInfo.AlliancePrograms);
            detailInfo.AdvisorPrimarydAddress = ProfileContactInfoManagerBase.GetPrimaryAddress(detailInfo.ProfileAddressXml);
            ProfileAddressManager.DisambiguateAddressCity(detailInfo.AdvisorPrimarydAddress, isEdit);
            if (HttpContext.Current.Request.QueryString["consumer"] == "1")
            {
                detailInfo.IsEditable = false;
                detailInfo.IsPreview  = true;
            }

            var user      = FederatedLoginClient.User;
            var viewModel = new AdvisorDetailViewModel
            {
                AdvisorMasterEntityId = detailInfo.AdvisorMasterEntityId,
                Status      = detailInfo.AdvisorStatus,
                AdvisorName = string.Format("{0} {1}", detailInfo.AdvisorFirstName, detailInfo.AdvisorLastName)
            };

            viewModel.ShowReviewsTab = ReviewHelper.ShowReview(detailInfo.TotalCompletedReviews, detailInfo.TotalBlockedReviews, detailInfo.TotalActiveReviews);
            if (viewModel.ShowReviewsTab)
            {
                viewModel.ReviewsInfoJson = new RatingAndReviewManager().GetReviewsInfoJsonForAdvisor(detailInfo);
            }

            viewModel.HeaderInfoPlus = new AdvisorHeaderInfoPlus
            {
                Header = new AdvisorHeaderInfoViewModel {
                    AdvisorHeaderInfo = AdvisorInfoManager.BuildHeaderInfo(detailInfo)
                },
                ContactAdvisor = GetContactAdvisor(detailInfo),
                ReviewBadge    = ReviewHelper.BuildBadgeModelForAdvisorDetailPage(detailInfo)
            };

            viewModel.AboutMePlus = new AdvisorAboutMePlus
            {
                Alliances             = AdvisorInfoManager.BuildAboutMe(detailInfo),
                Overview              = GetProfileOverviewInfo(detailInfo),
                IsActive              = detailInfo.AdvisorIsActive,
                CompanyIsActive       = detailInfo.AdvisorCompanyIsActive,
                AdvisorMasterEntityId = advisorId
            };

            if (user.IsComposerUser)
            {
                AddCommunityInfoForAdvisor(viewModel.AboutMePlus);
            }

            viewModel.DetailInfo  = detailInfo;
            viewModel.ContactInfo = AdvisorContactInfoManager.BuildContactInfo(detailInfo);
            viewModel.CobrandInfo = new AdvisorCobrandInfoViewModel
            {
                AdvisorCobrandInfo = AdvisorCobrandAndSettingsManager.BuildCobrandInfo(detailInfo)
            };
            ProfileAddressManager.DisambiguateAddressCity(viewModel.ContactInfo.PrimaryAddress, isEdit);
            ProfileAddressManager.DisambiguateAddressCities(viewModel.ContactInfo.Addresses, isEdit);

            // note that if an advisor is using the agency default personalization, the advisor personalized address will be null
            var personalizedAddress = TouchPoints.Framework.Utilities.Xml.Deserialize <PersonalizationAddress>(detailInfo.AdvisorPersonalizedAddressXml) ?? new PersonalizationAddress();

            detailInfo.AdvisorPersonalizedAddress = personalizedAddress;
            viewModel.AdvisorPersonalization      = new AdvisorPersonalizationInfo
            {
                AdvisorName                     = detailInfo.AdvisorPersonalizedName,
                AgencyName                      = detailInfo.AgencyPersonalizedName,
                DoingBusinessAs                 = detailInfo.AdvisorPersonalizedDoingBusinessAs,
                AddressLine1                    = personalizedAddress.AddressLine1,
                AddressLine2                    = personalizedAddress.AddressLine2,
                City                            = personalizedAddress.City,
                RegionNameEng                   = personalizedAddress.State,
                RegionId                        = personalizedAddress.RegionId,
                RegionCode                      = personalizedAddress.RegionCode,
                CountryNameEng                  = personalizedAddress.Country,
                CountryId                       = personalizedAddress.CountryId,
                PostalCode                      = personalizedAddress.PostalCode,
                Phone                           = detailInfo.AdvisorPersonalizedPrimaryPhone,
                SecondPhone                     = detailInfo.AdvisorPersonalizedSecondaryPhone,
                WebAddress                      = detailInfo.AdvisorPersonalizedWebsite,
                Email                           = detailInfo.AdvisorPersonalizedEmail,
                StateOfSellerId                 = detailInfo.AdvisorPersonalizedStateOfSellerId,
                LogoUrl                         = detailInfo.AdvisorCompanyLogo,
                AssociatedMasterEntityId        = detailInfo.AdvisorMasterEntityId,
                AssociatedParentMasterEntityId  = detailInfo.AdvisorCompanyParentMasterEntityId,
                UseAgencyDefaultPersonalization = detailInfo.UseAgencyDefaultPersonalization
            };

            personalizedAddress             = Xml.Deserialize <PersonalizationAddress>(detailInfo.AgencyPersonalizedAddressXml) ?? new PersonalizationAddress();
            viewModel.AgencyPersonalization = new AgencyPersonalizationInfo
            {
                AgencyName                     = detailInfo.AgencyPersonalizedName,
                AddressLine1                   = personalizedAddress.AddressLine1,
                AddressLine2                   = personalizedAddress.AddressLine2,
                City                           = personalizedAddress.City,
                RegionNameEng                  = personalizedAddress.State,
                RegionId                       = personalizedAddress.RegionId,
                RegionCode                     = personalizedAddress.RegionCode,
                CountryNameEng                 = personalizedAddress.Country,
                CountryId                      = personalizedAddress.CountryId,
                PostalCode                     = personalizedAddress.PostalCode,
                Phone                          = detailInfo.AgencyPersonalizedPrimaryPhone,
                SecondPhone                    = detailInfo.AgencyPersonalizedSecondaryPhone,
                WebAddress                     = detailInfo.AgencyPersonalizedWebsite,
                Email                          = detailInfo.AgencyPersonalizedEmail,
                StateOfSellerId                = detailInfo.AgencyPersonalizedStateOfSellerId,
                LogoUrl                        = detailInfo.LogoUrl,
                AssociatedMasterEntityId       = detailInfo.AdvisorCompanyMasterEntityId,
                AssociatedParentMasterEntityId = detailInfo.AdvisorCompanyParentMasterEntityId,
            };
            viewModel.Information = new AdvisorInformationViewModel
            {
                AdvisorInformation = AdvisorInfoManager.BuildAdminInfo(detailInfo)
            };
            viewModel.Specialties = new AdvisorTravelSpecialtiesViewModel
            {
                AdvisorTravelSpecialties = AdvisorInfoManager.BuildTravelSpecialties(detailInfo)
            };

            // fill in personalization IC status, since the value in DetailInfo may be unreliable
            viewModel.AdvisorPersonalization.IsIndependentContractor = (viewModel.Information.AdvisorType.TypeId == AdvisorInfoManager.IndependentContractorTypeId);

            // TODO: only need these for edit by certain people with permissions
            if (null != viewModel.Specialties)
            {
                viewModel.Specialties.SpecialtyCountriesLookup = SpecialtyDestinations.Get(null, ProfileType.Advisor);
            }

            viewModel.OutOfOffice = new AdvisorOutOfOffice();
            viewModel.Settings    = AdvisorCobrandAndSettingsManager.BuildAdvisorSettings(detailInfo);
            AgencyViewManager.CalculateFieldLevelPermissions(viewModel.Settings, user);

            viewModel.SupplierMarketingOptions =
                new SupplierMarketingOptionsViewManager().GetSupplierMarketingOptionsForMember(advisorId);

            viewModel.SupplierMarketingOptions.MemberHasOverrideRole = detailInfo.OverrideAgencySupplierMarketing;
            viewModel.SupplierMarketingOptions.AgencyMeid            = detailInfo.AdvisorCompanyMasterEntityId;

            viewModel.ConsumerNotifications = new ConsumerNotificationsViewManager().GetNotificationsForAdvisor(advisorId, viewModel.Settings.Meid, viewModel.Settings.ParentMeid);

            viewModel.SecurityData = new AdvisorProfileSecurityData();

            var securityModel = TouchPoints.Framework.Utilities.Xml.Deserialize <StaffSecurityModelXml>(detailInfo.ProfileRolesXml);

            viewModel.AdvisorSecurity = SecurityManager.BuildAdvisorSecurity(securityModel);
            viewModel.HotelBooking    = new AdvisorHotelBookingViewModel();

            viewModel.HotelBooking.HotelBooking = new AdvisorHotelBooking
            {
                AdvisorMasterEntityId = viewModel.AdvisorMasterEntityId,
                AgentId = detailInfo.AgentId,
                BookingPrefatoryCode  = detailInfo.BookingPrefatoryCode,
                BookingPseudoCityCode = detailInfo.BookingPseudoCityCode,
                BookingQueueNumber    = detailInfo.BookingQueueNumber,
                AgentInterfaceId      = detailInfo.AgentInterfaceId,
                SameAsAgency          = detailInfo.IsBookingSameAsAgency
            };

            viewModel.AdvisorLogoExists            = !String.IsNullOrEmpty(viewModel.AdvisorPersonalization.LogoUrl);
            viewModel.AgencyDefaultLogoExists      = !String.IsNullOrEmpty(viewModel.AgencyPersonalization.LogoUrl);
            viewModel.PersonalizationGuidelinesUrl = Config.AppSettings.PersonalizationGuidelinesUrl;

            return(viewModel);
        }
Пример #9
0
        private void cmbColor_SelectedIndexChanged(object sender, EventArgs e)
        {
            TypeChanger tc = new TypeChanger();

            this.boardOption.fontColor = tc.tcColor[cmbColor.SelectedIndex];
        }
Пример #10
0
        private void txtDesc_Draw(string name, BoardType boardType, string desc)
        {
            TypeChanger btc = new TypeChanger();

            this.txtDesc.Text = ":::" + name + ":::\r\n[ " + btc.BoardTypeToDesc(boardType) + " ]\r\n" + desc;
        }
Пример #11
0
        private void initImgPanel(int selectedIndex)
        {
            string     sDir = (selectedIndex == 0)? "Default" : "user";
            frmWaiting Wait = new frmWaiting();

            //string cDir = Environment.CurrentDirectory;
            string[] Files = Directory.GetFiles(@"img\" + sDir, "*.jpg", SearchOption.TopDirectoryOnly);
            int      len   = Files.Length;

            Panel[]      ImgPanel   = new Panel[len];
            PictureBox[] ImgPreview = new PictureBox[len];
            StreamReader sr         = null;
            string       str        = "";

            string[]    tmp = new string[3];
            int         num = 0;
            TypeChanger tc  = new TypeChanger();

            Wait.Show();
            //MessageBox.Show(sDir);
            if (sDir == "Default")
            {
                sr = new StreamReader(@"img\Default\Desc.txt", Encoding.UTF8);
                while (true)
                {
                    num++;
                    str += sr.ReadLine() + "\t";
                    if (sr.EndOfStream)
                    {
                        break;
                    }
                }
                sr.Close();

                Wait.Progress(10);

                tmp = str.Split('\t');

                for (int i = 0; i < num; i++)
                {
                    puzzleImage[i].boardType = tc.ExtractToBoardType(tmp[0 + 3 * i]);
                    puzzleImage[i].image     = Image.FromFile(Files[i]);
                    puzzleImage[i].name      = tmp[1 + 3 * i];
                    puzzleImage[i].desc      = tmp[2 + 3 * i];
                    puzzleImage[i].file      = @"img\Default\" + tmp[0 + 3 * i];
                }
            }
            else
            {
                string rootDir = Environment.CurrentDirectory + @"\img\user\";
                len = rootDir.Length;
                num = Files.Length;
                for (int i = 0; i < num; i++)
                {
                    string[] tmpName = Files[i].Split('\\');
                    puzzleImage[i].boardType = BoardType.TypeAny;
                    puzzleImage[i].image     = Image.FromFile(Files[i]);
                    puzzleImage[i].name      = tmpName[tmpName.Length - 1];
                    puzzleImage[i].desc      = "사용자 정의";
                    puzzleImage[i].file      = @"img\user\" + puzzleImage[i].name;
                }
            }
            Wait.Progress(20);


            len = Files.Length;
            for (int i = 0; i < len; i++)
            {
                ImgPanel[i]                       = new Panel();
                ImgPreview[i]                     = new PictureBox();
                ImgPreview[i].Image               = puzzleImage[i].image;
                ImgPreview[i].Location            = new System.Drawing.Point(3, 3);
                ImgPreview[i].Name                = "ImgPreview" + i;
                ImgPreview[i].Size                = new System.Drawing.Size(64, 64);
                ImgPreview[i].SizeMode            = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
                ImgPreview[i].TabIndex            = 0;
                ImgPreview[i].TabStop             = false;
                ImgPanel[i].BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
                ImgPanel[i].Location              = new System.Drawing.Point(3, 3 + 70 * i);
                ImgPanel[i].Name                  = "imgPanel" + i;
                ImgPanel[i].Size                  = new System.Drawing.Size(230, 70);
                ImgPanel[i].TabIndex              = 2 + i;
                ImgPanel[i].Paint                += new PaintEventHandler(ImgPanel_Paint);
                ImgPanel[i].MouseMove            += new MouseEventHandler(ImgPanel_MouseMove);
                ImgPanel[i].MouseLeave           += new EventHandler(ImgPanel_MouseLeave);
                ImgPanel[i].Click                += new EventHandler(ImgPanel_Click);
                ImgPanel[i].Controls.Add(ImgPreview[i]);
                panel_ImgSelector.Controls.Add(ImgPanel[i]);
                Wait.Progress(20 + i);
            }
            Wait.Progress(100);
            Wait.Close();
        }
Пример #12
0
 public static void AddTypeChanger(TypeChanger tc)
 {
     lock (TypeChangers) TypeChangers.Add(tc);
 }
Пример #13
0
 public static object SanitizeObject(object obj)
 {
     return(TypeChanger.SanitizeObject(obj));
 }
Пример #14
0
 public static T ChangeType <T>(object value)
 {
     return(TypeChanger.ChangeType <T>(value));
 }
Пример #15
0
 public static object ChangeType(object value, Type targetType)
 {
     return(TypeChanger.ChangeType(value, targetType));
 }