Привет! Задача - .NET Core API для ведения учёта заявок. Заявка - сущность с полями Id, Title, Description, Status. В последнем классе контроллера есть метод [HttpPost()] для создания новой заявки, при этом Id должен определяться автоматически, в соответствии с максимальным значением из Data класса, полученным после выборки. Скажите, пожалуйста, как именно определить переменную Applications из класса контроллера (в классе ApplicationDto)? Ошибки:
Error 1: 'ApplicationDto' does not contain a definition for 'Applications' and no extension method 'Applications' accepting a first argument of type 'ApplicationDto' could be found
Error 2: The name 'Applications' does not exist in the current context AppsAccounting
Код:
{
public class ApplicationDto
{
public int Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Status { get; set; }
}
}
{
public class ApplicationForCreationDto
{
public string Title { get; set; }
public string Description { get; set; }
public string Status { get; set; }
}
}
namespace AppsAccounting
{
public class ApplicationsDataStore
{
public static ApplicationsDataStore Current { get; } = new ApplicationsDataStore();
public List<ApplicationDto> Applications { get; set; }
public ApplicationsDataStore()
{
Applications = new List<ApplicationDto>()
{
new ApplicationDto()
{
Id = 1,
Title = "Application 1",
Description = "A New Application has been created",
Status = "New"
},
new ApplicationDto()
{
Id = 2,
Title = "Application 2",
Description = "The Application is in progress",
Status = "In Progress"
},
new ApplicationDto()
{
Id = 3,
Title = "Application 3",
Description = "The Application has been completed",
Status = "Completed"
},
new ApplicationDto()
{
Id = 4,
Title = "Application 4",
Description = "The Application was canceled",
Status = "Canceled"
},
new ApplicationDto()
{
Id = 5,
Title = "Application 5",
Description = "The Application was rejected by some reasons",
Status = "Rejected"
},
new ApplicationDto()
{
Id = 6,
Title = "Application 6",
Description = "The Application was suspended by some reasons",
Status = "Suspended"
}
};
}
}
}
namespace AppsAccounting.Controllers
{
[Route("api/applications")]
public class ApplicationsController : Controller
{
[HttpGet()]
public IActionResult GetApplications()
{
return Ok(ApplicationsDataStore.Current.Applications);
}
[HttpGet("{id}", Name = "GetApplication")]
public IActionResult GetApplication(int id)
{
var applicationToReturn = ApplicationsDataStore.Current.Applications.FirstOrDefault(a => a.Id == id);
if (applicationToReturn == null)
{
return NotFound();
}
return Ok(applicationToReturn);
}
[HttpPost()]
public IActionResult CreateApplication([FromBody] ApplicationForCreationDto application)
{
if (application == null)
{
return BadRequest();
}
var maxApplicationId = ApplicationsDataStore.Current.Applications.SelectMany(
a => a.Applications).Max(a => a.Id);
var finalApplication = new ApplicationDto()
{
Id = ++maxApplicationId,
Title = application.Title,
Description = application.Description,
Status = application.Status
};
Applications.Add(finalApplication);
return CreatedAtRoute("GetApplication", new
{ id = finalApplication.Id }, finalApplication);
}
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Здесь есть кто-нибудь, кто работал с Perst? Помогите пожалуйста) Не понимаю как она устроена, не могу даже вывести содержимое базы на экранПишу...
Сейчас если написать текст и нажать на кнопку сохранения появится OpenFileDialogЕсли в этом же документе что-то дописать и опять нажать на кнопку...
Применяют ли на реальных проектах перечисления enum? Если да, то в каких use-case? Я читал, что с данными типами в будущем могут появиться проблемы,...