コード例 #1
0
 public void SingleRingTClicked()
 {
     CommonInstance.getInstance().currentSetting.bands = 1;
     CommonInstance.getInstance().currentSetting.ringUE[0] = EVENT1;
     ringsData[0] = calc.ReCalc(config, CommonInstance.getInstance().currentSetting, edata1);
     ReRender();
 }
コード例 #2
0
        public ActionResult Login(LoginUserModel model)
        {
            if (string.IsNullOrEmpty(model.UserName) || string.IsNullOrWhiteSpace(model.UserName))
            {
                ModelState.AddModelError(string.Empty, "用户名不能为空.");
                return(View(model));
            }
            if (string.IsNullOrEmpty(model.Password) || string.IsNullOrWhiteSpace(model.Password))
            {
                ModelState.AddModelError(string.Empty, "密码不能为空.");
                return(View(model));
            }

            var userModel = UserService.Login(model);

            if (userModel == null)
            {
                ModelState.AddModelError(string.Empty, "无效的用户名或密码.");
                return(View(model));
            }
            else if (!userModel.IsAssetManager && !userModel.IsAdminStaff) //判断登录且用户角色为行政专员或资产管理员
            {
                ModelState.AddModelError(string.Empty, "用户无登录权限.");
                return(View(model));
            }
            else
            {
                CommonInstance.GetInstance().LoginUser = userModel;
                FormsAuthentication.SetAuthCookie(model.UserName, false);
                //HttpCookie cookie = new HttpCookie(COOKIE_NAME, model.UserName);
                //cookie.Expires = DateTime.Now.AddDays(30);
                //Response.AppendCookie(cookie);
                return(RedirectToAction("Index", "User"));
            }
        }
コード例 #3
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            config = CommonInstance.getInstance().config;
            base.OnNavigatedTo(e);

            SettingInit();
        }
コード例 #4
0
        partial void User2Clicked(NSObject sender)
        {
            int row = (int)UserTable.SelectedRow;

            if (row >= 0)
            {
                UserTableDataSource data = (UserTableDataSource)UserTable.DataSource;
                memoArea.TextStorage.MutableString.SetString((NSString)data.dataList[row].memo);


                User2Area.StringValue = data.dataList[row].name + "\n" +
                                        String.Format("{0:0000}/{1:00}/{2:00}-{3:00}:{4:00}:{5:00}",
                                                      data.dataList[row].date.Year,
                                                      data.dataList[row].date.Month,
                                                      data.dataList[row].date.Day,
                                                      data.dataList[row].date.Hour,
                                                      data.dataList[row].date.Minute,
                                                      data.dataList[row].date.Second
                                                      );
                ViewController vc = CommonInstance.getInstance().controller;

                vc.SetUserData(data.dataList[row], 2);
                vc.ReSetUserBox();
                if (CommonInstance.getInstance().customRings[0] == 2)
                {
                    vc.ReCalcUserDb(0, 2);
                }
                vc.ReRender();
            }
        }
コード例 #5
0
        private void ListRender()
        {
            vm1.planetCuspList = new ObservableCollection <PlanetCuspListData>();
            foreach (PlanetData p in cuspList.planetList)
            {
                PlanetCuspListData pcusp = new PlanetCuspListData()
                {
                    name = Util.getPlanetSymbol(p.no)
                };
                pcusp.degree1 = Util.getPlanetDegree(p.absolute_position, CommonInstance.getInstance().config.decimalDisp);
                vm1.planetCuspList.Add(pcusp);
            }
            PlanetCusp.ItemsSource = vm1.planetCuspList;

            vm2.houseCuspList = new ObservableCollection <HouseCuspListData>();
            for (int i = 1; i < 13; i++)
            {
                HouseCuspListData hcusp = new HouseCuspListData();
                hcusp.name = i.ToString();
                if (CommonInstance.getInstance().config.decimalDisp == EDecimalDisp.DECIMAL)
                {
                    hcusp.degree1 = String.Format("{0:f2}", cuspList.cusps[i]);
                }
                else
                {
                    hcusp.degree1 = Util.DecimalToHex(cuspList.cusps[i]).ToString();
                }

                vm2.houseCuspList.Add(hcusp);
            }
            HouseCusp.ItemsSource = vm2.houseCuspList;
        }
コード例 #6
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            NSWindowDidResizeNotificationObject = NSNotificationCenter.DefaultCenter.AddObserver(new NSString("NSWindowDidResizeNotification"), ResizeObserver, null);
            MainInit();
            CommonInstance.getInstance().controller = this;
        }
コード例 #7
0
        public ActionResult Edit(ProjectModel model)
        {
            string action = Request["Submit"];

            if (action == "cancel")
            {
                return(RedirectToAction("Index"));
            }

            if (string.IsNullOrEmpty(model.Name))
            {
                ModelState.AddModelError("Name", "请输入项目组名称");
            }

            if (ModelState.IsValid)
            {
                try
                {
                    if (model.Id > 0)
                    {
                        ProjectModel projectModel = new ProjectModel()
                        {
                            Name           = model.Name,
                            ProjectManager = model.ProjectManager,
                            ProjectBegin   = model.ProjectBegin,
                            ProjectEnd     = model.ProjectEnd,
                        };
                        this.ProjectService.UpdateProject(model.Id, projectModel);
                    }
                    else
                    {
                        model.Status         = 1;
                        model.CreateUserName = CommonInstance.GetInstance().LoginUser.EnglishName;
                        model.CreatedTime    = DateTime.Now;
                        this.ProjectService.AddProject(model);
                    }
                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    ViewBag.Message = ex.Message;
                }
            }
            var userList = new List <SelectListItem>();
            var allUsers = UserService.GetAllUsers();

            //userList.Add(new SelectListItem() { Value = "0", Text = "--Please select management--" });
            foreach (UserModel p in allUsers)
            {
                userList.Add(new SelectListItem()
                {
                    Value = (p.Id).ToString(), Text = p.EnglishName
                });
            }
            ViewData["ProjectManagerList"] = new SelectList(userList, "Value", "Text", (int)model.ProjectManager);
            return(View(model));
        }
