Я выполняю операции сохранения или редактирования в методе Post, и мне нужно включить или изменить значения раскрывающегося списка, однако я не знаю, как это сделать.
Включить яуже делаю, но когда я редактирую значения выпадающего списка, который имеет множественный выбор, и удаляю данные компонента, они остаются теми, что у меня уже были, вместо удаления и вставки только выбранного, чтобы обновить запись.
Следуйте коду моего поста в api controller
[JWTAuthFilter]
[System.Web.Http.HttpPost]
[System.Web.Http.Route("api/Register")]
public HttpResponseMessage Post([FromBody] UserDataModel userModel)
{
string pl = userModel.Name;
if (Regex.IsMatch(pl, @"^[a-zA-Z áéíóã]*$"))
{
var msg = "Nome válido";
}
else
{
var msg = "Nome inválido";
}
User user = new User();
if (userModel.Name == null || userModel.Name.Trim().Equals(""))
{
throw new Exception("ERRO");
}
if (userModel.IdUser != 0)
{
//editar -- edit
user = ctx.User.Find(userModel.IdUser);
}
else
{
//criar -- create
ctx.User.Add(user);
}
try
{
user.Area = ctx.Area.FirstOrDefault(it => it.IdArea == userModel.areasModel.Id);
user.ApplicantSubstituteUser = ctx.User.FirstOrDefault(it => it.IdUser == userModel.Applicant.apId);
/* comentário de teste */
//verificar
if (userModel.typesModel != null)
{
foreach (var typesModelScreen in userModel.typesModel)
{
user.RequestType.Add(ctx.RequestType.Single(it => it.IdRequestType == typesModelScreen.Id));
}
}
user.Name = userModel.Name;
user.IdTr = userModel.IdTr;
user.Password = userModel.Password;
user.Enabled = userModel.Enabled;
user.IsAdmin = userModel.IsAdmin;
user.IsRequester = userModel.IsRequester;
user.IsAnalyst = userModel.IsAnalyst;
user.Email = userModel.Email;
user.Manager = userModel.Manager;
user.ActingType = userModel.ActingType;
user.Telephone = userModel.Telephone;
user.DateRegister = DateTime.UtcNow;
ctx.SaveChanges();
var message = Request.CreateResponse(HttpStatusCode.Created, userModel + "Usuário registrado com sucesso!");
return message;
}
catch (Exception ex)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex);
}
}