public async Task <int> Getresign([FromBody] FindworkRequest request) { //判断request里是否满足前置条件 if (!ModelState.IsValid) { return(-1); } var user_id = Int32.Parse(User.Identity.Name); if (await UserAccessor.CheckRole(user_id) != Role.Student) { return(-2); } TakesEntity entity = new TakesEntity(); entity.work_id = request.work_id; entity.student_id = user_id; MessageEntity temp_entity = new MessageEntity(); var work_name = await WorkAccessor.GetWorkName(request.work_id); var student_name = await UserAccessor.GetUserName(user_id); temp_entity.message_type = 0; temp_entity.content = student_name + "同学辞去" + work_name + "工作。"; temp_entity.sender_id = user_id; temp_entity.receiver_id = await WorkAccessor.GetTeacher(request.work_id); var num = await TakesAccessor.GetRegion(entity); await MessageAccessor.Create(temp_entity, 1); return(num); }
//找到已拥有工作的work_id public static async Task <TakesItemEntity> FindOwnWork(int id) { TakesItemEntity takes = new TakesItemEntity(); takes.total = 0; takes.TakesItem = new List <TakesEntity>(); var query = "SELECT student_id,work_id,absent_num,absent_time,work_name FROM takes JOIN work USING (work_id)WHERE student_id=@id"; using var connection = DatabaseConnector.Connect(); await connection.OpenAsync(); using var command = connection.CreateCommand(); command.CommandText = query; command.Parameters.AddWithValue("@id", id); using var reader = await command.ExecuteReaderAsync(); while (reader.Read()) { TakesEntity temp = new TakesEntity(); temp.student_id = reader.GetInt32("student_id"); temp.work_id = reader.GetInt32("work_id"); //temp.work_time=reader.GetDouble("work_time"); temp.absent_num = reader.GetInt32("absent_num"); temp.absent_time = reader.GetDouble("absent_time"); temp.work_name = reader.GetString("work_name"); takes.total++; takes.TakesItem.Add(temp); } return(takes); }
//[AllowAnonymous] public async Task <ActionResult <ApplyResponse> > ProManageApp(ManageApplyRequest request) { var pro_id = Int32.Parse(User.Identity.Name); if (await UserAccessor.CheckRole(pro_id) == Role.Student) { return(BadRequest(new { message = "Students cannot manage application." })); } ApplyEntity ae = await ApplyAccessor.Read(request.apply_id); if (ae == null) { return(BadRequest(new { message = "Apply id not found." })); } if (ae.status != Constants.ApplyStatus.Applying) { return(BadRequest(new { message = "Application have been managed." })); } var success_change = await ApplyAccessor.SetApplyStatus(request.apply_id, request.status); if (success_change > 0) { ae.status = request.status; //减少查询 ApplyResponse ar = _mapper.Map <ApplyResponse>(ae); // 未检查id是否存在 ar.student_name = await UserAccessor.GetUserName(ae.student_id); ar.teacher_name = await UserAccessor.GetUserName(ae.teacher_id); ar.work_name = await WorkAccessor.GetWorkName(ae.work_id); if (request.status == Constants.ApplyStatus.Accepted) { // 录用,创建takes var take = new TakesEntity { work_name = ar.work_name, student_id = ae.student_id, work_id = ae.work_id, work_time = await WorkAccessor.GetWorkTotalTime(ae.work_id) }; await TakesAccessor.Create(take); } return(ar); } return(BadRequest(new { message = "Update failed" })); }
///<summery> /// 删除已辞职工作takes ///chuckle 9.9 public static async Task <int> Delete(TakesEntity takes) { var query = "DELETE FROM takes where student_id=@id AND work_id=@work_id"; using var connection = DatabaseConnector.Connect(); await connection.OpenAsync(); using var command = connection.CreateCommand(); command.CommandText = query; command.Parameters.AddWithValue("@id", takes.student_id); command.Parameters.AddWithValue("@work_id", takes.work_id); var row = await command.ExecuteNonQueryAsync(); if (row > 0) { return(1); } return(0); }
public async Task <int> Deleteresign([FromBody] FindworkRequest request) { //判断request里是否满足前置条件 if (!ModelState.IsValid) { return(-1); } var user_id = Int32.Parse(User.Identity.Name); if (await UserAccessor.CheckRole(user_id) != Role.Student) { return(-2); } TakesEntity entity = new TakesEntity(); entity.work_id = request.work_id; entity.student_id = user_id; var num = await TakesAccessor.Delete(entity); return(num); }
///<summery> /// 创建takes,由ApplyController.ProManageApp调用 /// work_time, absent_num, absent_time 自动设为0 /// dumei 08.24 ///</summery> ///<summery> /// 更新:takes.work_time赋值为work.total_time /// dumei 09.08 ///</summery> public static async Task <int> Create(TakesEntity takes) { var query = @"INSERT INTO takes(student_id,work_id,work_time,absent_num,absent_time) VALUES(@student_id,@work_id,@work_time,@absent_num,@absent_time)"; using var connection = DatabaseConnector.Connect(); await connection.OpenAsync(); using var command = connection.CreateCommand(); command.CommandText = query; command.Parameters.AddWithValue("@student_id", takes.student_id); command.Parameters.AddWithValue("@work_id", takes.work_id); command.Parameters.AddWithValue("@work_time", takes.work_time); command.Parameters.AddWithValue("@absent_num", 0); command.Parameters.AddWithValue("@absent_time", 0); await command.ExecuteNonQueryAsync(); return((int)command.LastInsertedId); }
///<summery> /// 辞职修改takes.status ///chuckle 9.9 public static async Task <int> GetRegion(TakesEntity takes) { var query = "UPDATE takes SET status=@status WHERE student_id=@id AND work_id=@work_id"; using var connection = DatabaseConnector.Connect(); await connection.OpenAsync(); using var command = connection.CreateCommand(); command.CommandText = query; command.Parameters.AddWithValue("@status", 1);//辞职状态 command.Parameters.AddWithValue("@id", takes.student_id); command.Parameters.AddWithValue("@work_id", takes.work_id); var row = await command.ExecuteNonQueryAsync(); if (row > 0) { return(1); } return(0); }