コード例 #1
0
        public ActionResult Create(TrainingProgram trainingProgram)
        {
            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"INSERT INTO TrainingProgram
                ( Name, StartDate, EndDate, MaxAttendees )
                VALUES
                ( @Name, @StartDate, @EndDate, @MaxAttendees )";
                    cmd.Parameters.Add(new SqlParameter("@Name", trainingProgram.Name));
                    cmd.Parameters.Add(new SqlParameter("@StartDate", trainingProgram.StartDate));
                    cmd.Parameters.Add(new SqlParameter("@EndDate", trainingProgram.EndDate));
                    cmd.Parameters.Add(new SqlParameter("@MaxAttendees", trainingProgram.MaxAttendees));
                    cmd.ExecuteNonQuery();

                    return(RedirectToAction(nameof(Index)));
                }
            }
        }
コード例 #2
0
        public void Execute()
        {
            //Let's assume objects being received from an external service

            TrainingProgram trainingProgram = null;
            BaseLine        baseLine        = null;
            SourceTemplate  sourceTemplate  = new SourceTemplate()
            {
                Activity = new Activity("name in Source template")
            };

            var selector = new ActualActivitySelector();

            var actualActivity = selector.Select(
                trainingProgram,
                sourceTemplate,
                baseLine);

            var name           = actualActivity.Name;
            var simplifiedName = actualActivity.SimplifiedName;
        }
コード例 #3
0
        public async Task <IActionResult> Post([FromBody] TrainingProgram trainingProgram)
        {
            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"INSERT INTO TrainingProgram (Name, StartDate, EndDate, MaxAttendees)
                                        OUTPUT INSERTED.Id
                                        VALUES (@name, @startDate, @endDate, @maxAttendees)";
                    cmd.Parameters.Add(new SqlParameter("@name", trainingProgram.Name));
                    cmd.Parameters.Add(new SqlParameter("@startDate", trainingProgram.StartDate));
                    cmd.Parameters.Add(new SqlParameter("@endDate", trainingProgram.EndDate));
                    cmd.Parameters.Add(new SqlParameter("@maxAttendees", trainingProgram.MaxAttendees));

                    int newId = (int)cmd.ExecuteScalar();
                    trainingProgram.Id = newId;
                    return(CreatedAtRoute("GetTrainingProgram", new { id = newId }, trainingProgram));
                }
            }
        }
コード例 #4
0
        private void SetUpRecyclerView(RecyclerView recyclerView)
        {
            Task.Factory.StartNew(() => {
                program = RestService.GetTrainingProgram(MainActivity.GetToken());
            }).ContinueWith(task => {
                recyclerView.SetAdapter(new SimpleStringRecyclerViewAdapter(recyclerView.Context,
                                                                            program.Exercises.Select(e => e.Description).ToList(), Activity.Resources));
            }, TaskScheduler.FromCurrentSynchronizationContext());

            recyclerView.SetLayoutManager(new LinearLayoutManager(recyclerView.Context));
            recyclerView.SetAdapter(new SimpleStringRecyclerViewAdapter(recyclerView.Context, new List <string>(), Activity.Resources));

            recyclerView.SetItemClickListener((rv, position, view) =>
            {
                Context context = view.Context;
                Intent intent   = new Intent(context, typeof(ExerciseDetailActivity));
                intent.PutExtra("exercise_id", program.Exercises[position].ExerciseId);

                context.StartActivity(intent);
            });
        }