コード例 #8
0
 public void DualRingNTClicked()
 {
     CommonInstance.getInstance().currentSetting.bands = 2;
     CommonInstance.getInstance().currentSetting.ringUE[0] = USER1;
     CommonInstance.getInstance().currentSetting.ringUE[1] = EVENT1;
     ringsData[0] = calc.ReCalc(config, CommonInstance.getInstance().currentSetting, udata1);
     ringsData[1] = calc.ReCalc(config, CommonInstance.getInstance().currentSetting, edata1);
     ReRender();
 }
コード例 #9
0
        partial void submit(NSObject sender)
        {
            DirectoryInfo dir = new DirectoryInfo(CommonInstance.getInstance().SelectedDirectoryFullPath);

            Directory.Move(CommonInstance.getInstance().SelectedDirectoryFullPath, dir.Parent.FullName + @"/" + DirectoryName.StringValue);
            UserDbViewController dbvc = this.PresentingViewController as UserDbViewController;

            dbvc.ReSetDbTree();
            DismissViewController(this);
        }
コード例 #10
0
        public double GetRingOffset(int bandnum)
        {
            double offset = 0;

            if (CommonInstance.getInstance().currentSetting.bands == 2)
            {
                // TODO
            }
            return(offset);
        }
コード例 #11
0
 public void TripleRingClicked()
 {
     CommonInstance.getInstance().currentSetting.bands = 3;
     CommonInstance.getInstance().currentSetting.ringUE[0] = USER1;
     CommonInstance.getInstance().currentSetting.ringUE[1] = PUSER1EVENT1;
     CommonInstance.getInstance().currentSetting.ringUE[2] = EVENT1;
     ringsData[0] = calc.ReCalc(config, CommonInstance.getInstance().currentSetting, udata1);
     ringsData[1] = calc.ReCalcProgress(config, CommonInstance.getInstance().currentSetting, edata1);
     ringsData[2] = calc.ReCalc(config, CommonInstance.getInstance().currentSetting, edata1);
     ReRender();
 }
コード例 #12
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            settings = CommonInstance.getInstance().settings;

            base.OnNavigatedTo(e);
            this.SettingDetailFrame.Navigate(typeof(SettingDetailPlanet), (object)settings);

            foreach (SettingData setting in settings)
            {
                SettingCombo.Items.Add(setting.dispName);
            }
            SettingCombo.SelectedIndex = 0;
        }
コード例 #13
0
 public void FourthRingNPTTClicked()
 {
     CommonInstance.getInstance().currentSetting.bands = 4;
     CommonInstance.getInstance().currentSetting.ringUE[0] = USER1;
     CommonInstance.getInstance().currentSetting.ringUE[1] = PUSER1EVENT1;
     CommonInstance.getInstance().currentSetting.ringUE[2] = EVENT1;
     CommonInstance.getInstance().currentSetting.ringUE[3] = EVENT2;
     ringsData[0] = calc.ReCalc(config, CommonInstance.getInstance().currentSetting, udata1);
     ringsData[1] = calc.ReCalcProgress(config, CommonInstance.getInstance().currentSetting, edata1);
     ringsData[2] = calc.ReCalc(config, CommonInstance.getInstance().currentSetting, edata1);
     ringsData[3] = calc.ReCalc(config, CommonInstance.getInstance().currentSetting, edata2);
     ReRender();
 }
コード例 #14
0
        public ActionResult Edit(MeetingRoomModel model)
        {
            string action = Request["Submit"];

            if (action == "cancel")
            {
                return(RedirectToAction("Index"));
            }

            if (string.IsNullOrEmpty(model.MeetingRoomName))
            {
                ModelState.AddModelError("MeetingRoomName", "请输入会议室名.");
            }

            if (string.IsNullOrEmpty(model.Equipment))
            {
                ModelState.AddModelError("Equipment", "请输入设备.");
            }

            if ((model.Capacity) == 0)
            {
                ModelState.AddModelError("Capacity", "请输入可容纳人数.");
            }

            if (ModelState.IsValid)
            {
                try
                {
                    if (model.Id > 0)
                    {
                        this.MeetingService.UpdateMeetingRoom(model);
                    }
                    else
                    {
                        model.CreateDate     = DateTime.Now;
                        model.CreateUserName = CommonInstance.GetInstance().LoginUser.EnglishName;
                        this.MeetingService.AddMeetingRoom(model);
                    }
                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    ViewBag.Message = ex.Message;
                }
            }

            return(View(model));
        }
コード例 #15
0
        public ActionResult Edit(RoleModel model)
        {
            string action = Request["Submit"];

            if (action == "cancel")
            {
                return(RedirectToAction("Index"));
            }
            if (string.IsNullOrEmpty(model.Abbreviation))
            {
                ModelState.AddModelError("Abbreviation", "英文简称不能为空");
            }
            if (string.IsNullOrEmpty(model.RoleName))
            {
                ModelState.AddModelError("RoleName", "角色名不能为空");
            }

            if (ModelState.IsValid)
            {
                try
                {
                    if (model.Id > 0)
                    {
                        RoleModel updateUserModel = new RoleModel()
                        {
                            RoleName = model.RoleName,
                            Status   = model.Status
                        };
                        this.RoleService.UpdateRole(model.Id, updateUserModel);
                    }
                    else
                    {
                        model.CreatedTime = DateTime.Now;
                        model.CreateUser  = CommonInstance.GetInstance().LoginUser.EnglishName;
                        model.IsInitRole  = 0;
                        this.RoleService.AddRole(model);
                    }
                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    ViewBag.Message = ex.Message;
                }
            }

            return(View(model));
        }
