コード例 #1
0
ファイル: AssignmentService.cs プロジェクト: r15h1/heyteam
        public Response UpdateAssignment(AssignmentUpdateRequest request)
        {
            var club = clubQuery.GetClub(request.ClubId);

            if (club == null)
            {
                return(Response.CreateResponse(new EntityNotFoundException("The specified club does not exist")));
            }

            var assignment = assignmentQuery.GetAssignment(request.ClubId, request.AssignmentId);

            if (assignment == null)
            {
                return(Response.CreateResponse(new EntityNotFoundException("The specified assignment does not exist")));
            }
            else if (assignment.ClubId != request.ClubId)
            {
                return(Response.CreateResponse(new IllegalOperationException("The specified assignment does not belong to this club")));
            }

            //if(request.DueDate != assignment.DueDate)
            //	return Response.CreateResponse(new IllegalOperationException("Due Date must be greater than today's date"));

            try {
                assignmentRepository.UpdateAssignment(request);
                return(Response.CreateSuccessResponse());
            } catch (Exception ex) {
                return(Response.CreateResponse(ex));
            }
        }
コード例 #2
0
        public HttpResponseMessage UpdateAssignment(AssignmentUpdateRequest model, int id)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
            model.Id = id;

            SuccessResponse response = new SuccessResponse();

            AssignmentService.UpdateAssignment(model);

            return(Request.CreateResponse(response));
        }
コード例 #3
0
ファイル: AssignmentService.cs プロジェクト: d1du/gradeink
 public static void UpdateAssignment(AssignmentUpdateRequest model)
 {
     DataProvider.ExecuteNonQuery(GetConnection, "dbo.UpdateAssignment"
                                  , inputParamMapper : delegate(SqlParameterCollection paramCollection)
     {
         paramCollection.AddWithValue("@Id", model.Id);
         paramCollection.AddWithValue("@AssignmentName", model.AssignmentName);
         paramCollection.AddWithValue("@AssignmentTypeId", model.AssignmentTypeId);
         paramCollection.AddWithValue("@TotalPoints", model.TotalPoints);
         paramCollection.AddWithValue("@Period", model.Period);
     }, returnParameters : delegate(SqlParameterCollection param)
                                  { }
                                  );
 }
コード例 #4
0
ファイル: AssignmentRepository.cs プロジェクト: r15h1/heyteam
        public void UpdateAssignment(AssignmentUpdateRequest request)
        {
            var sql = @"UPDATE Assignments SET 
                            DueDate = @DueDate, Instructions = @Instructions, Title = @Title
                        WHERE Guid = @AssignmentGuid AND ClubId = (SELECT ClubId FROM Clubs WHERE Guid = @ClubGuid);
                        
                        DELETE AssignmentTrainingMaterials 
                        WHERE AssignmentId = (SELECT AssignmentId FROM Assignments WHERE Guid = @AssignmentGuid);
                    ";

            var parameters = new DynamicParameters();

            parameters.Add("@AssignmentGuid", request.AssignmentId);
            parameters.Add("@ClubGuid", request.ClubId);
            parameters.Add("@Instructions", request.Instructions);
            parameters.Add("@Title", request.Title);
            parameters.Add("@DueDate", request.DueDate);
            parameters.Add("@DueDate", request.DueDate);

            using (var connection = factory.Connect()) {
                connection.Open();
                using (var transaction = connection.BeginTransaction())
                {
                    try
                    {
                        connection.Execute(sql, parameters, transaction);
                        AddTrainingMaterials(request.AssignmentId, request.TrainingMaterials, connection, transaction);
                        transaction.Commit();
                    }catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
        }