コード例 #1
0
        public void Add(Deliverable deliverable)
        {
            var Params = new DynamicParameters(new
            {
                deliverable.Heading,
                deliverable.Priority,
                deliverable.Lead,
                deliverable.DateScheduledStart,
                deliverable.TimeEstimation
            });

            Params.Add("DeliverableId", dbType: DbType.Int32, direction: ParameterDirection.Output);

            //Calling out to the Stored Procedure
            var sql = "AddDeliverableWithProject";

            //should return the Id of the new Deliverable
            db.Query <int>(sql, Params, commandType: CommandType.StoredProcedure);
            int newDeliverableId = Params.Get <int>("DeliverableId");

            //populate the ProjectDeliverable Table
            foreach (var item in deliverable.ProjectIdList)
            {
                var processQuery = "INSERT INTO ProjectDeliverable VALUES (@ProjectId, @DeliverableId)";
                db.Execute(processQuery, new { @DeliverableId = newDeliverableId, @ProjectId = item });
            }
        }
コード例 #2
0
        public void TestFindHeaviestInATransportOf2WithEqualWeights()
        {
            List <int> deliverableIds = new List <int>();
            List <int> actualIds      = new List <int>();

            actualIds.Add(22);
            actualIds.Add(35);
            actualIds.Add(35);

            Transport t = new Transport();

            Person      p1 = new Person("Josephine", "Nieuwstraat", 2, "5688GE", "Eindhoven");
            Deliverable d1 = new Deliverable(22, 350, p1);

            deliverableIds.Add(d1.ID);

            Assert.AreEqual(d1.ID, 22);
            t.AddDeliverable(d1);

            Person      p2 = new Person("Cleopatra", "Klaverstraat", 2, "5372MX", "Eindhoven");
            Deliverable d2 = new Deliverable(35, 350, p2);

            deliverableIds.Add(d2.ID);

            Assert.AreEqual(d2.ID, 35);
            t.AddDeliverable(d2);

            Deliverable dh = t.FindHeaviestDeliverable();

            deliverableIds.Add(dh.ID);
            Assert.AreEqual(dh.Weight, 350);
            Assert.AreEqual(dh.ID, 35);

            CollectionAssert.AreEqual(deliverableIds, actualIds);
        }
コード例 #3
0
        public void TestNewSongHasZeroLikes()
        {
            const string name = "Entregable";
            ILikeable    song = new Deliverable(name, technician, "");

            Assert.Equal(0, song.Likes);
        }
コード例 #4
0
        public void TestFindHeaviestInATransportOf2WithEqualWeights()
        {// testing to find heaviest deliverable in a transport of size 1
            Transport t = new Transport();

            int[] deliverables = new int[2] {
                22, 35
            };
            Deliverable d;

            d = new Deliverable(22, 350, "Josephine", "Nieuwstraat", 2, "5688GE", "Eindhoven");
            t.AddDeliverable(d);
            d = new Deliverable(35, 350, "Cleopatra", "Klaverstraat", 2, "5372MX", "Eindhoven");
            t.AddDeliverable(d);

            d = t.FindHeaviestDeliverable();
            List <int> ids = new List <int>();
            int        max = 0;

            foreach (var item in t.Deliverables)
            {
                if (item.Weight >= max)
                {
                    ids.Add(item.ID);
                    max = item.Weight;
                }
            }
            Assert.AreEqual(d.Weight, max);
            CollectionAssert.AreEquivalent(deliverables, ids);
        }
コード例 #5
0
        public void Update(int deliverableId, Deliverable deliverable)
        {
            var sql = @"UPDATE [dbo].[Deliverable]
                           SET[Heading] = @Heading
                              ,[Priority] = @Priority
                              ,[Lead] = @Lead
                              ,[DateScheduledStart] = @DateScheduledStart
                              ,[TimeEstimation] = @TimeEstimation
                         WHERE DeliverableId = @id";

            var isSuccess = db.Execute(sql,
                                       new
            {
                Heading            = deliverable.Heading,
                Priority           = deliverable.Priority,
                Lead               = deliverable.Lead,
                DateScheduledStart = deliverable.DateScheduledStart,
                TimeEstimation     = deliverable.TimeEstimation,
                id = deliverableId
            }
                                       );

            //Update the ProjectDeliverable Table
            //Delete current data for DeliverableId
            sql = @"DELETE FROM [dbo].[ProjectDeliverable]
                          WHERE DeliverableId = @devlId";
            var numRows = db.Execute(sql, new { @devlId = deliverableId });

            //Insert new data
            foreach (var item in deliverable.ProjectIdList)
            {
                var processQuery = "INSERT INTO ProjectDeliverable VALUES (@ProjectId, @DeliverableId)";
                db.Execute(processQuery, new { @DeliverableId = deliverableId, @ProjectId = item });
            }
        }