コード例 #5
0
        private List <TrainingProgram> GetTrainingPrograms(int EmployeeId)
        {
            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"SELECT p.TrainingProgramId, t.Name AS TrainingName, t.StartDate
                                    FROM EmployeeTraining p
                                    LEFT JOIN TrainingProgram t ON t.Id = p.TrainingProgramId
                                    WHERE p.EmployeeId = @EmployeeId";
                    cmd.Parameters.Add(new SqlParameter("@EmployeeId", EmployeeId));

                    var reader   = cmd.ExecuteReader();
                    var programs = new List <TrainingProgram>();

                    if (reader.HasRows == false)
                    {
                        var program = new TrainingProgram()
                        {
                            Id   = null,
                            Name = null
                        };
                    }
                    while (reader.Read())
                    {
                        var program = new TrainingProgram()
                        {
                            Id        = reader.GetInt32(reader.GetOrdinal("TrainingProgramId")),
                            Name      = reader.GetString(reader.GetOrdinal("TrainingName")),
                            StartDate = reader.GetDateTime(reader.GetOrdinal("StartDate"))
                        };

                        programs.Add(program);
                    }
                    reader.Close();
                    return(programs);
                }
            }
        }
コード例 #6
0
        // GET: TrainingPrograms/PastDetails/5
        public ActionResult PastDetails(int id)
        {
            string sql = @"SELECT t.Id,
                    t.[Name],
                    t.StartDate,
                    t.EndDate, 
                    t.MaxAttendees
                    FROM TrainingProgram t
                    WHERE Id = @Id";

            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;
                    cmd.Parameters.Add(new SqlParameter("@Id", id));

                    SqlDataReader reader = cmd.ExecuteReader();

                    TrainingProgram program = new TrainingProgram();
                    if (reader.Read())
                    {
                        program = new TrainingProgram
                        {
                            Id           = reader.GetInt32(reader.GetOrdinal("Id")),
                            Name         = reader.GetString(reader.GetOrdinal("Name")),
                            StartDate    = reader.GetDateTime(reader.GetOrdinal("StartDate")),
                            EndDate      = reader.GetDateTime(reader.GetOrdinal("EndDate")),
                            MaxAttendees = reader.GetInt32(reader.GetOrdinal("MaxAttendees")),
                            Attendees    = GetAllEmployees(id)
                        };
                    }

                    reader.Close();

                    return(View(program));
                }
            }
        }
        // GET: TrainingPrograms
        public ActionResult Index()
        {
            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @" SELECT t.Id,
                                         t.Name,
                                         t.StartDate,
                                         t.EndDate,
                                         t.MaxAttendees
                                         FROM TrainingProgram t";
                    SqlDataReader reader = cmd.ExecuteReader();

                    List <TrainingProgram> trainingPrograms = new List <TrainingProgram>();
                    while (reader.Read())
                    {
                        TrainingProgram trainingProgram = new TrainingProgram
                        {
                            Id           = reader.GetInt32(reader.GetOrdinal("Id")),
                            Name         = reader.GetString(reader.GetOrdinal("Name")),
                            StartDate    = reader.GetDateTime(reader.GetOrdinal("StartDate")),
                            EndDate      = reader.GetDateTime(reader.GetOrdinal("EndDate")),
                            MaxAttendees = reader.GetInt32(reader.GetOrdinal("MaxAttendees"))
                        };

                        //If the Training Program has already happened, don't show it on the list
                        DateTime timeRightNow = DateTime.Now;
                        if (trainingProgram.StartDate > timeRightNow)
                        {
                            trainingPrograms.Add(trainingProgram);
                        }
                    }
                    reader.Close();

                    return(View(trainingPrograms));
                }
            }
        }
