Esempio n. 1
0
    protected override void OnInit()
    {
        ExpenseAlert.createdExpense += AddExpense;
        base.OnInit();

        Instance = this;
    }
Esempio n. 2
0
 public TeacherStudentProject(Model.NotesViewModel.ProjectsNotes projStud, Model.prowadzacy teacher, ProjectPage projectPage)
 {
     _projectPage = projectPage;
     _teacher     = teacher;
     _projStud    = projStud;
     InitializeComponent();
 }
 public TeacherApplicationBlade(Model.projekty project, ProjectPage projectPage)
 {
     _projectPage = projectPage;
     _project     = project;
     InitializeComponent();
     UpdateView();
 }
Esempio n. 4
0
 public static void Show(ProjectPage page, Action <string, FactorioObject> callback = null)
 {
     Instance.editingPage = page;
     Instance.name        = page?.name;
     Instance.icon        = page?.icon;
     Instance.callback    = callback;
     MainScreen.Instance.ShowPseudoScreen(Instance);
 }
Esempio n. 5
0
 public ProjectViewModel(ProjectPage projectPage)
 {
     Title             = "Aufgabenübersicht";
     createTaskCommand = new Command(o => CreateTask());
     this.projectPage  = projectPage;
     this.taskService  = new TaskService();
     RefreshList();
 }
Esempio n. 6
0
 public AddInvoiceWithTwoRateSteps(ScenarioContext scenarioContext)
 {
     _webDriver       = scenarioContext["WEB_DRIVER"] as IWebDriver;
     invoiceModel     = new InvoiceModel(_webDriver);
     invoicePage      = new InvoicePage(_webDriver);
     homePage         = new HomePage(_webDriver);
     projectPage      = new ProjectPage(_webDriver);
     authenticatePage = new AuthenticatePage(_webDriver);
 }
Esempio n. 7
0
        public static void FillEditedProjectInformation(ProjectModel newProject)
        {
            var projectPage = new ProjectPage();

            projectPage.FillProjectName(newProject.name);
            projectPage.FillProjectStatus(newProject.status);
            projectPage.FillViewState(newProject.viewState);
            projectPage.FillProjectDescription(newProject.description);
        }
Esempio n. 8
0
 // Copy constructor.
 public ProjectPage(ProjectPage previousPage)
 {
     OriginalColors   = previousPage.OriginalColors;
     OriginalNameBMP  = previousPage.OriginalNameBMP;
     OriginalNameJpg  = previousPage.OriginalNameJpg;
     OriginalSize     = previousPage.OriginalSize;
     ImitationColors  = previousPage.ImitationColors;
     ImitationNameBMP = previousPage.ImitationNameBMP;
     ImitationSize    = previousPage.ImitationSize;
 }