コード例 #16
0
        /// <summary>
        /// 左側クリック
        /// </summary>
        /// <param name="sender">Sender.</param>
        partial void UserDbDirClick(NSObject sender)
        {
            int index = (int)UserDbDirOutline.SelectedRow;

            if (index == -1)
            {
                // 右クリック
                return;
            }
            TreeViewItem item = (TreeViewItem)UserDbDirOutline.ItemAtRow(index);

            // ここtodoね
            if (item.isDir)
            {
                CommonInstance.getInstance().SelectedDirectoryName     = item.fileName;
                CommonInstance.getInstance().SelectedDirectoryFullPath = item.FullPath;
                return;
            }
            else
            {
                CommonInstance.getInstance().SelectedDirectoryFullPath = item.FullPath;
                CommonInstance.getInstance().SelectedFileName          = item.fileName;
                CommonInstance.getInstance().SelectedUserData          = item.udata;
            }

            UserTable.AllowsColumnSelection = true;
            UserTableDataSource DataSource = new UserTableDataSource();

            DataSource.dataList.Add(new UserTableData()
            {
                name = item.udata.name,
                date = new DateTime(item.udata.birth_year,
                                    item.udata.birth_month,
                                    item.udata.birth_day,
                                    item.udata.birth_hour,
                                    item.udata.birth_minute,
                                    item.udata.birth_second),
                memo = item.udata.memo
            });

            UserTable.DataSource = DataSource;
            UserTable.Delegate   = new UserTableDelegate(DataSource);
            UserTable.ReloadData();
//                        ReSetDbTree();
        }
コード例 #17
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            UserData userData = CommonInstance.getInstance().SelectedUserData;

            fileName.StringValue = Path.GetFileNameWithoutExtension(CommonInstance.getInstance().SelectedFileName);
            userName.StringValue = userData.name;
            furigana.StringValue = userData.furigana;
            DateTime d = new DateTime(userData.birth_year, userData.birth_month, userData.birth_day,
                                      userData.birth_hour, userData.birth_minute, userData.birth_second);
            DateTime reference = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(2001, 1, 1, 0, 0, 0));

            birthDay.DateValue    = NSDate.FromTimeIntervalSinceReferenceDate((d - reference).TotalSeconds);
            userLat.StringValue   = userData.lat.ToString();
            userLng.StringValue   = userData.lng.ToString();
            userPlace.StringValue = userData.birth_place;
            memo.StringValue      = userData.memo;
        }
コード例 #18
0
        partial void SubmitButtonClicked(NSObject sender)
        {
            settingIndex = rootViewController.settingIndex;
            planetIndex  = (int)RingsCombo.IndexOfSelectedItem;
            settings[settingIndex].dispAspectPlanet[planetIndex][CommonData.ZODIAC_NUMBER_SUN] =
                dispAspectPlanetSun.State == NSCellStateValue.On ? true : false;
            settings[settingIndex].dispAspectPlanet[planetIndex][CommonData.ZODIAC_NUMBER_MOON] =
                dispAspectPlanetMoon.State == NSCellStateValue.On ? true : false;

            if (settingIndex == CommonInstance.getInstance().currentSettingIndex)
            {
                CommonInstance.getInstance().currentSetting.dispAspectPlanet[planetIndex][CommonData.ZODIAC_NUMBER_SUN] =
                    dispAspectPlanetSun.State == NSCellStateValue.On ? true : false;
                CommonInstance.getInstance().currentSetting.dispAspectPlanet[planetIndex][CommonData.ZODIAC_NUMBER_MOON] =
                    dispAspectPlanetMoon.State == NSCellStateValue.On ? true : false;
            }

            SettingSave.SaveXml(settings);
            DismissViewController(this);
        }
コード例 #19
0
        public void ReCalcAll()
        {
            for (int i = 0; i < 5; i++)
            {
                if (CommonInstance.getInstance().currentSetting.ringUE[i] >= USER1 &&
                    CommonInstance.getInstance().currentSetting.ringUE[i] <= EVENT2)
                {
                    ReCalcUserDb(i, CommonInstance.getInstance().currentSetting.ringUE[i]);
                }
                else
                {
                    ReCalcUserDbProgress(i, CommonInstance.getInstance().currentSetting.ringUE[i]);
                }
            }


            foreach (int i in Enumerable.Range(0, 4))
            {
                aspectsData[i, i] = aspect.AspectCalcSame(ringsData[i].planetData, i);
            }

            int ringIndexFrom = 0;
            int ringIndexTo   = 0;

            for (ringIndexFrom = 0; ringIndexFrom < 5; ringIndexFrom++)
            {
                for (ringIndexTo = 0; ringIndexTo < 5; ringIndexTo++)
                {
                    if (ringIndexFrom == ringIndexTo)
                    {
                        continue;
                    }
                    aspectsData[ringIndexFrom, ringIndexTo] =
                        aspect.AspectCalcOther(ringsData[ringIndexFrom].planetData,
                                               ringsData[ringIndexTo].planetData,
                                               ringIndexFrom, ringIndexTo);
                }
            }
        }
コード例 #20
0
        private void MainInit()
        {
            config  = CommonInstance.getInstance().config;
            setting = CommonInstance.getInstance().settings;
            calc    = CommonInstance.getInstance().calc;

            ringsData[0] = ringsData[1] = ringsData[2] = ringsData[3] = ringsData[4] = ringsData[5] = ringsData[6]
                                                                                                          = calc.ReCalc(config, setting[0], new UserData());

            UserDataView.DataContext = new MainWindowUserDataViewModel();
            //            InfoFrame.Navigate(typeof(MainListPage), new CuspList() { planetList = ringsData[0].planetData, cusps = ringsData[0].cusps });

            cuspList = new CuspList {
                planetList = ringsData[0].planetData, cusps = ringsData[0].cusps
            };
            PlanetCusp.DataContext = vm1;
            HouseCusp.DataContext  = vm2;
            ListRender();

            // timesetter部はwebviewにする
            DateWeb.Navigate(new Uri("ms-appdata:///local/system/datetime.html"));

            CanvasRender();
        }