コード例 #8
0
        public ActionResult AddSets([FromBody] WorkoutViewModel data)
        {
            TrainingProgram tp = _context.Workouts.FirstOrDefault(W => W.id == data.ProgramID);

            int?weight = 0;

            if (!(data.Weight == null))
            {
                weight = data.Weight;
            }

            var exer = _context.PExercises.FromSql("SELECT * FROM PExercises").ToList(); // Need to do this to access the data ???

            var sets = _context.ESets.FromSql("SELECT * FROM ESets").ToList();           // Need to do this to access the data ???

            ProgramExercises p_ex = tp.Exercices.FirstOrDefault(E => E.id == data.ExerciseID);

            List <ExerciseSets> e_set  = p_ex.SetInfo;
            ExerciseSets        newSet = new ExerciseSets
            {
                amount = data.Amount,
                aunit  = data.Aunit,
                weight = (int)weight,
                wunit  = (int)data.Wunit
            };

            p_ex.SetInfo.Add(newSet);

            tp.Exercices.Add(p_ex);

            var result = _context.Workouts.Update(tp);

            _context.SaveChanges();

            var setResult = result.Entity.Exercices.FirstOrDefault(x => x.id == data.ExerciseID).SetInfo.Last();

            setResult = _context.ESets.FirstOrDefault(x => x.id == setResult.id);

            return(Json(JsonConvert.SerializeObject(setResult)));
        }
        // GET: TrainingPrograms
        public ActionResult Index()
        {
            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"SELECT Id, [Name], StartDate, EndDate, MaxAttendees 
                                        FROM TrainingProgram
                                        WHERE StartDate >= @today";
                    //
                    cmd.Parameters.Add(new SqlParameter("@today", DateTime.Now));
                    SqlDataReader reader = cmd.ExecuteReader();
                    List<TrainingProgram> trainingPrograms = new List<TrainingProgram>();

                    int IdOrdinal = reader.GetOrdinal("Id");
                    int NameOrdinal = reader.GetOrdinal("Name");
                    int StartDateOrdinal = reader.GetOrdinal("StartDate");
                    int EndDateOrdinal = reader.GetOrdinal("EndDate");
                    int MaxAttendeesOrdinal = reader.GetOrdinal("MaxAttendees");

                    while (reader.Read())
                    {
                        TrainingProgram trainingProgram = new TrainingProgram
                        {
                            Id = reader.GetInt32(IdOrdinal),
                            Name = reader.GetString(NameOrdinal),
                            StartDate = reader.GetDateTime(StartDateOrdinal),
                            EndDate = reader.GetDateTime(EndDateOrdinal),
                            MaxAttendees = reader.GetInt32(MaxAttendeesOrdinal)
                        };

                        trainingPrograms.Add(trainingProgram);
                    }
                    reader.Close();

                    return View(trainingPrograms);
                }
            }
        }
コード例 #10
0
        public ActionResult Create(TrainingProgram trainingProgram)
        {
            try
            {
                using (SqlConnection conn = Connection)
                {
                    conn.Open();

                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = @"
                            INSERT INTO TrainingProgram (
                                [Name],
                                StartDate,
                                EndDate,
                                MaxAttendees
                                ) VALUES (
                                @name,
                                @startDate,
                                @endDate,
                                @maxAttendees
                                )             
                        ";

                        cmd.Parameters.AddWithValue("@name", trainingProgram.Name);
                        cmd.Parameters.AddWithValue("@startDate", trainingProgram.StartDate);
                        cmd.Parameters.AddWithValue("@endDate", trainingProgram.EndDate);
                        cmd.Parameters.AddWithValue("@maxAttendees", trainingProgram.MaxAttendees);

                        cmd.ExecuteNonQuery();
                    }
                }

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }
コード例 #11
0
        public async Task TestPutTrainingProgram()
        {
            using (var client = new APIClientProvider().Client)
            {
                //Put Section

                TrainingProgram modifiedTrainingProgram = new TrainingProgram
                {
                    Id           = 1,
                    ProgramName  = "Jedi Training",
                    StartDate    = DateTime.Now,
                    EndDate      = DateTime.Now,
                    MaxAttendees = 11
                };
                var modifiedTrainingProgramAsJSON = JsonConvert.SerializeObject(modifiedTrainingProgram);

                var response = await client.PutAsync(
                    "api/trainingprograms/1",
                    new StringContent(modifiedTrainingProgramAsJSON, Encoding.UTF8, "application/json"));

                string responseBody = await response.Content.ReadAsStringAsync();

                Assert.Equal(HttpStatusCode.NoContent, response.StatusCode);

                /*
                 * GET section
                 * Verify that the PUT operation was successful
                 */

                var getTrainingProgram = await client.GetAsync("/api/trainingprograms/1");

                getTrainingProgram.EnsureSuccessStatusCode();

                string getTrainingProgramBody = await getTrainingProgram.Content.ReadAsStringAsync();

                ProductType newTrainingProgram = JsonConvert.DeserializeObject <ProductType>(getTrainingProgramBody);

                Assert.Equal(HttpStatusCode.OK, getTrainingProgram.StatusCode);
            }
        }
        //GET: Training Programs
        public static List <TrainingProgram> GetTrainingPrograms()
        {
            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"
                        SELECT

                        tp.Id, tp.Name AS 'Trng Prgm Name',
                        tp.StartDate AS 'Trng Prgm Start',
                        tp.EndDate AS 'Trng Prgm End',
                        tp.MaxAttendees AS 'Max Attendees'
                        FROM TrainingProgram tp
                        ";
                    SqlDataReader reader = cmd.ExecuteReader();

                    List <TrainingProgram> tpsReports = new List <TrainingProgram>();
                    while (reader.Read())
                    {
                        TrainingProgram tpsReport = new TrainingProgram
                        {
                            id           = reader.GetInt32(reader.GetOrdinal("Id")),
                            name         = reader.GetString(reader.GetOrdinal("Trng Prgm Name")),
                            startDate    = reader.GetDateTime(reader.GetOrdinal("Trng Prgm Start")),
                            endDate      = reader.GetDateTime(reader.GetOrdinal("Trng Prgm End")),
                            maxAttendees = reader.GetInt32(reader.GetOrdinal("Max Attendees"))
                        };

                        tpsReports.Add(tpsReport);
                    }

                    reader.Close();

                    return(tpsReports);
                }
            }
        }