Esempio n. 9
0
        public ActionResult AddImage(HttpPostedFileBase uploadedFile)
        {
            // uploadedFileパラメータは、Get用のアクションメソッドと区別するためのダミーとする。
            // 画像ファイルの扱いはWebImageクラスを使用する。
            var image = WebImage.GetImageFromRequest();

            if (image == null)
            {
                // 画像ファイルとして不適切
                return(RedirectToAction("Index"));
            }

            // TODO: トランザクション

            // 現在のプロジェクトと一緒に、実行ユーザーと所属企業もAttachされる。
            db.Configuration.ProxyCreationEnabled = false;
            db.Projects.Attach(this.Project);

            db.Entry(this.Project).Reference(x => x.ProjectPage).Query().Include(x => x.PageContents).Load();
            var projectPage = this.Project.ProjectPage;

            if (projectPage == null)
            {
                projectPage = new ProjectPage
                {
                    Created = ctx.Now
                };
                this.Project.ProjectPage = projectPage;
            }

            var document = new Document()
            {
                ID            = Guid.NewGuid(),
                BinaryData    = image.GetBytes(),
                FileExtension = "." + image.ImageFormat,
                Uploaded      = ctx.Now,
                User          = ctx.CurrentUser
            };

            db.Documents.Add(document);

            var content = new PageContent
            {
                ProjectPage = projectPage,
                DocumentID  = document.ID
            };

            projectPage.PageContents.Add(content);

            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
Esempio n. 10
0
 public override void SetModel(ProjectPage page)
 {
     if (model != null)
     {
         projectPage.contentChanged -= Rebuild;
     }
     projectPage = page;
     model       = page?.content as T;
     if (model != null)
     {
         projectPage.contentChanged += Rebuild;
         Rebuild();
     }
 }
Esempio n. 11
0
 public override void SetModel(ProjectPage page)
 {
     if (model != null)
     {
         projectPage.contentChanged -= Rebuild;
     }
     InputSystem.Instance.SetKeyboardFocus(this);
     projectPage = page;
     model       = page?.content as T;
     if (model != null)
     {
         projectPage.contentChanged += Rebuild;
         Rebuild();
     }
 }
Esempio n. 12
0
        public override void SetUp()
        {
            base.SetUp();
            Utilities.Login(fixture.Driver);

            // подготовка тестовых данных
            string projectName = "Autotest for tasks project " + DateTime.Now;

            ProjectsRequests.CreateProject(projectName);
            int    projectId       = ProjectsRequests.GetProjectId(projectName);
            string requestTaskName = "Autotest task from request" + DateTime.Now;

            TasksRequests.CreateTask(projectId, requestTaskName, "content");
            int taskId = TasksRequests.GetTaskId(projectId, requestTaskName);

            page     = new ProjectPage(fixture.Driver, projectId);
            taskPage = new TaskPage(fixture.Driver, projectId, taskId);
        }
Esempio n. 13
0
        public ActionResult AddSection([Bind(Include = "title")] Models.ProjectPages.Section section)
        {
            if (section == null)
            {
                return(RedirectToAction("Index"));
            }

            if (string.IsNullOrEmpty(section.title))
            {
                return(RedirectToAction("Index"));
            }

            // TODO: トランザクション

            // 現在のプロジェクトと一緒に、実行ユーザーと所属企業もAttachされる。
            db.Configuration.ProxyCreationEnabled = false;
            db.Projects.Attach(this.Project);

            // PageContentsは不要のため、ProjectPageだけ読み取る。
            db.Entry(this.Project).Reference(x => x.ProjectPage).Load();
            var projectPage = this.Project.ProjectPage;

            if (projectPage == null)
            {
                projectPage = new ProjectPage
                {
                    Created = ctx.Now
                };
                this.Project.ProjectPage = projectPage;
            }

            var pageBody = projectPage.PageBody ?? new Models.ProjectPages.PageBody();

            if (pageBody.sections == null)
            {
                pageBody.sections = new List <Models.ProjectPages.Section>();
            }
            pageBody.sections.Add(section);
            projectPage.UpdatePageBody(pageBody);

            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
Esempio n. 14
0
        public MainViewModel(int user_id, Page current_page)
        {
            CurrentUser = MainModel.GetUser(user_id);
            ProjectPage = new ProjectPage(CurrentUser.Id);
            CurrentPageSetter(current_page);
            if (CurrentUser.Icon == null)
            {
                System.Drawing.Image imageIn = System.Drawing.Image.FromFile("..\\..\\Resources\\DefaultImage\\user.png");
                using (var ms = new MemoryStream())
                {
                    imageIn.Save(ms, imageIn.RawFormat);
                    СurrentImage = ms.ToArray();
                }
            }
            else
            {
                СurrentImage = CurrentUser.Icon;
            }

            FullName = CurrentUser.Surname + " " + CurrentUser.Name;
        }
Esempio n. 15
0
        public ActionResult Projects()
        {
            var category = _context.Categories
                           .Where(i => i.IsVisible == true)
                           .Select(i => new CategoryModel()
            {
                Id          = i.Id,
                Name        = i.Name,
                Description = i.Description
            }).ToList();


            var projects = _context.Projects
                           .Include(p => p.Categories)
                           .Include(p => p.Clients)
                           .Include(p => p.ImageFolders)
                           .Where(i => i.IsVisible == true)
                           .Select(i => new ProjectModel()
            {
                Id            = i.Id,
                Name          = i.Name,
                Description   = i.Description,
                Date          = i.Date,
                Price         = i.Price,
                CategoryId    = i.CategoryId,
                Categories    = i.Categories,
                ClientId      = i.ClientId,
                Clients       = i.Clients,
                ImageFolderId = i.ImageFolderId,
                ImageFolders  = i.ImageFolders
            }).ToList();

            ProjectPage projectPage = new ProjectPage {
                Category = category, Project = projects
            };



            return(View(projectPage));
        }
Esempio n. 16
0
        public async Task <IActionResult> Index()
        {
            var parameters = GetParameters();

            var loggedUser = this.GetLoggedUser();

            var tasks = sortTasks(await Utils.CommunGet.GetTaskByProjectId(parameters["projectId"], parameters["filter"], parameters["myTasks"], this.UserId()));

            var project = (await Utils.CommunGet.GetProjectById(parameters["projectId"]));

            var collaborators = await Utils.CommunGet.GetCollaboratorsByRole(parameters["projectId"], 2);

            var managers = await Utils.CommunGet.GetCollaboratorsByRole(parameters["projectId"], 1);

            var creators = await Utils.CommunGet.GetCollaboratorsByRole(parameters["projectId"], 0);

            if (creators.Any(x => x.id == loggedUser.id))
            {
                loggedUser.role = 0;
            }
            else if (managers.Any(x => x.id == loggedUser.id))
            {
                loggedUser.role = 1;
            }

            _projectPage = new ProjectPage()
            {
                Project       = project,
                LoggedUser    = loggedUser,
                Tasks         = tasks,
                Collaborators = collaborators,
                Mangers       = managers,
                Creators      = creators,
                OpenedTask    = long.Parse(parameters["taskOpen"]),
                isMyTasks     = bool.Parse(parameters["myTasks"])
            };

            return(View(_projectPage));
        }
        public async Task GetProject(int?id)
        {
            string userId = AuthJWT.GetCurrentId(HttpContext, out int status);

            if (status != 0 || userId == null)
            {
                userId = null;
            }
            var proj = await Project.Get(_db, id);

            if (proj == null)
            {
                Response.StatusCode = 404;
                return;// null;
            }
            var res = await ProjectPage.LoadAllForView(_db, proj, userId);


            Response.ContentType = "application/json";
            await Response.WriteAsync(JsonConvert.SerializeObject(res, new JsonSerializerSettings {
                Formatting = Formatting.Indented
            }));
        }
Esempio n. 18
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView(Resource.Layout.main);

            Forms.Init(this, bundle);

            MessagingCenter.Instance.Subscribe <string[]>(this, "DisplayAlert", (s) =>
            {
                DisplayAlert(s);
            });

            MessagingCenter.Instance.Subscribe <ProjectOnlineMobile2.Models2.UserModel>(this, "UserInfo", (userInfo) =>
            {
                UserName  = userInfo.UserName;
                UserEmail = userInfo.UserEmail;
            });

            MessagingCenter.Instance.Subscribe <String>(this, "TimesheetPeriod", (tsp) =>
            {
                TimesheetPeriod = tsp;
            });

            MessagingCenter.Instance.Subscribe <String>(this, "TimesheetStatus", (status) =>
            {
                SetTimesheetStatus(status);
            });

            MessagingCenter.Instance.Subscribe <ProjectOnlineMobile2.Models2.LineModel.LineModel>(this, "PushTimesheetWorkPage", (timesheetLine) =>
            {
                PushTimesheetWorkPage(timesheetLine);
            });

            MessagingCenter.Instance.Subscribe <string>(this, "ShowProjectDetails", (projectName) =>
            {
                ShowProjectDetails(projectName);
            });

            MessagingCenter.Instance.Subscribe <string>(this, "ShowEditTaskPage", (s) =>
            {
                PushOtherPages(Resource.Id.menu_tasks, "Edit task", Resource.Menu.edit_task_menu, _editTaskFragment);
            });

            MessagingCenter.Instance.Subscribe <ProjectOnlineMobile2.Models2.LineModel.LineModel>(this, "EditComment", (line) =>
            {
                dialogHelper.DisplayUpdateLineDialog(line.Comment, line.ID.ToString());
            });

            toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
            if (toolbar != null)
            {
                SetSupportActionBar(toolbar);
                SupportActionBar.SetDisplayHomeAsUpEnabled(false);
                SupportActionBar.SetHomeButtonEnabled(false);
                toolbar.NavigationClick += (sender, e) => { GoBack(); };
            }

            bottomNavigation = FindViewById <BottomNavigationView>(Resource.Id.bottom_navigation);

            bottomNavigation.NavigationItemSelected += BottomNavigation_NavigationItemSelected;

            _homepageFragment      = new HomePage().CreateSupportFragment(this);
            _timesheetWorkFragment = new TimesheetWorkPage().CreateSupportFragment(this);
            _projectsFragment      = new ProjectPage().CreateSupportFragment(this);
            _tasksFragment         = new TasksPage().CreateSupportFragment(this);
            _timesheetFragment     = new TimesheetPage().CreateSupportFragment(this);

            _addProjectFragment  = new AddProjectPage().CreateSupportFragment(this);
            _addTaskFragment     = new AddTaskPage().CreateSupportFragment(this);
            _editTaskFragment    = new EditTaskPage().CreateSupportFragment(this);
            _projectInfoFragment = new ProjectInfoPage().CreateSupportFragment(this);

            dialogHelper = new DialogHelper(this);

            LoadFragment(Resource.Id.menu_projects);
        }
Esempio n. 19
0
 public override void SetModel(ProjectPage page)
 {
     base.SetModel(page);
     selectedRecipe = null;
 }
        public static void LoadProjectPageFromClipboard()
        {
            var         collector = new ErrorCollector();
            var         project   = Project.current;
            ProjectPage page      = null;

            try
            {
                var text            = SDL.SDL_GetClipboardText();
                var compressedBytes = Convert.FromBase64String(text.Trim());
                using (var deflateStream = new DeflateStream(new MemoryStream(compressedBytes), CompressionMode.Decompress))
                {
                    using (var ms = new MemoryStream())
                    {
                        deflateStream.CopyTo(ms);
                        var bytes = ms.GetBuffer();
                        var index = 0;
                        if (DataUtils.ReadLine(bytes, ref index) != "YAFC" || DataUtils.ReadLine(bytes, ref index) != "ProjectPage")
                        {
                            throw new InvalidDataException();
                        }
                        var version = new Version(DataUtils.ReadLine(bytes, ref index) ?? "");
                        if (version > YafcLib.version)
                        {
                            collector.Error("String was created with the newer version of YAFC (" + version + "). Data may be lost.", ErrorSeverity.Important);
                        }
                        DataUtils.ReadLine(bytes, ref index);           // reserved 1
                        if (DataUtils.ReadLine(bytes, ref index) != "") // reserved 2 but this time it is requried to be empty
                        {
                            throw new NotSupportedException("Share string was created with future version of YAFC (" + version + ") and is incompatible");
                        }
                        page = JsonUtils.LoadFromJson <ProjectPage>(new ReadOnlySpan <byte>(bytes, index, (int)ms.Length - index), project, collector);
                    }
                }
            }
            catch (Exception ex)
            {
                collector.Exception(ex, "Clipboard text does not contain valid YAFC share string", ErrorSeverity.Critical);
            }

            if (page != null)
            {
                var existing = project.FindPage(page.guid);
                if (existing != null)
                {
                    MessageBox.Show((haveChoice, choice) =>
                    {
                        if (!haveChoice)
                        {
                            return;
                        }
                        if (choice)
                        {
                            project.RecordUndo().pages.Remove(existing);
                        }
                        else
                        {
                            page.GenerateNewGuid();
                        }
                        project.RecordUndo().pages.Add(page);
                        MainScreen.Instance.SetActivePage(page);
                    }, "Page already exists",
                                    "Looks like this page already exists with name '" + existing.name + "'. Would you like to replace it or import as copy?", "Replace", "Import as copy");
                }
                else
                {
                    project.RecordUndo().pages.Add(page);
                    MainScreen.Instance.SetActivePage(page);
                }
            }

            if (collector.severity > ErrorSeverity.None)
            {
                ErrorListPanel.Show(collector);
            }
        }
Esempio n. 21
0
        public override async Task <string> Solve(ProjectPage page)
        {
            var processedGoods   = Database.goods.CreateMapping <Constraint>();
            var processedRecipes = Database.recipes.CreateMapping <Variable>();
            var processingStack  = new Queue <Goods>();
            var solver           = DataUtils.CreateSolver("BestFlowSolver");
            var rootConstraint   = solver.MakeConstraint();

            foreach (var root in roots)
            {
                processedGoods[root] = rootConstraint;
            }
            foreach (var goal in goals)
            {
                processedGoods[goal.item] = solver.MakeConstraint(goal.amount, double.PositiveInfinity, goal.item.name);
                processingStack.Enqueue(goal.item);
            }

            await Ui.ExitMainThread();

            var objective = solver.Objective();

            objective.SetMinimization();
            processingStack.Enqueue(null); // depth marker;
            var depth = 0;

            var allRecipes = new List <Recipe>();

            while (processingStack.Count > 1)
            {
                var item = processingStack.Dequeue();
                if (item == null)
                {
                    processingStack.Enqueue(null);
                    depth++;
                    continue;
                }

                var constraint = processedGoods[item];
                foreach (var recipe in item.production)
                {
                    if (!recipe.IsAccessibleWithCurrentMilestones())
                    {
                        continue;
                    }
                    if (processedRecipes[recipe] is Variable var)
                    {
                        constraint.SetCoefficient(var, constraint.GetCoefficient(var) + recipe.GetProduction(item));
                    }
                    else
                    {
                        allRecipes.Add(recipe);
                        var = solver.MakeNumVar(0, double.PositiveInfinity, recipe.name);
                        objective.SetCoefficient(var, recipe.RecipeBaseCost() * (1 + depth * 0.5));
                        processedRecipes[recipe] = var;

                        foreach (var product in recipe.products)
                        {
                            if (processedGoods[product.goods] is Constraint constr && !processingStack.Contains(product.goods))
                            {
                                constr.SetCoefficient(var, constr.GetCoefficient(var) + product.amount);
                            }
                        }

                        foreach (var ingredient in recipe.ingredients)
                        {
                            var proc = processedGoods[ingredient.goods];
                            if (proc == rootConstraint)
                            {
                                continue;
                            }
                            if (processedGoods[ingredient.goods] is Constraint constr)
                            {
                                constr.SetCoefficient(var, constr.GetCoefficient(var) - ingredient.amount);
                            }
                            else
                            {
                                constr = solver.MakeConstraint(0, double.PositiveInfinity, ingredient.goods.name);
                                processedGoods[ingredient.goods] = constr;
                                processingStack.Enqueue(ingredient.goods);
                                constr.SetCoefficient(var, -ingredient.amount);
                            }
                        }
                    }
                }
            }

            var solverResult = solver.Solve();

            Console.WriteLine("Solution completed with result " + solverResult);
            if (solverResult != Solver.ResultStatus.OPTIMAL && solverResult != Solver.ResultStatus.FEASIBLE)
            {
                Console.WriteLine(solver.ExportModelAsLpFormat(false));
                this.tiers = null;
                return("Model have no solution");
            }

            var graph = new Graph <Recipe>();

            allRecipes.RemoveAll(x =>
            {
                if (!(processedRecipes[x] is Variable variable))
                {
                    return(true);
                }
                if (variable.BasisStatus() != Solver.BasisStatus.BASIC || variable.SolutionValue() <= 1e-6d)
                {
                    processedRecipes[x] = null;
                    return(true);
                }
                return(false);
            });

            foreach (var recipe in allRecipes)
            {
                foreach (var ingredient in recipe.ingredients)
                {
                    foreach (var productionRecipe in ingredient.goods.production)
                    {
                        if (processedRecipes[productionRecipe] != null)
                        {
                            // TODO think about heuristics for selecting first recipe. Now chooses first (essentially random)
                            graph.Connect(recipe, productionRecipe);
                            //break;
                        }
                    }
                }
            }

            var subgraph        = graph.MergeStrongConnectedComponents();
            var allDependencies = subgraph.Aggregate(x => new HashSet <(Recipe, Recipe[])>(), (set, item, subset) =>
 public void SetUp()
 {
     this.driver = DriverFactory.CreateWebDriver(BrowserType.Chrome);
     loginPage   = new LoginPage(driver);
     projectPage = new ProjectPage(driver);
 }
Esempio n. 23
0
 public CombinationItem()
 {
     InitializeComponent();
     projectPage = new ProjectPage();
     xtraTabPage1.Controls.Add(projectPage);
 }
Esempio n. 24
0
 public InvestMoneySteps(IWebDriver driver)
 {
     _driver = driver;
     page    = new ProjectPage(driver);
 }
Esempio n. 25
0
        public static ObservableCollection <ProjectItem> Create(Project model)
        {
            var win = new ProjectPage(model);

            return(Make(win));
        }
Esempio n. 26
0
        public JsonResult SavePage(int project_id, int page_index, string page_html, int? page_id = null)
        {
            ProjectPage page = new ProjectPage ();
            if (page_id != null) {
                page = ProjectPage.GetById (Convert.ToInt32 (page_id));
            }

            page.ProjectID = project_id;
            page.PageIndex = page_index;
            page.PageHtml = page_html;
            page.Save ();

            Response.ContentType = "application/json";
            return Json (page);
        }
Esempio n. 27
0
 protected override void OnCleanUp()
 {
     Instance = null;
     ExpenseAlert.createdExpense -= AddExpense;
     base.OnCleanUp();
 }