示例#1
0
        public async Task <ActionResult <HomeTask> > GetHometaskWithID(int hometaskID)
        {
            if (Validation.IsAnyInputObjectDataNotSpecified(new List <object> {
                hometaskID
            }))
            {
                return(BadRequest("Error: hometask ID must be specified (with non-zero value)"));
            }

            using (var connection = new SqlConnection(Configuration.GetConnectionString("DefaultConnection")))
            {
                try
                {
                    connection.Open();

                    var homeTask = await HometasksRepository.GetDefiniteHometask(connection, hometaskID);

                    if (homeTask == null)
                    {
                        return(NotFound("There isn't hometask with such ID in database"));
                    }

                    return(homeTask);
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Message));
                }
            }
        }
示例#2
0
        public async Task <IActionResult> DeleteHometaskWithID(int hometaskID)
        {
            if (Validation.IsAnyInputObjectDataNotSpecified(new List <object> {
                hometaskID
            }))
            {
                return(BadRequest("Error: hometask ID must be specified (with non-zero value)"));
            }

            using (var connection = new SqlConnection(Configuration.GetConnectionString("DefaultConnection")))
            {
                try
                {
                    connection.Open();

                    var numberOfAffectedRows = await HometasksRepository.DeleteGradeAsync(connection, hometaskID);

                    if (numberOfAffectedRows == 0)
                    {
                        return(NotFound("Hometask with such id isn't found in database"));
                    }
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Message));
                }
            }

            return(NoContent());
        }
示例#3
0
        public async Task <IActionResult> Put(int hometaskID, [FromBody] Dictionary <string, string> hometask)
        {
            if (Validation.IsAnyInputObjectDataNotSpecified(new List <object> {
                hometaskID, hometask.ContainsKey("Name") ? hometask["Name"] : null,
                hometask.ContainsKey("Description") ? hometask["Description"] : null, hometask.ContainsKey("TaskDate") ? hometask["TaskDate"] : null,
                hometask.ContainsKey("SerialNumber") ? hometask["SerialNumber"] : null, hometask.ContainsKey("CourseID")
                ? hometask["CourseID"] : null
            }))
            {
                return(BadRequest("Error: all hometask input data must be specified"));
            }

            hometask["Name"]         = hometask["Name"].Trim();
            hometask["Description"]  = hometask["Description"].Trim();
            hometask["TaskDate"]     = hometask["TaskDate"].Trim();
            hometask["SerialNumber"] = hometask["SerialNumber"].Trim();
            hometask["CourseID"]     = hometask["CourseID"].Trim();

            if (!Validation.ValidateDateTimeAndGetParsed(hometask["TaskDate"], out DateTime resultTaskDate))
            {
                return(BadRequest("Error: task date is incorrect"));
            }

            if (!Validation.ValidateIntAndGetParsed(hometask["SerialNumber"], out int resultSerialNumber) || resultSerialNumber < 0)
            {
                return(BadRequest("Error: serial number is incorrect"));
            }

            if (!Validation.ValidateIntAndGetParsed(hometask["CourseID"], out int resultCourseID))
            {
                return(BadRequest("Error: course ID is incorrect"));
            }

            var resultHometask = new HomeTask
            {
                HomeTaskID   = hometaskID,
                Name         = hometask["Name"],
                Description  = hometask["Description"],
                TaskDate     = resultTaskDate,
                SerialNumber = resultSerialNumber,
                CourseID     = resultCourseID
            };

            using (var connection = new SqlConnection(Configuration.GetConnectionString("DefaultConnection")))
            {
                try
                {
                    connection.Open();

                    await HometasksRepository.UpdateHomeTaskAsync(connection, resultHometask);
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Message));
                }
            }

            return(NoContent());
        }
示例#4
0
        public async Task <ActionResult <List <HomeTask> > > GetAllHometasks()
        {
            using (var connection = new SqlConnection(Configuration.GetConnectionString("DefaultConnection")))
            {
                try
                {
                    connection.Open();

                    return(await HometasksRepository.GetAllHomeTasksAsync(connection));
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Message));
                }
            }
        }
示例#5
0
        public async Task <IActionResult> DeleteAllHometasks()
        {
            using (var connection = new SqlConnection(Configuration.GetConnectionString("DefaultConnection")))
            {
                try
                {
                    connection.Open();

                    var numberOfAffectedRows = await HometasksRepository.DeleteAllHomeTasksAsync(connection);

                    if (numberOfAffectedRows == 0)
                    {
                        return(NotFound("There aren't any hometasks in database"));
                    }
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Message));
                }
            }

            return(NoContent());
        }