コード例 #13
0
        public IActionResult Get([FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                TrainingProgram training_program = _context.TrainingPrograms.Single(p => p.TrainingProgramId == id);
                if (training_program == null)
                {
                    return(NotFound());
                }

                return(Ok(training_program));
            }
            catch (System.InvalidOperationException vex)
            {
                return(NotFound());
            }
        }
コード例 #14
0
        public async Task <IActionResult> Put([FromRoute] int id, [FromBody] TrainingProgram program)
        {
            try
            {
                using (SqlConnection conn = Connection)
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = @"UPDATE TrainingProgram SET Name = @Name, StartDate = @StartDate, EndDate = @EndDate, MaxAttendees = @MaxAttendees WHERE Id = @id";


                        cmd.Parameters.Add(new SqlParameter("@Name", program.Name));
                        cmd.Parameters.Add(new SqlParameter("@StartDate", program.StartDate));
                        cmd.Parameters.Add(new SqlParameter("@EndDate", program.EndDate));
                        cmd.Parameters.Add(new SqlParameter("@MaxAttendees", program.MaxAttendees));
                        cmd.Parameters.Add(new SqlParameter("@id", id));

                        int rowsAffected = cmd.ExecuteNonQuery();
                        if (rowsAffected > 0)
                        {
                            return(new StatusCodeResult(StatusCodes.Status204NoContent));
                        }
                        throw new Exception("No rows affected");
                    }
                }
            }
            catch (Exception)
            {
                if (!ProgramExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
        }
        public ActionResult Edit(int id, TrainingProgram trainingProgram)
        {
            try
            {
                using (SqlConnection conn = Connection)
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = @" UPDATE TrainingProgram
                                                   SET Name = @Name, 
                                                   StartDate = @StartDate,
                                                   EndDate = @EndDate,
                                                   MaxAttendees = @MaxAttendees
                                                   WHERE Id = @id
                                                   ";

                        cmd.Parameters.Add(new SqlParameter("@Name", trainingProgram.Name));
                        cmd.Parameters.Add(new SqlParameter("@StartDate", trainingProgram.StartDate));
                        cmd.Parameters.Add(new SqlParameter("@EndDate", trainingProgram.EndDate));
                        cmd.Parameters.Add(new SqlParameter("@MaxAttendees", trainingProgram.MaxAttendees));
                        cmd.Parameters.Add(new SqlParameter("@id", trainingProgram.Id));

                        var rowsaffected = cmd.ExecuteNonQuery();

                        if (rowsaffected < 1)
                        {
                            return(NotFound());
                        }
                    }
                }

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }
        private async Task <TrainingProgram> GetOneTrainingProgram(int id)
        {
            TrainingProgram prog = null;

            using (SqlConnection conn = Connection)
            {
                await conn.OpenAsync();

                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"SELECT 
                    Id, [Name], StartDate, EndDate, MaxAttendees 
                    FROM TrainingProgram 
                    WHERE Id = @id";
                    cmd.Parameters.AddWithValue("@id", id);

                    var reader = cmd.ExecuteReader();

                    if (await reader.ReadAsync())
                    {
                        prog = new TrainingProgram()
                        {
                            Id           = reader.GetInt32(reader.GetOrdinal("Id")),
                            Name         = reader.GetString(reader.GetOrdinal("Name")),
                            StartDate    = reader.GetDateTime(reader.GetOrdinal("StartDate")),
                            EndDate      = reader.GetDateTime(reader.GetOrdinal("EndDate")),
                            MaxAttendees = reader.GetInt32(reader.GetOrdinal("MaxAttendees"))
                        };
                    }
                    else
                    {
                        throw new Exception("No program found");
                    }
                }
            }


            return(prog);
        }