コード例 #21
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            cuspList = (CuspList)e.Parameter;

            PlanetCusp.DataContext = vm1;
            vm1.planetCuspList     = new ObservableCollection <PlanetCuspListData>();
            foreach (PlanetData p in cuspList.planetList)
            {
                PlanetCuspListData pcusp = new PlanetCuspListData()
                {
                    name = Util.getPlanetSymbol(p.no)
                };
                pcusp.degree1 = Util.getPlanetDegree(p.absolute_position, CommonInstance.getInstance().config.decimalDisp);
                vm1.planetCuspList.Add(pcusp);
            }
            PlanetCusp.ItemsSource = vm1.planetCuspList;

            HouseCusp.DataContext = vm2;
            vm2.houseCuspList     = new ObservableCollection <HouseCuspListData>();
            for (int i = 1; i < 13; i++)
            {
                HouseCuspListData hcusp = new HouseCuspListData();
                hcusp.name = i.ToString();
                if (CommonInstance.getInstance().config.decimalDisp == EDecimalDisp.DECIMAL)
                {
                    hcusp.degree1 = String.Format("{0:f2}", cuspList.cusps[i]);
                }
                else
                {
                    hcusp.degree1 = Util.DecimalToHex(cuspList.cusps[i]).ToString();
                }

                vm2.houseCuspList.Add(hcusp);
            }
            HouseCusp.ItemsSource = vm2.houseCuspList;
        }
コード例 #22
0
        /// <summary>
        /// DBからReCalcを受ける(プログレス)
        /// </summary>
        /// <param name="index">ring index</param>
        /// <param name="type">1:u1 2:u2 3:e1 4:e2</param>
        public void ReCalcUserDbProgress(int index, int type)
        {
            switch (type)
            {
            case USER1:
                ringsData[index] = calc.ReCalcProgress(config, CommonInstance.getInstance().currentSetting, udata1);
                break;

            case USER2:
                ringsData[index] = calc.ReCalcProgress(config, CommonInstance.getInstance().currentSetting, udata2);
                break;

            case EVENT1:
                ringsData[index] = calc.ReCalcProgress(config, CommonInstance.getInstance().currentSetting, edata1);
                break;

            case EVENT2:
                ringsData[index] = calc.ReCalcProgress(config, CommonInstance.getInstance().currentSetting, edata2);
                break;

            default:
                break;
            }
        }
コード例 #23
0
        public int GetPlanetOffset(int bandIndex)
        {
            int planetOffset = 0;

            if (bandIndex == 1)
            {
                if (CommonInstance.getInstance().currentSetting.bands == 1)
                {
                    planetOffset = 120;
                }
                else if (CommonInstance.getInstance().currentSetting.bands == 2)
                {
                    planetOffset = 210;
                }
                else if (CommonInstance.getInstance().currentSetting.bands == 3)
                {
                    planetOffset = 240;
                }
                else if (CommonInstance.getInstance().currentSetting.bands == 4)
                {
                    planetOffset = 270;
                }
                else if (CommonInstance.getInstance().currentSetting.bands == 5)
                {
                    planetOffset = 280;
                }
            }
            else if (bandIndex == 2)
            {
                if (CommonInstance.getInstance().currentSetting.bands == 2)
                {
                    planetOffset = 90;
                }
                else if (CommonInstance.getInstance().currentSetting.bands == 3)
                {
                    planetOffset = 170;
                }
                else if (CommonInstance.getInstance().currentSetting.bands == 4)
                {
                    planetOffset = 200;
                }
                else if (CommonInstance.getInstance().currentSetting.bands == 5)
                {
                    planetOffset = 240;
                }
            }
            else if (bandIndex == 3)
            {
                if (CommonInstance.getInstance().currentSetting.bands == 3)
                {
                    planetOffset = 90;
                }
                else if (CommonInstance.getInstance().currentSetting.bands == 4)
                {
                    planetOffset = 130;
                }
                else if (CommonInstance.getInstance().currentSetting.bands == 5)
                {
                    planetOffset = 190;
                }
            }
            else if (bandIndex == 4)
            {
                if (CommonInstance.getInstance().currentSetting.bands == 4)
                {
                    planetOffset = 90;
                }
                else if (CommonInstance.getInstance().currentSetting.bands == 5)
                {
                    planetOffset = 140;
                }
            }
            else if (bandIndex == 5)
            {
                if (CommonInstance.getInstance().currentSetting.bands == 5)
                {
                    planetOffset = 90;
                }
            }

            return(planetOffset);
        }
コード例 #24
0
 public override void ViewDidLoad()
 {
     base.ViewDidLoad();
     DirectoryName.StringValue = CommonInstance.getInstance().SelectedDirectoryName;
 }
コード例 #25
0
 public override void ViewDidLoad()
 {
     base.ViewDidLoad();
     Place.StringValue = CommonInstance.getInstance().searchPlace;
 }
