Моя проблема в моих dbo.MyQueues
, если вы видите мои ServiceLetter
данные
показ номера вместо показа букв.
Моя dbo.Services
база данных выглядит следующим образом.
ServiceId - ServicesName - ServiceLetter
1 - Admin Concerns - A
2 - Engineering - B
3 - Payments - C
public class Service
{
public int ServiceId { get; set; }
public string ServiceName { get; set; }
public string ServiceLetter { get; set; }
}
Моя dbo.MyQueues
база данных выглядит следующим образом.
MyQueueId - Name - QueueNumber - ServiceId - ServiceLetter
1 - John - 1001 - 1 - 1
2 - Doe - 1002 - 2 - 2
3 - Jack - 1003 - 3 - 3
public class MyQueue
{
public int MyQueueId { get; set; }
public string Name { get; set; }
public string QueueNumber
{
get
{
return string.Format("{0}{1:000}", ServiceLetter ?? "?", MyQueueId);
}
set { }
}
public static Queue<MyQueue> todayQueue = new Queue<MyQueue>();
public int ServiceId { get; set; }
public string ServiceLetter { get; set; }
public virtual Service Service { get; set; }
}
Я хочу, чтобы мои dbo.MyQueues
данные выглядели так.
MyQueueId - Name - QueueNumber - ServiceId - ServiceLetter
1 - John - A001 - 1 - A
2 - Doe - B002 - 2 - B
3 - Jack - C003 - 3 - C
my QueueNumber
- это комбинация моих ServiceLetter
+ MyQueueId
, поэтому я хочу, чтобы мое служебное письмо сохранялось как букву, а не как число, чтобы я мог иметь данные QueueNumber, такие как A001
, B002
, Другими словами, мне нужно сделать ServiceLetter
на моем dbo.MyQueue
, чтобы стать буквой прямо сейчас, с указанием номера.
Вот мой контроллер:
public class KiosksController : Controller
{
private DBContext db = new DBContext();
public ActionResult Index()
{
var services = db.Services;
return View(services.ToList());
}
[HttpGet]
public ActionResult GetQueueInfo(int? id, string ServiceLetter)
{
ViewBag.ServiceLetter = new SelectList(db.Services, "ServiceId", "ServiceLetter", id, ServiceLetter);
ViewBag.ServiceId = new SelectList(db.Services, "ServiceId", "ServiceName", id);
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult SetQueueInfo([Bind(Include = "QueueId,Name,QueueNumber,ServiceId,ServiceLetter")] MyQueue queue/*, int? id,string Name, string QueueNumber, string ServiceLetter, int ServiceId*/, int? id)
{
if (ModelState.IsValid)
{
MyQueue.todayQueue.Enqueue(queue);
MyQueue.todayQueue.Count();
db.Queues.Add(queue);
db.SaveChanges();
return View(queue);
}
return View();
}
}
Сценарий здесь такой.
в моем index()
есть кнопка моих служб, которая, когда щелчок переходит на мой GetQueueInfo
, затем в моем представлении GetQueueInfo
вы вводите свое имя, затем нажимаете кнопку подтверждения, чтобы перейти к SetQueueInfo
и генерировать номер очереди.
queuenumber - это комбинация ServiceLetter
+ MyQueueId
на данный момент. Она генерирует меня так, но вместо буквы в начале она показывает мне номер, такой как 1001
вместо A001
. мне очень нужна помощь, я застрял.