コード例 #17
0
        public async Task <IActionResult> Get([FromRoute] int id)
        {
            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"
                        SELECT Id, [Name], StartDate, EndDate, MaxAttendees 
                        FROM TrainingProgram
                        WHERE Id = @id";

                    cmd.Parameters.Add(new SqlParameter("@id", id));
                    SqlDataReader reader = await cmd.ExecuteReaderAsync();

                    TrainingProgram trainingProgram = null;

                    if (reader.Read())
                    {
                        trainingProgram = new TrainingProgram
                        {
                            Id           = reader.GetInt32(reader.GetOrdinal("Id")),
                            Name         = reader.GetString(reader.GetOrdinal("Name")),
                            StartDate    = reader.GetDateTime(reader.GetOrdinal("StartDate")),
                            EndDate      = reader.GetDateTime(reader.GetOrdinal("EndDate")),
                            MaxAttendees = reader.GetInt32(reader.GetOrdinal("MaxAttendees"))
                        };
                    }
                    reader.Close();

                    if (trainingProgram == null)
                    {
                        return(NotFound($"No Training Program found with the ID of {id}"));
                    }

                    return(Ok(trainingProgram));
                }
            }
        }
コード例 #18
0
        // GET: Training/Delete/5
        public async Task <IActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            string sql = $@"SELECT
                    tp.Id, tp.Title, tp.MaxAttendees, tp.StartDate, tp.EndDate
                FROM TrainingProgram tp WHERE tp.Id = {id}";

            using (IDbConnection conn = Connection) {
                TrainingProgram program = (await conn.QuerySingleAsync <TrainingProgram> (sql));

                if (program == null)
                {
                    return(NotFound());
                }

                return(View(program));
            }
        }
コード例 #19
0
        public async Task <bool> DeleteManyAsync(Guid[] deleteIds)
        {
            foreach (var id in deleteIds)
            {
                var model = await GetById(id);

                if (model == null)
                {
                    throw new ArgumentException($"Id {id} không tồn tại");
                }

                var deleteTrainingProgram = new TrainingProgram()
                {
                    Id = id
                };
                _dataContext.TrainingPrograms.Attach(deleteTrainingProgram);
                _dataContext.TrainingPrograms.Remove(deleteTrainingProgram);
            }
            await _dataContext.SaveChangesAsync();

            return(true);
        }