コード例 #26
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            UserDbTreeDataSource dataSource = new UserDbTreeDataSource();
            List <TreeViewItem>  root       = new List <TreeViewItem>();
            TreeViewItem         rootNode   = UserDirTree.CreateDirectoryNode(new DirectoryInfo(Util.root + "/data"));

            root.Add(rootNode);
            dataSource.list = root;
            UserDbDirOutline.ScrollColumnToVisible(0);
            UserDbDirOutline.DataSource = dataSource;
            UserDbDirOutline.Delegate   = new UserDbTreeDelegate(dataSource);
            UserDbDirOutline.ExpandItem(rootNode);

            NSMenu menu = new NSMenu();

            menu.AutoEnablesItems = true;
            EventHandler addDirHandler = new EventHandler((object sender, EventArgs e) =>
            {
                AddDirectoryClick((NSObject)sender);
            });
            NSMenuItem addDirmenuItem = new NSMenuItem("ディレクトリ追加", addDirHandler);

            addDirmenuItem.Enabled = true;

            menu.AddItem(addDirmenuItem);

            EventHandler modifyDirHandler = new EventHandler((object sender, EventArgs e) =>
            {
                int row           = (int)UserDbDirOutline.SelectedRow;
                TreeViewItem item = (TreeViewItem)UserDbDirOutline.ItemAtRow(row);
                if (item.isDir)
                {
                    PerformSegue("modifyDir", this);
                }
            });
            NSMenuItem modifyDirmenuItem = new NSMenuItem("ディレクトリ名変更", modifyDirHandler);

            modifyDirmenuItem.Enabled = true;
            menu.AddItem(modifyDirmenuItem);

            EventHandler deleteDirHandler = new EventHandler((object sender, EventArgs e) =>
            {
                DeleteDirectoryClick((NSObject)sender);
            });
            NSMenuItem deleteDirmenuItem = new NSMenuItem("ディレクトリ削除", deleteDirHandler);

            deleteDirmenuItem.Enabled = true;

            menu.AddItem(deleteDirmenuItem);

            UserDbDirOutline.Menu = menu;

            CommonInstance.getInstance().SelectedDirectoryName     = "data";
            CommonInstance.getInstance().SelectedDirectoryFullPath = Util.root + "/data";

            ViewController vc = CommonInstance.getInstance().controller;

            User1Area.StringValue = vc.udata1.name + "\n" +
                                    String.Format("{0:0000}/{1:00}/{2:00}-{3:00}:{4:00}:{5:00}",
                                                  vc.udata1.time.Year,
                                                  vc.udata1.time.Month,
                                                  vc.udata1.time.Day,
                                                  vc.udata1.time.Hour,
                                                  vc.udata1.time.Minute,
                                                  vc.udata1.time.Second
                                                  );
            User2Area.StringValue = vc.udata2.name + "\n" +
                                    String.Format("{0:0000}/{1:00}/{2:00}-{3:00}:{4:00}:{5:00}",
                                                  vc.udata2.time.Year,
                                                  vc.udata2.time.Month,
                                                  vc.udata2.time.Day,
                                                  vc.udata2.time.Hour,
                                                  vc.udata2.time.Minute,
                                                  vc.udata2.time.Second
                                                  );
            Event1Area.StringValue = vc.edata1.name + "\n" +
                                     String.Format("{0:0000}/{1:00}/{2:00}-{3:00}:{4:00}:{5:00}",
                                                   vc.edata1.time.Year,
                                                   vc.edata1.time.Month,
                                                   vc.edata1.time.Day,
                                                   vc.edata1.time.Hour,
                                                   vc.edata1.time.Minute,
                                                   vc.edata1.time.Second
                                                   );
            Event2Area.StringValue = vc.edata2.name + "\n" +
                                     String.Format("{0:0000}/{1:00}/{2:00}-{3:00}:{4:00}:{5:00}",
                                                   vc.edata2.time.Year,
                                                   vc.edata2.time.Month,
                                                   vc.edata2.time.Day,
                                                   vc.edata2.time.Hour,
                                                   vc.edata2.time.Minute,
                                                   vc.edata2.time.Second
                                                   );
        }
コード例 #27
0
        //public override void PrepareForSegue(NSStoryboardSegue segue, NSObject sender)
        //{
        //    base.PrepareForSegue(segue, sender);
        //    switch (segue.Identifier)
        //    {
        //        case "SettingSegue":
        //            var settingWindow = segue.DestinationController as SettingsViewController;
        //            settingWindow.Title = "設定";
        //            settingWindow.config = config;
        //            settingWindow.settings = settings;
        //            break;
        //    }
        //}

        /// <summary>
        /// 描画部分
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void CanvasPaint(object sender, SKPaintSurfaceEventArgs e)
        {
            string[] signs         = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l" };
            string[] planets       = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "O", "L" };
            var      surface       = e.Surface;
            var      surfaceWidth  = e.Info.Width;
            var      surfaceHeight = e.Info.Height;
            SKCanvas cvs           = e.Surface.Canvas;

            cvs.Clear();
            SKRect  bg      = new SKRect(0, 0, CenterX * 2, CenterY * 2);
            SKPaint bgStyle = new SKPaint();

            bgStyle.Color = new SKColor(255, 255, 255, 255);
            cvs.DrawRect(bg, bgStyle);
