public async Task <ActionResult> DeleteConfirmed(int id)
        {
            ResearchProject researchProject = await db.ResearchProjects.FindAsync(id);

            db.ResearchProjects.Remove(researchProject);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
示例#2
0
 static bool Prefix(ResearchManager __instance, ResearchProject project, Level ___level)
 {
     if (!Main.enabled || !Main.settings.ToggleRepeatResearch || !project.Definition.Repeatable)
     {
         return(true);
     }
     RewardUtils.GiveAllRewards(null, project.Definition.Rewards, ___level.Metagame, null);
     ___level.Notifications.Send(new NotificationResearchComplete(___level.Notifications.MessageDefinitions._researchCompleteMessage, project.Definition, ___level));
     __instance.OnResearchProjectComplete.InvokeSafe(project);
     ___level.ObjectiveEvents.OnGameEvent.InvokeSafe(ObjectiveGameEvent.ResearchProjectCompleted);
     return(false);
 }
    public void Setup(ResearchProject p, ResearchScreenManager r)
    {
        Res     = p;
        Manager = r;
        Debug.Log("New research project " + Res.tech.Name);
        t = GetComponentInChildren <Text> ();
        b = GetComponent <Button> ();

        t.fontSize = 10;
        t.GetComponent <RectTransform> ().localScale = new Vector3(.5f, 1f, 1f);

        t.text = string.Format("{0}\tCost: {1}\tLead: {2} ", Res.tech.Name, Res.cost, Res.Scientist.GetNameString(true));
    }
        public async Task <ActionResult> Edit([Bind(Include = "ResearchProjectsID,Running,Completed,LabMembersID,PublicationsID,Descrptn")] ResearchProject researchProject)
        {
            if (ModelState.IsValid)
            {
                db.Entry(researchProject).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.LabMembersID   = new SelectList(db.LabMembers, "LabMembersID", "FirstName", researchProject.LabMembersID);
            ViewBag.PublicationsID = new SelectList(db.Publications, "PublicationsID", "ThematicUnit", researchProject.PublicationsID);
            return(View(researchProject));
        }
        // GET: ResearchProjects/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ResearchProject researchProject = await db.ResearchProjects.FindAsync(id);

            if (researchProject == null)
            {
                return(HttpNotFound());
            }
            return(View(researchProject));
        }
        // GET: ResearchProjects/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ResearchProject researchProject = await db.ResearchProjects.FindAsync(id);

            if (researchProject == null)
            {
                return(HttpNotFound());
            }
            ViewBag.LabMembersID   = new SelectList(db.LabMembers, "LabMembersID", "FirstName", researchProject.LabMembersID);
            ViewBag.PublicationsID = new SelectList(db.Publications, "PublicationsID", "ThematicUnit", researchProject.PublicationsID);
            return(View(researchProject));
        }
示例#7
0
        public List <RejectedAccessionDto> ValidateUploadedAccessions(List <string> accessions, CCFDataEntities context, ResearchProject researchProjectInDb)
        {
            List <RejectedAccessionDto> rejectedAccessions = new List <RejectedAccessionDto>();

            var projectId = researchProjectInDb.ProjectID;

            foreach (var accessionNumber in accessions)
            {
                RejectedAccessionDto rejectedAccession;
                // Ensure the accession number is an integer.
                if (!accessionNumber.All(char.IsDigit))
                {
                    rejectedAccession = new RejectedAccessionDto
                    {
                        Accession = accessionNumber,
                        Reason    = "Accession must be an integer."
                    };
                    rejectedAccessions.Add(rejectedAccession);
                    continue;
                }

                var convertedAccessionNumber = Convert.ToInt32(accessionNumber.Trim());

                var researchAccessionInDb = context.ResearchProjectAccessions
                                            .SingleOrDefault(a => a.ProjectID == projectId && a.Accession == convertedAccessionNumber);

                // Ensure the accession number has not already been added.
                if (researchAccessionInDb != null)
                {
                    rejectedAccession = new RejectedAccessionDto
                    {
                        Accession = accessionNumber,
                        Reason    = "Accession has already been added to the project."
                    };
                    rejectedAccessions.Add(rejectedAccession);
                    continue;
                }

                var globalAccessionInDb = context.GlobalAccessions
                                          .SingleOrDefault(a => a.Accession == convertedAccessionNumber);

                // Ensure the accession number exists globally.
                if (globalAccessionInDb == null)
                {
                    rejectedAccession = new RejectedAccessionDto
                    {
                        Accession = accessionNumber,
                        Reason    = "Accession does not exist in the global database."
                    };
                    rejectedAccessions.Add(rejectedAccession);
                    continue;
                }

                //accession passed validation, create an accession object to add to the database
                var accession = new ResearchProjectAccession()
                {
                    ResearchProject = researchProjectInDb,
                    Accession       = globalAccessionInDb.Accession,
                    AccessionGUID   = Guid.NewGuid(), //deidentified accession number
                    MRN             = globalAccessionInDb.MRN,
                    MRNGUID         = Guid.NewGuid()
                };

                context.ResearchProjectAccessions.Add(accession);
                context.SaveChanges();
            }

            return(rejectedAccessions);
        }