コード例 #20
0
        // The index() method is a GetAllTrainingDepartments method. It only returns training departments that haven't started yet. The result is passed into the Index view for Employees
        // GET: TrainingPrograms
        public ActionResult Index()
        {
            using (SqlConnection conn = Connection)
            {
                conn.Open();

                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"SELECT
                                            t.Id,
                                            t.Name,
                                            t.StartDate,
                                            t.EndDate,
                                            t.MaxAttendees
                                        FROM TrainingProgram t
                                        WHERE t.StartDate > GetDate()";

                    List <TrainingProgram> trainingPrograms = new List <TrainingProgram>();

                    SqlDataReader reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        TrainingProgram trainingProgram = new TrainingProgram
                        {
                            Id           = reader.GetInt32(reader.GetOrdinal("Id")),
                            Name         = reader.GetString(reader.GetOrdinal("Name")),
                            StartDate    = reader.GetDateTime(reader.GetOrdinal("StartDate")),
                            EndDate      = reader.GetDateTime(reader.GetOrdinal("EndDate")),
                            MaxAttendees = reader.GetInt32(reader.GetOrdinal("MaxAttendees"))
                        };

                        trainingPrograms.Add(trainingProgram);
                    }

                    return(View(trainingPrograms));
                }
            }
        }
コード例 #21
0
        public async Task Test_Post_TrainingProgram()
        {
            using (var client = new APIClientProvider().Client)
            {
                /*
                 *  ARRANGE
                 */
                TrainingProgram trainingProgram = new TrainingProgram()
                {
                    Name         = "Christmas Scented Basket Weaving Class",
                    StartDate    = new DateTime(2045, 12, 25),
                    EndDate      = new DateTime(2046, 05, 11),
                    MaxAttendees = 300
                };

                var trainingProgramAsJSON = JsonConvert.SerializeObject(trainingProgram);

                /*
                 *  ACT
                 */
                var response = await client.PostAsync(
                    "/api/TrainingPrograms",
                    new StringContent(trainingProgramAsJSON, Encoding.UTF8, "application/json")
                    );


                string responseBody = await response.Content.ReadAsStringAsync();

                var newTP = JsonConvert.DeserializeObject <TrainingProgram>(responseBody);

                /*
                 *  ASSERT
                 */
                Assert.Equal(HttpStatusCode.Created, response.StatusCode);
                Assert.True(newTP.Id != 0);
                Assert.Equal(newTP.Name, trainingProgram.Name);
                Assert.Equal(newTP.MaxAttendees, trainingProgram.MaxAttendees);
            }
        }
コード例 #22
0
        public async Task Test_Create_New_Training_Program()
        {
            using (var client = new APIClientProvider().Client)
            {
                /*
                 *  ARRANGE
                 */
                TrainingProgram newTrainingProgram = new TrainingProgram()
                {
                    Name         = "Test Training Program",
                    StartDate    = new DateTime(2019, 08, 26),
                    EndDate      = new DateTime(2019, 09, 15),
                    MaxAttendees = 20
                };

                var jsonTrainingProgram = JsonConvert.SerializeObject(newTrainingProgram);

                /*
                 *  ACT
                 */
                var response = await client.PostAsync(
                    "/api/trainingPrograms",
                    new StringContent(jsonTrainingProgram, Encoding.UTF8, "application/json")
                    );


                string responseBody = await response.Content.ReadAsStringAsync();

                var trainingProgram = JsonConvert.DeserializeObject <TrainingProgram>(responseBody);

                /*
                 *  ASSERT
                 */
                Assert.Equal(HttpStatusCode.Created, response.StatusCode);
                Assert.True(trainingProgram.Id != 0);
                Assert.Equal(trainingProgram.Name, newTrainingProgram.Name);
                Assert.Equal(trainingProgram.MaxAttendees, newTrainingProgram.MaxAttendees);
            }
        }
        public ActionResult Delete(int id, TrainingProgram trainingProgram)
        {
            try
            {
                using (SqlConnection conn = Connection)
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = @"DELETE FROM TrainingProgram WHERE Id = @id";
                        cmd.Parameters.Add(new SqlParameter("@id", id));

                        int rowsAffected = cmd.ExecuteNonQuery();
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View(trainingProgram));
            }
        }