//            cvs.Translate(50, 50);
            SKPaint lineStyle = new SKPaint();

            lineStyle.Style = SKPaintStyle.Stroke;

            SKPaint p = new SKPaint();

            p.Style = SKPaintStyle.Fill;
            // outer
            cvs.DrawCircle(CenterX, CenterY, diameter, lineStyle);
            // inner
            cvs.DrawCircle(CenterX, CenterY, diameter - zodiacWidth, lineStyle);

            double offset         = 0;
            float  centerDiameter = centerDiameterBase;

            // ring描画
            if (CommonInstance.getInstance().currentSetting.bands == 1)
            {
                // center
                cvs.DrawCircle(CenterX, CenterY, centerDiameter, lineStyle);
            }
            else if (CommonInstance.getInstance().currentSetting.bands == 2)
            {
                // center
                // 中心円を少し縮める
                centerDiameter = centerDiameterBase - 80;
                cvs.DrawCircle(CenterX, CenterY, centerDiameter, lineStyle);

                offset = (diameter - zodiacWidth - centerDiameter) / 2;
                cvs.DrawCircle(CenterX, CenterY, (float)(centerDiameter + offset), lineStyle);
            }
            else if (CommonInstance.getInstance().currentSetting.bands == 3)
            {
                // center
                // 中心円を少し縮める
                centerDiameter = centerDiameterBase - 80;
                cvs.DrawCircle(CenterX, CenterY, centerDiameter, lineStyle);

                offset = (diameter - zodiacWidth - centerDiameter) / 3;
                cvs.DrawCircle(CenterX, CenterY, (float)(centerDiameter + offset), lineStyle);
                cvs.DrawCircle(CenterX, CenterY, (float)(centerDiameter + offset * 2), lineStyle);
            }
            else if (CommonInstance.getInstance().currentSetting.bands == 4)
            {
                // center
                // 中心円を少し縮める
                centerDiameter = centerDiameterBase - 80;
                cvs.DrawCircle(CenterX, CenterY, centerDiameter, lineStyle);

                offset = (diameter - zodiacWidth - centerDiameter) / 4;
                cvs.DrawCircle(CenterX, CenterY, (float)(centerDiameter + offset), lineStyle);
                cvs.DrawCircle(CenterX, CenterY, (float)(centerDiameter + offset * 2), lineStyle);
                cvs.DrawCircle(CenterX, CenterY, (float)(centerDiameter + offset * 3), lineStyle);
            }
            else if (CommonInstance.getInstance().currentSetting.bands == 5)
            {
                // center
                // 中心円を少し縮める
                centerDiameter = centerDiameterBase - 80;
                cvs.DrawCircle(CenterX, CenterY, centerDiameter, lineStyle);

                offset = (diameter - zodiacWidth - centerDiameter) / 5;
                cvs.DrawCircle(CenterX, CenterY, (float)(centerDiameter + offset), lineStyle);
                cvs.DrawCircle(CenterX, CenterY, (float)(centerDiameter + offset * 2), lineStyle);
                cvs.DrawCircle(CenterX, CenterY, (float)(centerDiameter + offset * 3), lineStyle);
                cvs.DrawCircle(CenterX, CenterY, (float)(centerDiameter + offset * 4), lineStyle);
            }


            // house cusps
            Position housePt;
            Position housePtEnd;
            SKPaint  lineStyle1 = new SKPaint();

            lineStyle1.StrokeWidth = 2.5F;
            SKPaint lineStyle2 = new SKPaint();

            lineStyle2.PathEffect  = SKPathEffect.CreateDash(new[] { 5F, 2F }, 1.0F);
            lineStyle2.StrokeWidth = 1.5F;
            for (int i = 1; i <= 12; i++)
            {
                housePt      = Util.Rotate(diameter - zodiacWidth, 0, ringsData[0].cusps[i] - ringsData[0].cusps[1]);
                housePt.x    = housePt.x + CenterX;
                housePt.y    = -1 * housePt.y + CenterY;
                housePtEnd   = Util.Rotate(centerDiameter, 0, ringsData[0].cusps[i] - ringsData[0].cusps[1]);
                housePtEnd.x = housePtEnd.x + CenterX;
                housePtEnd.y = -1 * housePtEnd.y + CenterY;
                if (i == 1 || i == 4 || i == 7 || i == 10)
                {
                    cvs.DrawLine((float)housePt.x, (float)housePt.y, (float)housePtEnd.x, (float)housePtEnd.y, lineStyle1);
                }
                else
                {
                    cvs.DrawLine((float)housePt.x, (float)housePt.y, (float)housePtEnd.x, (float)housePtEnd.y, lineStyle2);
                }
            }

            // sign cusps
            Position signPt;
            Position signPtEnd;

            for (int i = 1; i <= 12; i++)
            {
                signPt      = Util.Rotate(diameter, 0, 30 * i - ringsData[0].cusps[1]);
                signPt.x    = signPt.x + CenterX;
                signPt.y    = -1 * signPt.y + CenterY;
                signPtEnd   = Util.Rotate(diameter - zodiacWidth, 0, 30 * i - ringsData[0].cusps[1]);
                signPtEnd.x = signPtEnd.x + CenterX;
                signPtEnd.y = -1 * signPtEnd.y + CenterY;
                cvs.DrawLine((float)signPt.x, (float)signPt.y, (float)signPtEnd.x, (float)signPtEnd.y, lineStyle);
            }

            System.Reflection.Assembly asm =
                System.Reflection.Assembly.GetExecutingAssembly();
            SKManagedStream stream = new SKManagedStream(asm.GetManifestResourceStream("microcosm.system.AstroDotBasic.ttf"));
            {
                // ♈〜♓までのシンボル
                p.Typeface = SKTypeface.FromStream(stream);
                p.TextSize = 48;
                Position signValuePt;
                SKColor  pink = SKColors.Pink;
                p.Color = pink;
                for (int i = 0; i < signs.Length; i++)
                {
                    signValuePt   = Util.Rotate(diameter - 30, 0, 15 + 30 * i - ringsData[0].cusps[1]);
                    signValuePt.x = signValuePt.x + CenterX - 15;
                    signValuePt.y = -1 * signValuePt.y + CenterY + 20;
                    p.Color       = CommonData.getSignColor(30 * i);
                    cvs.DrawText(signs[i], (float)signValuePt.x, (float)signValuePt.y, p);
                }
                p.Color = SKColors.Black;
            }


            // 天体そのもの
            // 天体度数
            SKPaint degreeText = new SKPaint()
            {
                TextSize = 24,
                Style    = SKPaintStyle.Fill
            };

            int[] box          = new int[72];
            int   planetOffset = 0;
            IOrderedEnumerable <PlanetData> sortPlanetData = ringsData[0].planetData.OrderBy(planetTmp => planetTmp.absolute_position);

            foreach (PlanetData planet in sortPlanetData)
            {
                if (!CommonInstance.getInstance().currentSetting.dispPlanet[0][planet.no])
                {
                    continue;
                }

                int index = (int)(planet.absolute_position / 5);

                BoxInit(ref box, ref index, planet.absolute_position);

                // 天体そのもの
                planetOffset = GetPlanetOffset(1);
                DrawPlanetText(index, ringsData[0].cusps[1], planet, p, cvs, degreeText, planetOffset, 40, 5, 20, 10, 10);
            }