コード例 #6
0
        public async Task <IActionResult> PutDeliverable(string id, Deliverable deliverable)
        {
            if (id != deliverable.CourseCode)
            {
                return(BadRequest());
            }

            _context.Entry(deliverable).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DeliverableExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
コード例 #7
0
 public JsonResult UploadNewDeliverables(Deliverable del)
 {
     del.Date_Created = DateTime.Now;
     del.is_Active    = true;
     db.Deliverables.Add(del);
     db.SaveChanges();
     return(Json(new { success = true, msg = "Successfull" }, JsonRequestBehavior.AllowGet));
 }
コード例 #8
0
 public void AddDeliverable(Deliverable deliverable)
 {
     try
     {
         d._deliverable.Add(deliverable);
     }
     catch { }
 }
コード例 #9
0
 public void UpdateDeliverable(Deliverable deliverable)
 {
     try
     {
         d.Entry(deliverable).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
         d.SaveChanges();
     }
     catch { }
 }
コード例 #10
0
 public void DeleteDeliverable(Deliverable deliverable)
 {
     try
     {
         d._deliverable.Remove(deliverable);
         d.SaveChanges();
     }
     catch { }
 }
コード例 #11
0
        public void TestLikeAddLikes()
        {
            const string name = "Entregable";
            ILikeable    song = new Deliverable(name, technician, "");

            song.Like();

            Assert.Equal(1, song.Likes);
        }
コード例 #12
0
 /// <summary>
 /// Creates the deliverable objects for the specified project
 /// </summary>
 /// <param name="r"></param>
 /// <param name="i"></param>
 /// <param name="dev"></param>
 /// <param name="presen"></param>
 /// <param name="pr"></param>
 /// <param name="pid"></param>
 private void CreateDeliverables(string r, string i, string dev,
                                 string presen, string pr, int pid)
 {
     Deliverable research     = new Deliverable("Research", float.Parse(r), pid);
     Deliverable ideas        = new Deliverable("Research", float.Parse(i), pid);
     Deliverable devl         = new Deliverable("Research", float.Parse(dev), pid);
     Deliverable presentation = new Deliverable("Research", float.Parse(presen), pid);
     Deliverable pride        = new Deliverable("Research", float.Parse(pr), pid);
 }
コード例 #13
0
        public static Project <IProjectItem> CreateTestData()
        {
            // Creating the contacts
            IContact firstContact =
                new ContactImpl("Dennis", "Moore", "Managing Director", "Highway Man, LTD");
            IContact secondContact =
                new ContactImpl("Joseph", "Mongolfier", "High Flyer", "Ligher than Air Productions");
            IContact thirdContact =
                new ContactImpl("Erik", "Njoll", "Nomad without Portfolio", "Nordik Trek Inc.");
            IContact fourthContact =
                new ContactImpl("Lemming", "", "Principal Investigator", "BDA");

            // Creating the project
            var project =
                new Project <IProjectItem>("IslandParadise", "Acquire a personal island paradise");
            var firstDeliverable =
                new Deliverable("Island Paradise", "", firstContact);
            var firstWorkTask =
                new WorkTask <IProjectItem>("Fortune", "Acquire a small fortune", fourthContact, 11.0);
            var secondWorkTask =
                new WorkTask <IProjectItem>("Isle", "Locate an island for sale", secondContact, 7.5);
            var thirdTask =
                new WorkTask <IProjectItem>("Name", "Decide on a name for the island", thirdContact, 3.2);

            // Adding tasks to the projects
            project.Add(firstDeliverable, firstWorkTask, secondWorkTask, thirdTask);

            // Adding subtasks to the first task
            var underFirstDeliverable =
                new Deliverable("$1,000,000", "(total net worth after taxes)", firstContact);
            var underFirstTask1 = new WorkTask <IProjectItem>("Fortune1",
                                                              "Use psychic hotline to predict winning lottery numbers", fourthContact, 2.5);
            var underFirstTask2 = new WorkTask <IProjectItem>("Fortune2",
                                                              "Invest winnings to ensure 50% annual interest", firstContact, 14.0);

            firstWorkTask.Add(underFirstTask1).Add(underFirstTask2).Add(underFirstDeliverable);

            // Adding subtasks to the second task
            var underSecondTask1 =
                new WorkTask <IProjectItem>("Isle1",
                                            "Research whether climate is better in the Altantic or Pacific", firstContact, 1.8);
            var underSecondTask2 =
                new WorkTask <IProjectItem>("Isle2", "Locate an island for auction on EBay",
                                            fourthContact, 5.0);
            var underSecondTask3
                = new WorkTask <IProjectItem>("Isle2a", "Negotiate for sale of the island", thirdContact, 17.5);

            secondWorkTask.Add(underSecondTask1).Add(underSecondTask2).Add(underSecondTask3);

            // Adding the manager of the third task
            var deliverable31 = new Deliverable("Island Name", string.Empty, firstContact);

            thirdTask.Add(deliverable31);

            return(project);
        }
コード例 #14
0
        public void TestAddDeliverablesWithDuplicateIDToATransport()
        {
            // arraing
            Deliverable d1        = new Deliverable(22, 350, "Josephine", "Nieuwstraat", 2, "5688GE", "Eindhoven");
            Deliverable d2        = new Deliverable(22, 450, "Josephine XX", "Oudestraat", 2, "5688HE", "Eindhoven");
            Transport   transport = new Transport();

            // act
            transport.AddDeliverable(d1);
            transport.AddDeliverable(d2);
        }
コード例 #15
0
        public void TestToStringDeliverable()
        {
            // Arrange
            Deliverable d = new Deliverable(22, 350, new Person("John", "Mainstreet", 2, "5688GE", "Eindhoven"));


            // Action
            string result = d.ToString();

            // Assert
            Assert.AreEqual(result, "Id: 22, weight: 350, should be delivered at: John - Mainstreet  2 - 5688GE  Eindhoven");
        }
コード例 #16
0
        public void TestAdd2DeliverablesToATransport()
        {
            Person      p1 = new Person("Josephine", "Nieuwstraat", 2, "5688GE", "Eindhoven");
            Deliverable d1 = new Deliverable(22, 350, p1);
            Transport   t  = new Transport();

            t.AddDeliverable(d1);
            Deliverable dr = t.FindDeliverable(22);

            Assert.AreEqual(dr.Iperson.Name, "Josephine");
            Assert.AreEqual(dr.Iperson.Street, "Nieuwstraat");
        }
コード例 #17
0
 public static DeliverablesViewModel MapFrom(Deliverable d)
 {
     return(new DeliverablesViewModel
     {
         ID = d.ID,
         Name = d.Name,
         Description = d.Description,
         Frequency = d.Frequency,
         UserID = d.UserID,
         FirstDueDate = d.FirstDueDate
     });
 }
コード例 #18
0
        public void TestCreateADeliverable()
        {
            // Arrange
            Deliverable d = new Deliverable(22, 350, new Person("John", "Mainstreet", 2, "5688GE", "Eindhoven"));

            // Assert
            Assert.AreEqual(d.ID, 22);
            Assert.AreEqual(d.Iperson.Name, "John");
            Assert.AreEqual(d.Iperson.Street, "Mainstreet");
            Assert.AreEqual(d.Iperson.Housenumber, 2);
            Assert.AreEqual(d.Iperson.Postalcode, "5688GE");
            Assert.AreEqual(d.Iperson.City, "Eindhoven");
        }
コード例 #19
0
        public ActionResult Edit(Deliverable deliverable)
        {
            try
            {
                // TODO: Add update logic here

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
コード例 #20
0
        public ActionResult Create(Deliverable deliverable)
        {
            try
            {
                // TODO: Add insert logic here

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
コード例 #21
0
        public void TestCreateADeliverable()
        {// testing to create a deliverable
            Deliverable d;

            d = new Deliverable(22, 350, "John", "Mainstreet", 2, "5688GE", "Eindhoven");

            Assert.AreEqual(d.ID, 22);
            Assert.AreEqual(d.Name, "John");
            Assert.AreEqual(d.Street, "Mainstreet");
            Assert.AreEqual(d.Housenumber, 2);
            Assert.AreEqual(d.Postalcode, "5688GE");
            Assert.AreEqual(d.City, "Eindhoven");
        }
コード例 #22
0
        public void TestFindHeaviestInATransportOf1()
        {// testing to find heaviest deliverable in a transport of size 1
            Transport   t = new Transport();
            Person      p = new Person("Josephine", "Nieuwstraat", 2, "5688GE", "Eindhoven");
            Deliverable d = new Deliverable(22, 350, p);

            t.AddDeliverable(d);

            d = t.FindHeaviestDeliverable();

            Assert.AreEqual(d.Weight, 350);
            Assert.AreEqual(d.ID, 22);
        }
コード例 #23
0
        public async Task <ActionResult <Deliverable> > PostDeliverable(Deliverable deliverable)
        {
            _context._deliverable.Add(deliverable);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                throw;
            }

            return(CreatedAtAction("GetDeliverable", new { id = deliverable.CourseCode }, deliverable));
        }
コード例 #24
0
 public IEnumerable <Deliverable> GetAllDeliverables()
 {
     try
     {
         return(d._deliverable.ToList());
     }
     catch
     {
         Deliverable temp = new Deliverable();
         return(new List <Deliverable> {
             temp
         });
     }
 }
コード例 #25
0
        public void TestAdd2DeliverablesToATransport()
        {
            // arraing
            Deliverable d1        = new Deliverable(22, 350, "Josephine", "Nieuwstraat", 2, "5688GE", "Eindhoven");
            Deliverable d2        = new Deliverable(23, 450, "Josephine XX", "Oudestraat", 2, "5688HE", "Eindhoven");
            Transport   transport = new Transport();

            // act
            transport.AddDeliverable(d1);
            transport.AddDeliverable(d2);
            // assert
            Assert.AreEqual(d1, transport.FindDeliverable(22));
            Assert.AreEqual(d2, transport.FindDeliverable(23));
        }
コード例 #26
0
        public void TestAddADeliverableToATransport()
        {// testing to  add a deliverablen to a transport
            Deliverable d1;

            d1 = new Deliverable(22, 350, "Josephine", "Nieuwstraat", 2, "5688GE", "Eindhoven");
            Transport t;

            t = new Transport();
            t.AddDeliverable(d1);

            Deliverable d2 = t.FindDeliverable(22);

            Assert.AreEqual(d2.Name, "Josephine");
            Assert.AreEqual(d2.Street, "Nieuwstraat");
        }
コード例 #27
0
        public void TestAddDeliverablesWithDuplicateIDToATransport()
        {
            // Try to add 2 deliverables with the same id to a transport-object
            // An exception should be thrown

            Person      p1 = new Person("Josephine", "Nieuwstraat", 2, "5688GE", "Eindhoven");
            Deliverable d1 = new Deliverable(22, 350, p1);
            Person      p2 = new Person("Cleopatra", "Klaverstraat", 2, "5372MX", "Eindhoven");
            Deliverable d2 = new Deliverable(22, 750, p2);

            Transport t = new Transport();

            t.AddDeliverable(d1);
            t.AddDeliverable(d2);
        }
コード例 #28
0
        private void SetEntryToEdit(int delieverabeID)
        {
            if (lstDelieverables.SelectedIndices.Count == 0)
            {
                SetEntryToAdd();
                return;
            }
            btnDeleteSelected.Enabled = true;
            currentMode = EntryMode.Edit;
            Deliverable ret = Program.dbms.GetDeliverableByID(int.Parse(lstDelieverables.SelectedItems[0].Text));

            txtName.Text        = ret.Title;
            txtDescription.Text = ret.Description;
            chkFinished.Checked = ret.IsFinished;
            btnAddEdit.Text     = "Edit";
        }
コード例 #29
0
        public HttpResponseMessage Post([FromBody] Deliverable value)
        {
            if (value == null)
            {
                return(Request.CreateResponse(System.Net.HttpStatusCode.BadRequest));
            }

            var result = DeliverableService.AddDeliverable(value);

            if (result.StatusCode != Infrastructure.StatusCode.Successful)
            {
                return(Request.CreateResponse(System.Net.HttpStatusCode.BadRequest, result));
            }

            return(Request.CreateResponse(System.Net.HttpStatusCode.OK, result));
        }
コード例 #30
0
        public void TestFindHeaviestInATransportOf2()
        {// testing to find heaviest deliverable in a transport of size 1
            Transport t;

            t = new Transport();

            Deliverable d;

            d = new Deliverable(22, 350, "Josephine", "Nieuwstraat", 2, "5688GE", "Eindhoven");
            t.AddDeliverable(d);
            d = new Deliverable(35, 750, "Cleopatra", "Klaverstraat", 2, "5372MX", "Eindhoven");
            t.AddDeliverable(d);

            d = t.FindHeaviestDeliverable();
            Assert.AreEqual(d.Weight, 750);
            Assert.AreEqual(d.ID, 35);
        }