コード例 #24
0
        public async Task Test_Modify_TrainingProgram()
        {
            // New last name to change to and test

            using (var client = new APIClientProvider().Client)
            {
                int             newmax          = 16;
                TrainingProgram trainingprogram = new TrainingProgram
                {
                    Name         = "How To Sell Cars",
                    StartDate    = new DateTime(2020, 02, 14),
                    EndDate      = new DateTime(2019, 02, 15),
                    MaxAttendees = newmax
                };

                var modifiedDeptAsJSON = JsonConvert.SerializeObject(trainingprogram);

                var response = await client.PutAsync(
                    "/api/TrainingProgram/4",
                    new StringContent(modifiedDeptAsJSON, Encoding.UTF8, "application/json")
                    );

                string responseBody = await response.Content.ReadAsStringAsync();


                var getDept = await client.GetAsync("/api/TrainingProgram");

                getDept.EnsureSuccessStatusCode();

                string getDeptBody = await getDept.Content.ReadAsStringAsync();


                List <TrainingProgram> newList = JsonConvert.DeserializeObject <List <TrainingProgram> >(getDeptBody);

                Assert.Equal(HttpStatusCode.OK, getDept.StatusCode);
                Assert.Equal(newmax, newList[3].MaxAttendees);
            }
        }
コード例 #25
0
        public async Task Test_Create_And_Delete_TrainingProgram()
        {
            using (var client = new APIClientProvider().Client)
            {
                TrainingProgram tProgram = new TrainingProgram
                {
                    Name         = "Jump Java and Whales!",
                    StartDate    = DateTime.Parse("2020-01-01 13:00:00"),
                    EndDate      = DateTime.Parse("2019-01-07 13:00:00"),
                    MaxAttendees = 10
                };
                var testTrainingProgramJSON = JsonConvert.SerializeObject(tProgram);

                var response = await client.PostAsync(

                    "/api/TrainingProgram",
                    new StringContent(testTrainingProgramJSON, Encoding.UTF8, "application/json")
                    );

                response.EnsureSuccessStatusCode();

                string responseBody = await response.Content.ReadAsStringAsync();

                var newTrainingProgram = JsonConvert.DeserializeObject <TrainingProgram>(responseBody);

                Assert.Equal(HttpStatusCode.Created, response.StatusCode);
                Assert.Equal("Jump Java and Whales!", newTrainingProgram.Name);
                Assert.Equal(10, newTrainingProgram.MaxAttendees);



                //Checking Delete Part
                var deleteResponse = await client.DeleteAsync($"/api/TrainingProgram/{newTrainingProgram.Id}");

                deleteResponse.EnsureSuccessStatusCode();
                Assert.Equal(HttpStatusCode.NoContent, deleteResponse.StatusCode);
            }
        }
コード例 #26
0
        public async Task Test_Delete_TrainingProgram()
        {
            using (var client = new APIClientProvider().Client)
            {
                /*
                 *  ARRANGE
                 */
                TrainingProgram newTrainingProgram = new TrainingProgram()
                {
                    Name         = "test post",
                    MaxAttendees = 70,
                    StartDate    = new DateTime(2020, 3, 2),
                    EndDate      = new DateTime(2020, 4, 2)
                };
                var trainingProgramAsJSON = JsonConvert.SerializeObject(newTrainingProgram);

                var postResponse = await client.PostAsync(
                    "/api/trainingPrograms",
                    new StringContent(trainingProgramAsJSON, Encoding.UTF8, "application/json"));

                string responseBody = await postResponse.Content.ReadAsStringAsync();

                var trainingProgram = JsonConvert.DeserializeObject <TrainingProgram>(responseBody);

                /*
                 *  ACT
                 */



                var deleteResponse = await client.DeleteAsync($"/api/trainingPrograms/{trainingProgram.Id}");

                /*
                 *  ASSERT
                 */
                Assert.Equal(HttpStatusCode.OK, deleteResponse.StatusCode);
            }
        }