//            cvs.DrawText(ringsData[0].cusps[1].ToString(), 80, 250, new SKPaint());

            // 二重円の天体
            if (CommonInstance.getInstance().currentSetting.bands > 1)
            {
                int[] box2 = new int[72];
                IOrderedEnumerable <PlanetData> sortPlanetData2 = ringsData[1].planetData.OrderBy(planetTmp => planetTmp.absolute_position);
                foreach (PlanetData planet in sortPlanetData2)
                {
                    if (!CommonInstance.getInstance().currentSetting.dispPlanet[1][planet.no])
                    {
                        continue;
                    }

                    int index = (int)(planet.absolute_position / 5);

                    BoxInit(ref box2, ref index, planet.absolute_position);

                    planetOffset = GetPlanetOffset(2);
                    DrawPlanetText(index, ringsData[1].cusps[1], planet, p, cvs, degreeText, planetOffset, 35, 10, 20, 15, 10);
                }
            }

            // 三重円の天体
            if (CommonInstance.getInstance().currentSetting.bands > 2)
            {
                int[] box3 = new int[72];
                IOrderedEnumerable <PlanetData> sortPlanetData3 = ringsData[2].planetData.OrderBy(planetTmp => planetTmp.absolute_position);
                foreach (PlanetData planet in sortPlanetData3)
                {
                    if (!CommonInstance.getInstance().currentSetting.dispPlanet[2][planet.no])
                    {
                        continue;
                    }

                    int index = (int)(planet.absolute_position / 5);

                    BoxInit(ref box3, ref index, planet.absolute_position);

                    planetOffset = GetPlanetOffset(3);
                    DrawPlanetText(index, ringsData[0].cusps[1], planet, p, cvs, degreeText, planetOffset, 35, 10, 20, 15, 10);
                }
            }

            // 四重円の天体
            if (CommonInstance.getInstance().currentSetting.bands > 3)
            {
                int[] box4 = new int[72];
                IOrderedEnumerable <PlanetData> sortPlanetData4 = ringsData[3].planetData.OrderBy(planetTmp => planetTmp.absolute_position);
                foreach (PlanetData planet in sortPlanetData4)
                {
                    if (!CommonInstance.getInstance().currentSetting.dispPlanet[3][planet.no])
                    {
                        continue;
                    }

                    int index = (int)(planet.absolute_position / 5);

                    BoxInit(ref box4, ref index, planet.absolute_position);

                    planetOffset = GetPlanetOffset(4);
                    DrawPlanetText(index, ringsData[3].cusps[1], planet, p, cvs, degreeText, planetOffset, 35, 10, 20, 15, 10);
                }
            }

            // 五重円の天体
            if (CommonInstance.getInstance().currentSetting.bands > 4)
            {
                int[] box5 = new int[72];
                IOrderedEnumerable <PlanetData> sortPlanetData5 = ringsData[4].planetData.OrderBy(planetTmp => planetTmp.absolute_position);
                foreach (PlanetData planet in sortPlanetData5)
                {
                    if (!CommonInstance.getInstance().currentSetting.dispPlanet[4][planet.no])
                    {
                        continue;
                    }

                    int index = (int)(planet.absolute_position / 5);

                    BoxInit(ref box5, ref index, planet.absolute_position);

                    planetOffset = GetPlanetOffset(5);
                    DrawPlanetText(index, ringsData[4].cusps[1], planet, p, cvs, degreeText, planetOffset, 35, 10, 20, 15, 10);
                }
            }

            // aspects
            Position aspectPt;
            Position aspectPtEnd;
            Position aspectSymbolPt;
            SKColor  black      = SKColors.Black;
            SKColor  crimson    = SKColors.Crimson;
            SKColor  orange     = SKColors.Orange;
            SKColor  purple     = SKColors.Purple;
            SKColor  green      = SKColors.Green;
            SKPaint  aspectLine = new SKPaint();

            aspectLine.Style       = SKPaintStyle.Stroke;
            aspectLine.StrokeWidth = 2.0F;
            SKPaint aspectSymboolText = new SKPaint()
            {
                TextSize = 24,
                Style    = SKPaintStyle.Fill
            };

            // aspectsData[0, 0] => natal-natal
            for (int i = 0; i < aspectsData[0, 0].Count; i++)
            {
                if (!aspectsData[0, 0][i].isDisp)
                {
                    Console.WriteLine(String.Format("{0} nodisp", i.ToString()));
                    continue;
                }
                aspectPt   = Util.Rotate(centerDiameter, 0, aspectsData[0, 0][i].absoluteDegree - ringsData[0].cusps[1]);
                aspectPt.x = aspectPt.x + CenterX;
                aspectPt.y = -1 * aspectPt.y + CenterY;

                aspectPtEnd   = Util.Rotate(centerDiameter, 0, aspectsData[0, 0][i].targetDegree - ringsData[0].cusps[1]);
                aspectPtEnd.x = aspectPtEnd.x + CenterX;
                aspectPtEnd.y = -1 * aspectPtEnd.y + CenterY;

                aspectSymbolPt   = Util.Rotate(diameter - 160, 0, aspectsData[0, 0][i].targetDegree - ringsData[0].cusps[1]);
                aspectSymbolPt.x = aspectSymbolPt.x + CenterX;
                aspectSymbolPt.y = -1 * aspectSymbolPt.y + CenterY + 10;

                GetAspectLineAndText(aspectsData[0, 0][i].aspectKind, ref aspectLine, ref aspectSymboolText);
                DrawAspect(cvs, aspectsData[0, 0][i], aspectPt, aspectPtEnd, aspectLine, degreeText);
            }
            if (CommonInstance.getInstance().currentSetting.bands > 1)
            {
                offset = (diameter - zodiacWidth - centerDiameter) / CommonInstance.getInstance().currentSetting.bands;

                // aspectsData[0, 1] => natal-progress
                for (int i = 0; i < aspectsData[0, 1].Count; i++)
                {
                    if (!aspectsData[0, 1][i].isDisp)
                    {
                        Console.WriteLine(String.Format("{0} nodisp", i.ToString()));
                        continue;
                    }
                    aspectPt   = Util.Rotate(centerDiameter, 0, aspectsData[0, 1][i].absoluteDegree - ringsData[0].cusps[1]);
                    aspectPt.x = aspectPt.x + CenterX;
                    aspectPt.y = -1 * aspectPt.y + CenterY;

                    aspectPtEnd   = Util.Rotate(centerDiameter + offset, 0, aspectsData[0, 1][i].targetDegree - ringsData[0].cusps[1]);
                    aspectPtEnd.x = aspectPtEnd.x + CenterX;
                    aspectPtEnd.y = -1 * aspectPtEnd.y + CenterY;

                    aspectSymbolPt   = Util.Rotate(diameter - 160, 0, aspectsData[0, 1][i].targetDegree - ringsData[0].cusps[1]);
                    aspectSymbolPt.x = aspectSymbolPt.x + CenterX;
                    aspectSymbolPt.y = -1 * aspectSymbolPt.y + CenterY + 10;


                    GetAspectLineAndText(aspectsData[0, 1][i].aspectKind, ref aspectLine, ref aspectSymboolText);
                    DrawAspect(cvs, aspectsData[0, 1][i], aspectPt, aspectPtEnd, aspectLine, degreeText);
                }
                for (int i = 0; i < aspectsData[1, 1].Count; i++)
                {
                    if (!aspectsData[1, 1][i].isDisp)
                    {
                        Console.WriteLine(String.Format("{0} nodisp", i.ToString()));
                        continue;
                    }
                    aspectPt   = Util.Rotate(centerDiameter + offset, 0, aspectsData[1, 1][i].absoluteDegree - ringsData[0].cusps[1]);
                    aspectPt.x = aspectPt.x + CenterX;
                    aspectPt.y = -1 * aspectPt.y + CenterY;

                    aspectPtEnd   = Util.Rotate(centerDiameter + offset, 0, aspectsData[1, 1][i].targetDegree - ringsData[0].cusps[1]);
                    aspectPtEnd.x = aspectPtEnd.x + CenterX;
                    aspectPtEnd.y = -1 * aspectPtEnd.y + CenterY;

                    aspectSymbolPt   = Util.Rotate(diameter - 160, 0, aspectsData[1, 1][i].targetDegree - ringsData[0].cusps[1]);
                    aspectSymbolPt.x = aspectSymbolPt.x + CenterX;
                    aspectSymbolPt.y = -1 * aspectSymbolPt.y + CenterY + 10;


                    GetAspectLineAndText(aspectsData[1, 1][i].aspectKind, ref aspectLine, ref aspectSymboolText);
                    DrawAspect(cvs, aspectsData[1, 1][i], aspectPt, aspectPtEnd, aspectLine, degreeText);
                }
            }
            cvs.Flush();
        }
