forked from SoDOff-Project/sodoff
fix mission acceptance
This commit is contained in:
parent
e48858fd01
commit
c3615bc7ce
@ -480,8 +480,12 @@ public class ContentController : Controller {
|
|||||||
return Ok("error");
|
return Ok("error");
|
||||||
|
|
||||||
UserMissionStateResult result = new UserMissionStateResult { Missions = new List<Mission>() };
|
UserMissionStateResult result = new UserMissionStateResult { Missions = new List<Mission>() };
|
||||||
foreach (var mission in viking.MissionStates.Where(x => x.MissionStatus == MissionStatus.Active))
|
foreach (var mission in viking.MissionStates.Where(x => x.MissionStatus == MissionStatus.Active)) {
|
||||||
result.Missions.Add(missionService.GetMissionWithProgress(mission.MissionId, viking.Id));
|
Mission updatedMission = missionService.GetMissionWithProgress(mission.MissionId, viking.Id);
|
||||||
|
if (mission.UserAccepted != null)
|
||||||
|
updatedMission.Accepted = (bool)mission.UserAccepted;
|
||||||
|
result.Missions.Add(updatedMission);
|
||||||
|
}
|
||||||
|
|
||||||
result.UserID = Guid.Parse(viking.Id);
|
result.UserID = Guid.Parse(viking.Id);
|
||||||
return Ok(result);
|
return Ok(result);
|
||||||
@ -516,6 +520,7 @@ public class ContentController : Controller {
|
|||||||
return Ok(false);
|
return Ok(false);
|
||||||
|
|
||||||
missionState.MissionStatus = MissionStatus.Active;
|
missionState.MissionStatus = MissionStatus.Active;
|
||||||
|
missionState.UserAccepted = true;
|
||||||
ctx.SaveChanges();
|
ctx.SaveChanges();
|
||||||
return Ok(true);
|
return Ok(true);
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,8 @@ public class MissionState {
|
|||||||
public virtual Viking? Viking { get; set; }
|
public virtual Viking? Viking { get; set; }
|
||||||
|
|
||||||
public MissionStatus MissionStatus { get; set; }
|
public MissionStatus MissionStatus { get; set; }
|
||||||
|
|
||||||
|
public bool? UserAccepted { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum MissionStatus {
|
public enum MissionStatus {
|
||||||
|
@ -43,8 +43,10 @@ public class MissionService {
|
|||||||
});
|
});
|
||||||
// Update mission from active to completed
|
// Update mission from active to completed
|
||||||
MissionState? missionState = ctx.Vikings.FirstOrDefault(x => x.Id == userId)!.MissionStates.FirstOrDefault(x => x.MissionId == missionId);
|
MissionState? missionState = ctx.Vikings.FirstOrDefault(x => x.Id == userId)!.MissionStates.FirstOrDefault(x => x.MissionId == missionId);
|
||||||
if (missionState != null && missionState.MissionStatus == MissionStatus.Active)
|
if (missionState != null && missionState.MissionStatus == MissionStatus.Active) {
|
||||||
missionState.MissionStatus = MissionStatus.Completed;
|
missionState.MissionStatus = MissionStatus.Completed;
|
||||||
|
missionState.UserAccepted = null;
|
||||||
|
}
|
||||||
ctx.SaveChanges();
|
ctx.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user