コード例 #27
0
        public void Put(int id, [FromBody] TrainingProgram training)
        {
            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"UPDATE TrainingProgram
                                                SET Name = @Name, 
                                                    StartDate = @StartDate,
                                                    EndDate = @EndDate,
                                                    MaxAttendees = @MaxAttendees
                                                WHERE id = @id;";
                    cmd.Parameters.Add(new SqlParameter("@Name", training.Name));
                    cmd.Parameters.Add(new SqlParameter("@StartDate", training.StartDate));
                    cmd.Parameters.Add(new SqlParameter("@EndDate", training.EndDate));
                    cmd.Parameters.Add(new SqlParameter("@MaxAttendees", training.MaxAttendees));
                    cmd.Parameters.Add(new SqlParameter("@id", id));

                    cmd.ExecuteNonQuery();
                }
            }
        }
コード例 #28
0
        public IActionResult Post([FromBody] TrainingProgram trainingProgram)
        {
            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    // More string interpolation
                    cmd.CommandText = @"
                        INSERT INTO TrainingProgram (ProgramName, StartDate, EndDate, MaxAttendees)
                        OUTPUT INSERTED.Id
                        VALUES (@programName, @startDate, @endDate, @maxAttendees)";
                    cmd.Parameters.Add(new SqlParameter("@programName", trainingProgram.ProgramName));
                    cmd.Parameters.Add(new SqlParameter("@startDate", trainingProgram.StartDate));
                    cmd.Parameters.Add(new SqlParameter("@endDate", trainingProgram.EndDate));
                    cmd.Parameters.Add(new SqlParameter("@maxAttendees", trainingProgram.MaxAttendees));

                    cmd.ExecuteNonQuery();

                    return(Created("api/trainingprogram", trainingProgram));
                }
            }
        }
コード例 #29
0
        public async Task <IActionResult> Post([FromBody] TrainingProgram trainingProgram)
        {
            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    // More string interpolation
                    cmd.CommandText = @"
                       INSERT INTO TrainingProgram ( [StartDate], [EndDate], [MaxAttendees], [Name])
                       OUTPUT INSERTED.Id
                       VALUES (@StartDate, @EndDate, @MaxAttendees, @Name)
                   ";
                    cmd.Parameters.Add(new SqlParameter("@StartDate", trainingProgram.StartDate));
                    cmd.Parameters.Add(new SqlParameter("@EndDate", trainingProgram.EndDate));
                    cmd.Parameters.Add(new SqlParameter("@MaxAttendees", trainingProgram.MaxAttendees));
                    cmd.Parameters.Add(new SqlParameter("@Name", trainingProgram.Name));
                    trainingProgram.Id = (int)await cmd.ExecuteScalarAsync();

                    return(CreatedAtRoute("GetTrainingProgram", new { id = trainingProgram.Id }, trainingProgram));
                }
            }
        }
コード例 #30
0
        public async Task <IActionResult> Create([Bind("TrainingProgramId, ProgramName, Descrip, StartDate, EndDate, MaximumAttendees")] TrainingProgram trainingprogram)
        {
            if (ModelState.IsValid)
            {
                string sql = $@"
                    INSERT INTO TrainingProgram
                        (ProgramName, Descrip, StartDate, EndDate, MaximumAttendees)
                        VALUES
                        ('{trainingprogram.ProgramName}', '{trainingprogram.Descrip}', '{trainingprogram.StartDate}', '{trainingprogram.EndDate}', '{trainingprogram.MaximumAttendees}') 
                ";

                using (IDbConnection conn = Connection)
                {
                    int rowsAffected = await conn.ExecuteAsync(sql);

                    if (rowsAffected > 0)
                    {
                        return(RedirectToAction(nameof(Index)));
                    }
                }
            }
            return(View(trainingprogram));
        }