protected override void Handle(StartProjectTaskCommand request) { if (TaskRecorder.HasActiveTask) { DuplicateTaskValidator taskValidator = new DuplicateProjectTaskValidator(TaskRecorder.ActiveTask, request.ProjectDto.ID, request.ProjectStageDto.ID, request.WorksetDto.ID, request.IsAddCost, request.IsMistake); taskValidator.ValidateDuplicate(); } if (TaskService.AskBeforeStartNewTaskResult() == DialogResult.No) { return; } DateTime currentTime = Database.GetCurrentTime(); if (TaskRecorder.HasActiveTask) { TaskRepository.Finish(TaskRecorder.ActiveTask, currentTime); TaskRecorder.StopActiveTask(currentTime); } Project project = ProjectRepository.Load(request.ProjectDto.ID); ProjectStage projectStage = ProjectStageRepository.Load(request.ProjectStageDto.ID); Workset workset = WorksetRepository.Load(request.WorksetDto.ID); ProjectTask newProjectTask = TaskFactory.CreateProjectTask(TaskRepository.NextIdentity(), project, projectStage, workset, request.IsAddCost, request.IsMistake); TaskRepository.Save(newProjectTask, currentTime); TaskRecorder.StartNewTask(newProjectTask, currentTime); WorkTimer.Start(); }
public JudgeEmailMessage(string projectName, ProjectStage stage) { (string subject, string messageBody)emailDetails; switch (stage) { case ProjectStage.Approved: { emailDetails = Approve(projectName); break; } case ProjectStage.Rejected: { emailDetails = Reject(projectName); break; } case ProjectStage.Returned: { emailDetails = Return(projectName); break; } } }
/// <summary> /// Creates a new stage record /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void CreateOrganizationStageRecord(object sender, EventArgs e) { CaisisCheckBox eventCheckBox = sender as CaisisCheckBox; // Only need to save if checked if (eventCheckBox.Checked) { ProjectStage biz = new ProjectStage(); RepeaterItem rptrItem = eventCheckBox.NamingContainer as RepeaterItem; HiddenField orgIdField = rptrItem.FindControl("OrgIdField") as HiddenField; HiddenField stageIdField = rptrItem.FindControl("OrgStageIdField") as HiddenField; HiddenField projectStageId = rptrItem.NamingContainer.NamingContainer.FindControl("ProjectStageId") as HiddenField; Label sName = rptrItem.NamingContainer.NamingContainer.FindControl("StageLabel") as Label; HiddenField sColor = rptrItem.NamingContainer.NamingContainer.FindControl("StageColor") as HiddenField; // Only save a new stage record if one doesn't exist if (string.IsNullOrEmpty(stageIdField.Value)) { int orgId = int.Parse(orgIdField.Value); int projStageId = int.Parse(projectStageId.Value); string stageName = sName.Text; ProjectStage stageBiz = new ProjectStage(); stageBiz[ProjectStage.ProjectId] = projectId; stageBiz[ProjectStage.OrganizationId] = orgId; stageBiz[ProjectStage.Name] = stageName; stageBiz[ProjectStage.ColorCode] = sColor.Value; stageBiz.Save(); int orgStageId = int.Parse(stageBiz[ProjectStage.StageId].ToString()); stageIdField.Value = orgStageId.ToString(); } } }
public async Task <IActionResult> PostStageProgress([FromBody] StageProgress stageProgress) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } ProjectStage projectStage = _context.ProjectStages.Where(l => l.ProjectStageId == stageProgress.ProjectStageId).FirstOrDefault(); if (projectStage == null) { return(BadRequest("Pasirinktas nekorektiškas projekto etapas")); } stageProgress = calculateSPI(stageProgress); if (stageProgress.SPI == -1) { return(BadRequest("Netinkamos projekto etapo datos - skaičiuojant rodiklius gaunama dalyba iš nulio")); } stageProgress.Date = stageProgress.Date.ToLocalTime(); _context.StageProgresses.Add(stageProgress); await _context.SaveChangesAsync(); return(CreatedAtAction("GetStageProgress", new { id = stageProgress.StageProgressId }, stageProgress)); }
public StageProgress calculateSPI(StageProgress stageProgress) { StageProgress progress = stageProgress; progress.SPI = -1; ProjectStage projectStage = _context.ProjectStages.Where(l => l.ProjectStageId == progress.ProjectStageId).FirstOrDefault(); if (projectStage != null && projectStage.StartDate != null) { double timeElapsed = GetNumberOfBusinessDays(projectStage.StartDate, progress.Date) * 100; double timePlanned = GetNumberOfBusinessDays(projectStage.ScheduledStartDate, projectStage.ScheduledEndDate); if (timeElapsed != 0 && timePlanned != 0) { progress.ScheduledPercentage = timeElapsed / timePlanned; progress.SPI = progress.Percentage / progress.ScheduledPercentage; progress.ScheduledPercentage = Convert.ToDouble(String.Format("{0:0.00}", progress.ScheduledPercentage)); progress.SPI = Convert.ToDouble(String.Format("{0:0.00}", progress.SPI)); } } return(progress); }
/// <summary> /// Deletes a stage record and reloads Organization's summary page. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void DeleteStage(object sender, EventArgs e) { // Delete assocaited events //ProjectStageEvent events = new ProjectStageEvent(); //events.GetByParent(stageId); //int[] deleteKeys = new int[events.DataSourceView.Table.Rows.Count]; DataTable table = BusinessObject.GetByParentAsDataView <ProjectStageEvent>(stageId).Table; int[] deleteKeys = new int[table.Rows.Count]; //for (int i = 0; i < events.DataSourceView.Table.Rows.Count; i++) for (int i = 0; i < table.Rows.Count; i++) { //DataRow row = events.DataSourceView.Table.Rows[i]; DataRow row = table.Rows[i]; int eventId = int.Parse(row[ProjectStageEvent.StageEventId].ToString()); deleteKeys[i] = eventId; } foreach (int eventId in deleteKeys) { //events.Delete(eventId); ProjectStageEvent ev = new ProjectStageEvent(); ev.Delete(eventId); } // Finally delete Stage. ProjectStage biz = new ProjectStage(); biz.Delete(stageId); // Call client script which loads summary section and hilights summary in navigation RegisterPageReload(); }
protected void lbtnSubmit_Click(object sender, EventArgs e) { if (UpLoadFile() == false) { Response.Write("<script>alert('请上传项目文件!');</script>"); } else { int project_id = Convert.ToInt32(Request.QueryString["id"]); int stage = Convert.ToInt32(Request.QueryString["stage"]); using (var db = new TeachingCenterEntities()) { var project = (from it in db.ProjectStage where it.project_id == project_id && it.stage == stage select it).FirstOrDefault(); ProjectStage newStage = new ProjectStage(); newStage.project_id = project_id; newStage.project_content = UeditorHelper.Change(myEditor11.InnerHtml); newStage.project_file = "file/" + FileUp.PostedFile.FileName; newStage.stage = stage + 1; newStage.time = DateTime.Now.ToString("yyyy-MM-dd"); newStage.is_pass = -2; db.ProjectStage.Add(newStage); db.SaveChanges(); Response.Write("<script>location.href='MyProject.aspx?pageNumber=1';</script>"); } } }
/// <summary> /// Builds a stage level Gant Chart where each item represents an event of the stage. /// </summary> /// <param name="chart"></param> /// <param name="stageId"></param> public static void BuildStageLevelGantChart(GantChart chart, int stageId) { chart.Controls.Clear(); ProjectStage stageBiz = new ProjectStage(); stageBiz.Get(stageId); string gantTitle = stageBiz[ProjectStage.Name].ToString() + " [Events]"; chart.GantTitle = gantTitle; string stageColor = stageBiz[ProjectStage.ColorCode].ToString(); //ProjectStageEvent biz = new ProjectStageEvent(); //biz.GetByParent(stageId); //foreach (DataRow stageEventRecord in biz.DataSourceView.Table.Rows) DataView view = BusinessObject.GetByParentAsDataView <ProjectStageEvent>(stageId); foreach (DataRow stageEventRecord in view.Table.Rows) { string stageEventName = stageEventRecord[ProjectStageEvent.Name].ToString(); DateTime startDate = DateTime.MinValue; DateTime endDate = DateTime.MaxValue; if (stageEventRecord[ProjectStageEvent.EventStartDate] != null) { string dateString = stageEventRecord[ProjectStageEvent.EventStartDate].ToString(); if (!string.IsNullOrEmpty(dateString)) { startDate = DateTime.Parse(dateString); } } if (stageEventRecord[ProjectStageEvent.EventEndDate] != null) { string dateString = stageEventRecord[ProjectStageEvent.EventEndDate].ToString(); if (!string.IsNullOrEmpty(dateString)) { endDate = DateTime.Parse(dateString); } } if (!(startDate == DateTime.MinValue && endDate == DateTime.MaxValue)) { GantItem item = new GantItem(startDate, endDate); item.Description = stageEventName; string startText = startDate.ToShortDateString(); string endText = endDate.ToShortDateString(); item.ToolTip = "Start Date: " + startText + " - End Date: " + endText; // Color item based on it's parent stage. if (!string.IsNullOrEmpty(stageColor)) { item.Color = stageColor; } chart.Controls.Add(item); } } }
public ApprovalProjectDisplay(string name, string Description, DateTime startDate, DateTime endDate, ProjectStage status) { this.Name = name; this.Description = Description; this.StartDate = startDate; this.EndDate = endDate; this.Stage = Stage; }
public async Task <IActionResult> Stages([FromBody] StageViewModel model) { ProjectStage stage = Mapper.Map <ProjectStage>(model); await _projectService.SaveStage(stage); return(Ok()); }
public ActionResult DeleteConfirmed(int id) { ProjectStage projectStage = db.ProjectStages.Find(id); db.ProjectStages.Remove(projectStage); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "ProjectStageID,ProjectStageName")] ProjectStage projectStage) { if (ModelState.IsValid) { db.Entry(projectStage).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(projectStage)); }
public static string GetRequiredRelationshipTypeErrorStringSuffix(ProjectStage currentProjectStage, ProjectFirmaModels.Models.ContactRelationshipType contactRelationshipType) { bool hasMinimumProjectStageSet = contactRelationshipType.IsContactRelationshipRequiredMinimumProjectStage != null; if (hasMinimumProjectStageSet && currentProjectStage.SortOrder >= contactRelationshipType.IsContactRelationshipRequiredMinimumProjectStage.SortOrder) { return($"Project Stage is at or beyond {contactRelationshipType.IsContactRelationshipRequiredMinimumProjectStage.ProjectStageDisplayName}, when the {contactRelationshipType.ContactRelationshipTypeName} must be set."); } return(string.Empty); }
private BaseTask GetActiveProjectTask() { var project = new Project(1, "TestName", ProjectType.Engineer); var projectStage = new ProjectStage(1, "TestName"); var workset = new Workset(1, new List <Activity>() { new Activity(1, "TestName") }); return(new ProjectTask(1, project, DateTime.Now, DateTime.Now, projectStage, workset, false, false)); }
public ActionResult Create([Bind(Include = "ProjectStageID,ProjectStageName")] ProjectStage projectStage) { if (ModelState.IsValid) { db.ProjectStages.Add(projectStage); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(projectStage)); }
private Tuple <int, int> GetProjectsStats( IReadOnlyList <Project> allProjects, ProjectStage stage) { int count = allProjects .Count(x => x.Stage == stage); int price = allProjects .Where(x => x.Stage == stage) .Sum(x => x.Price); return(new Tuple <int, int>(count, price)); }
/// <summary> /// Creates child ProjectStageEvents and ProjectEventAttributes records /// based off of child/parent Lookup scheme. /// NOTE: Child records will not be created if any ProjectStageEvents records exists. /// </summary> /// <param name="biz"></param> public static void CreateProjectStageEvents(ProjectStage biz) { BusinessObject parentBiz = biz; BusinessObject childBiz = new ProjectStageEvent(); List <BusinessObject> stageEvents = CreateChildRecordByBizLkpCodes(parentBiz, childBiz, ProjectStage.Name, ProjectStageEvent.Name, PROJECT_STAGE_TYPE_CODE, PROJECT_STAGE_EVENT_TYPE_CODE, true, true); foreach (BusinessObject stageEvent in stageEvents) { CreateProjectStageEventAttributes(stageEvent as ProjectStageEvent); } }
public ProjectStage createProjectStages(string scheduledStartDate, string scheduledEndDate, string startDate) { var scheduledStartDate1 = DateTime.ParseExact(scheduledStartDate, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); var scheduledEndDate1 = DateTime.ParseExact(scheduledEndDate, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); var startDate1 = DateTime.ParseExact(startDate, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); ProjectStage projectStage = new ProjectStage() { ScheduledStartDate = scheduledStartDate1, ScheduledEndDate = scheduledEndDate1, StartDate = startDate1 }; return(projectStage); }
public override void ExitSelectAttributeOrFunction([NotNull] QueryBuilderQueriesParser.SelectAttributeOrFunctionContext context) { List <ProjectArgument> Arguments = new List <ProjectArgument>(); foreach (var selectAttribute in context.attributeOrFunction().Where(af => af.simpleAttribute() != null)) { var sa = selectAttribute.simpleAttribute(); QueryableEntity qElement = new QueryableEntity(metadata.EntityRelationshipModel.FindByName(sa.elementName.Text)); Arguments.Add(new ProjectArgument(qElement.GetAttribute(sa.attribute.Text), qElement, new QueryBuilder.Mongo.Expressions.BooleanExpr(true))); } ProjectOp = new ProjectStage(Arguments, metadata.ERMongoMapping); }
public async Task <APIResponse <string> > EditProject(long projectId, ProjectStage stage) { var url = ApiUrls.Project.SetQueryParams(new { userKey = mUserData.UserKey, projectId = projectId, stage = stage, }); var data = await HandleForPUT <string>(url); return(data); }
protected ProjectCreateViewData(Person currentPerson, Models.Project project, string currentSectionDisplayName, ProposalSectionsStatus proposalSectionsStatus) : this(project, currentPerson, currentSectionDisplayName) { IsInstructionsPage = currentSectionDisplayName.Equals("Instructions", StringComparison.InvariantCultureIgnoreCase); bool isBasicsPage = currentSectionDisplayName.Equals("Basics", StringComparison.InvariantCultureIgnoreCase); Check.Assert(project != null, "Project should be created in database by this point so it cannot be null."); // SLG- See Story #1506 - Causing us much grief, perhaps the disease is really better than this cure? We know the Project record exists, is that maybe enough? // This whole expression seems like it had multiple errors in it, giving up on it for now, I don't understand what it is trying to do. // We can't get it to crash once this is removed, so, to heck with it for now. //Check.Assert(IsInstructionsPage || isBasicsPage || proposalSectionsStatus.IsBasicsSectionComplete, $"Can't access this section of the Proposal - You must complete the basics first ({project.GetEditUrl()})"); CurrentPersonCanWithdraw = new ProjectCreateFeature().HasPermission(currentPerson, project).HasPermission; Project = project; ProjectStage = project.ProjectStage; ProposalSectionsStatus = proposalSectionsStatus; CanAdvanceStage = ProposalSectionsStatus.AreAllSectionsValidForProject(project); // ReSharper disable PossibleNullReferenceException ProjectStateIsValidInWizard = project.ProjectApprovalStatus == ProjectApprovalStatus.Draft || project.ProjectApprovalStatus == ProjectApprovalStatus.Returned || project.ProjectApprovalStatus == ProjectApprovalStatus.PendingApproval; InstructionsPageUrl = project.ProjectStage == ProjectStage.Proposed ? SitkaRoute <ProjectCreateController> .BuildUrlFromExpression(x => x.InstructionsProposal(project.ProjectID)) : SitkaRoute <ProjectCreateController> .BuildUrlFromExpression(x => x.InstructionsEnterHistoric(project.ProjectID)); var pagetitle = project.ProjectStage == ProjectStage.Proposed ? $"{Models.FieldDefinition.Application.GetFieldDefinitionLabel()}" : $"Add {Models.FieldDefinition.Project.GetFieldDefinitionLabel()}"; PageTitle = $"{pagetitle}: {project.DisplayName}"; ProposalDetailUrl = SitkaRoute <ProjectController> .BuildUrlFromExpression(x => x.Detail(project)); ProposalBasicsUrl = SitkaRoute <ProjectCreateController> .BuildUrlFromExpression(x => x.EditBasics(project.ProjectID)); ProposalNotesUrl = SitkaRoute <ProjectCreateController> .BuildUrlFromExpression(x => x.DocumentsAndNotes(project.ProjectID)); ProposalPhotosUrl = SitkaRoute <ProjectCreateController> .BuildUrlFromExpression(x => x.Photos(project.ProjectID)); SubmitUrl = SitkaRoute <ProjectCreateController> .BuildUrlFromExpression(x => x.Submit(project)); ApproveUrl = SitkaRoute <ProjectCreateController> .BuildUrlFromExpression(x => x.Approve(project)); ReturnUrl = SitkaRoute <ProjectCreateController> .BuildUrlFromExpression(x => x.Return(project)); WithdrawUrl = SitkaRoute <ProjectCreateController> .BuildUrlFromExpression(x => x.Withdraw(project)); RejectUrl = SitkaRoute <ProjectCreateController> .BuildUrlFromExpression(x => x.Reject(project)); }
public bool IsProjectStagesBugdetSumCorrect(ProjectStage projectStage) { double projectBudget = _context.Projects.Where(l => l.ProjectId == projectStage.ProjectId).Select(l => l.Budget).Single(); double projectStagesBugdetSum = _context.ProjectStages.Where(l => l.ProjectId == projectStage.ProjectId).Where(l => l.ProjectStageId != projectStage.ProjectStageId).Select(l => l.StageBudget).Sum(); projectStagesBugdetSum += projectStage.StageBudget; if (projectBudget >= projectStagesBugdetSum) { return(true); } return(false); }
// GET: ProjectStages/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ProjectStage projectStage = db.ProjectStages.Find(id); if (projectStage == null) { return(HttpNotFound()); } return(View(projectStage)); }
public void ProjectSimpleAttributes() { // Asserts if the query result for a relationship join operation is equal // to a handcrafted query RequiredDataContainer ModelData = ProjectDataProvider.SimpleModel(); // Load handcrafted query string HandcraftedQuery = Utils.ReadQueryFromFile("HandcraftedQueries/projectQuerySimple.js"); // Assert if the handcrafted query is not null Assert.IsNotNull(HandcraftedQuery); // Prepare query generator QueryableEntity Person = new QueryableEntity(ModelData.EntityRelationshipModel.FindByName("Person")); List <ProjectArgument> Arguments = new List <ProjectArgument>(); Arguments.Add(new ProjectArgument(Person.GetAttribute("personId"), Person, new BooleanExpr(false))); Arguments.Add(new ProjectArgument(Person.GetAttribute("name"), Person, new BooleanExpr(true))); Arguments.Add(new ProjectArgument(Person.GetAttribute("age"), Person, new BooleanExpr(true))); ProjectStage ProjectOp = new ProjectStage(Arguments, ModelData.ERMongoMapping); List <AlgebraOperator> OpList = new List <AlgebraOperator> { ProjectOp }; FromArgument StartArg = new FromArgument(new QueryableEntity(ModelData.EntityRelationshipModel.FindByName("Person")), ModelData.ERMongoMapping); QueryGenerator QueryGen = new QueryGenerator(StartArg, OpList); string GeneratedQuery = QueryGen.Run(); // Assert if generated query is not null Assert.IsNotNull(GeneratedQuery); // Run Queries QueryRunner Runner = new QueryRunner("mongodb://localhost:27017", "ceManyToMany2"); string HandcraftedResult = Runner.GetJSON(HandcraftedQuery); string GeneratedResult = Runner.GetJSON(GeneratedQuery); // Check if either result is null Assert.IsNotNull(HandcraftedResult); Assert.IsNotNull(GeneratedResult); // Check if both results are equal Assert.IsTrue(JToken.DeepEquals(JToken.Parse(HandcraftedResult), JToken.Parse(GeneratedResult))); }
public ProjectStageTile(ProjectStage stage) : this() { ID = stage.ID; CrtDate = stage.CrtDate; IsFocused = false; IsPublic = stage.IsPublic; Name = stage.Name; Note = stage.Note; Project = stage.Project; ProjectID = stage.ProjectID; ResponsibleRole = stage.ResponsibleRole; RowState = stage.RowState; SortIndex = stage.SortIndex; StageParameter = stage.StageParameter; StageState = stage.StageState; }
protected void btnSubmit_Click(object sender, EventArgs e) { using (var db = new TeachingCenterEntities()) { int id = Convert.ToInt32(Request.QueryString["id"]); ProjectStage result = (from it in db.ProjectStage where it.project_id == id orderby it.stage descending select it).FirstOrDefault(); if (ddlResult.SelectedValue == "0") { result.is_pass = 1; } else { result.is_pass = 0; } db.SaveChanges(); } Response.Write("<script>alert('提交成功!');location.href='ProjectList.aspx';</script>"); }
public void ProjectStageShowFields() { //RequiredDataContainer ModelData = VirtualMapDataProvider.VirtualMapModel(); var ModelData = QueryBuilderParser.ParseMapping(Utils.ReadMappingFile("Mappings/virtual-map.mapping")); QueryableEntity Person = new QueryableEntity(ModelData.EntityRelationshipModel.FindByName("Person")); QueryableEntity Pet = new QueryableEntity(ModelData.EntityRelationshipModel.FindByName("Pet")); RelationshipJoinOperator RJoinOp = new RelationshipJoinOperator( Person, (Relationship)ModelData.EntityRelationshipModel.FindByName("HasPet"), new List <QueryableEntity>() { Pet }, ModelData.ERMongoMapping); VirtualMap RJoinVMap = RJoinOp.ComputeVirtualMap(); Assert.IsNotNull(RJoinVMap, "RJOIN Virtual map cannot be null"); List <ProjectArgument> ProjectArguments = new List <ProjectArgument>(); ProjectArguments.Add(new ProjectArgument(Person.GetAttribute("name"), Person, new BooleanExpr(true))); ProjectArguments.Add(new ProjectArgument(Person.GetAttribute("age"), Person, new BooleanExpr(true))); ProjectArguments.Add(new ProjectArgument(Pet.GetAttribute("name"), Pet, new BooleanExpr(true))); ProjectStage ProjectOp = new ProjectStage(ProjectArguments, RJoinVMap); VirtualMap ProjectVirtualMap = ProjectOp.ComputeVirtualMap(RJoinVMap); Assert.IsNotNull(ProjectVirtualMap, "Project virtual map cannot be null"); List <string> VirtualMapRules = ProjectVirtualMap.GetRulesAsStringList(); List <string> RulesToMatch = new List <string>() { "name", "age", "data_HasPet.Pet_name", }; Assert.IsTrue(!VirtualMapRules.Except(RulesToMatch).Any() && !RulesToMatch.Except(VirtualMapRules).Any(), "Virtual maps do not match"); }
public Boolean CheckDuplicate(ProjectStage projectstage, Boolean IsInsert) { Boolean Result = true; try { var c = _projectstageRepository.GetSingle(p => p.StageName.ToUpper() == projectstage.StageName.ToUpper()); if (!IsInsert) { if (c == null) { Result = true; } else if (c.ProjectStageID == projectstage.ProjectStageID) { Result = true; } else { Result = false; } } else { if (c == null) { Result = true; } else { Result = false; } } } catch (Exception ex) { //bool false = BusinessLogicExceptionHandler.HandleException(ref ex); if (false) { throw ex; } } return(Result); }
protected void btnSubmit_Click(object sender, EventArgs e) { string name = txtName.Text; int teacher_id = TeacherHelper.getTeacherIDByNumber(Session["TeacherNumber"].ToString()); string fund = txtMoney.Text; Regex numRegex = new Regex(@"^\d+$"); string filePath = FileUp.PostedFile.FileName; if (name.Length == 0) { Response.Write("<script>alert('项目名称不能为空!');</script>"); } else if (fund.Length == 0) { Response.Write("<script>alert('资助金额不能为空!');</script>"); } else if (!numRegex.IsMatch(fund)) { Response.Write("<script>alert('请输入正确的资助金额!');</script>"); } //else if (UpLoadFile() == false) //Response.Write("<script>alert('请上传项目文件!');</script>"); else { using (var db = new TeachingCenterEntities()) { int project_id = Convert.ToInt32(Request.QueryString["id"]); Project project = (from it in db.Project where it.project_id == project_id select it).FirstOrDefault(); project.name = name; project.fund = fund; db.SaveChanges(); ProjectStage project_stage = (from it in db.ProjectStage where it.project_id == project_id orderby it.stage descending select it).FirstOrDefault(); project_stage.project_content = UeditorHelper.Change(myEditor11.InnerHtml); if (UpLoadFile() == true) { project_stage.project_file = "file/" + FileUp.PostedFile.FileName; } db.SaveChanges(); Response.Redirect("MyProject.aspx?pageNumber=1"); } } }
public async Task <IActionResult> PostProjectStage([FromBody] ProjectStage projectStage) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var projectStageName = _context.ProjectStageNames.Where(l => l.ProjctStageNameId == projectStage.ProjectStageNameId).Select(l => l.ProjctStageNameId).FirstOrDefault().ToString(); var project = _context.Projects.Where(l => l.ProjectId == projectStage.ProjectId).Select(l => l.ProjectId).FirstOrDefault().ToString(); if (projectStageName == "0" || project == "0") { return(BadRequest("Pasirinktas nekorektiškas projektas ar projekto etapo pavadinimas")); } if (!IsProjectStagesBugdetSumCorrect(projectStage)) { return(BadRequest("Projekto etapų biudžetų suma negali būti didesnė nei projekto suma")); } projectStage.ScheduledEndDate = projectStage.ScheduledEndDate.ToLocalTime(); projectStage.StartDate = projectStage.StartDate?.ToLocalTime(); projectStage.EndDate = projectStage.EndDate?.ToLocalTime(); // int? days = (int?)(date1 - date2)?.TotalDays; projectStage.ScheduledStartDate = projectStage.ScheduledStartDate.ToLocalTime(); /* * if (projectStage.EndDate != null) * { * projectStage.EndDate = projectStage.EndDate.ToLocalTime(); * } * * if (projectStage.StartDate != null) * { * projectStage.StartDate = projectStage.StartDate.ToLocalTime(); * } */ _context.ProjectStages.Add(projectStage); await _context.SaveChangesAsync(); return(CreatedAtAction("GetProjectStage", new { id = projectStage.ProjectStageId }, projectStage)); }
private Tuple<int, int> GetProjectsStats(IReadOnlyList<Project> allProjects, ProjectStage stage) { int count = allProjects.Count(x => x.Stage == stage); int price = allProjects.Where(x => x.Stage == stage).Sum(x => x.Price); return new Tuple<int, int>(count, price); }