コード例 #28
0
 public override void ViewDidLoad()
 {
     base.ViewDidLoad();
     Place.StringValue = CommonInstance.getInstance().userAdd.GetUserPlace();
 }
コード例 #29
0
        /// <summary>
        /// 初期化周り
        /// </summary>
        private void MainInit()
        {
            var root = Util.root;

            if (!Directory.Exists(root + "/system"))
            {
                Directory.CreateDirectory(root + "/system");
            }
            if (!Directory.Exists(root + "/data"))
            {
                Directory.CreateDirectory(root + "/data");
            }

            var bundle = Path.Combine(NSBundle.MainBundle.BundlePath, "Contents", "Resources", "system");

            if (!File.Exists(root + "/system/config.csm"))
            {
                File.Copy(bundle + "/config.csm", root + "/system/config.csm");
            }

            for (int i = 0; i < 10; i++)
            {
                if (!File.Exists(root + "/system/setting" + i.ToString() + ".csm"))
                {
                    File.Copy(bundle + "/setting" + i.ToString() + ".csm", root + "/system/setting" + i.ToString() + ".csm");
                }
            }

            if (!File.Exists(root + "/system/addr.csv"))
            {
                File.Copy(bundle + "/addr.csv", root + "/system/addr.csv");
            }

            config   = ConfigFromXml.GetConfigFromXml(root + "/system/config.csm");
            settings = new SettingData[10];
            for (int i = 0; i < 10; i++)
            {
                settings[i]       = SettingFromXml.GetSettingFromXml(root + "/system/setting" + i.ToString() + ".csm", i);
                settings[i].bands = 1;
            }
            CommonInstance.getInstance().config              = config;
            CommonInstance.getInstance().settings            = settings;
            CommonInstance.getInstance().currentSetting      = settings[0];
            CommonInstance.getInstance().currentSettingIndex = 0;

            ReSetSettingMenu();

            calc         = new AstroCalc();
            ringsData[0] = ringsData[1] = ringsData[2] = ringsData[3] = ringsData[4] = ringsData[5] = ringsData[6] =
                calc.ReCalc(config, settings[0], new UserData());

            //            Console.WriteLine(config.defaultPlace);

            // aspect calc
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    aspectsData[i, j] = new List <AspectInfo>();
                }
            }
            aspect = new AspectCalc();
            foreach (int i in Enumerable.Range(0, 4))
            {
                aspectsData[i, i] = aspect.AspectCalcSame(ringsData[i].planetData, i);
            }

            int ringIndexFrom = 0;
            int ringIndexTo   = 0;

            for (ringIndexFrom = 0; ringIndexFrom < 5; ringIndexFrom++)
            {
                for (ringIndexTo = 0; ringIndexTo < 5; ringIndexTo++)
                {
                    if (ringIndexFrom == ringIndexTo)
                    {
                        continue;
                    }
                    aspectsData[ringIndexFrom, ringIndexTo] =
                        aspect.AspectCalcOther(ringsData[ringIndexFrom].planetData,
                                               ringsData[ringIndexTo].planetData,
                                               ringIndexFrom,
                                               ringIndexTo);
                }
            }

            ReSetUserBox();

            // cuspList
            CuspListDataSource CDataSource = new CuspListDataSource();

            for (int i = 1; i <= 12; i++)
            {
                CDataSource.list.Add(new CuspListData()
                {
                    Degree1 = ringsData[0].cusps[i],
                    Degree2 = ringsData[1].cusps[i],
                    Degree3 = ringsData[2].cusps[i]
                });
            }

            CuspList.DataSource = CDataSource;
            CuspList.Delegate   = new CuspListDelegate(CDataSource);


/*
 *          SKCanvasView sk = new SKCanvasView(new CGRect(0, 0, 690, 720));
 *          sk.PaintSurface += CanvasPaint;
 *          horoscopeCanvas.AddSubview(sk);
 */

            // time setter
            DateSetterDatePicker.DateValue = new NSDate();
            DateSetterCombo.SelectItem(0);

            ReRender();
        }
コード例 #30
0
 partial void SubmitClicked(NSObject sender)
 {
     CommonInstance.getInstance().userAdd.SetUserPlace(selectedPlace, selectedLat, selectedLng);
     DismissViewController(this);
 }