public string ReloadTable() { var regCards = new List <RegCardsViewModel>(); using (var db = AppDbContext.GetInstance()) { var regCardDb = new RegisterCardService(db); IEnumerable <RegisterCard> cardItems = regCardDb.GetItems(); foreach (var item in cardItems) { var tableRow = new RegCardsViewModel() { RegisterId = item.RegisterId, Title = item.Position.Title, Fio = $"{item.Employee.LastName} {item.Employee.FirstName}", Salary = item.Salary, DateHired = item.DateHired == null ? "" : Convert.ToDateTime(item.DateHired).ToString("MM/dd/yyyy"), DateFired = item.DateFired == null ? "" : Convert.ToDateTime(item.DateFired).ToString("MM/dd/yyyy") }; regCards.Add(tableRow); } } string result = JsonConvert.SerializeObject(new { data = regCards }); return(result); }
public ActionResult AddEmployeeCard(EmployeeCardModel cardModel) { if (ModelState.IsValid == false) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(new { error = "Заполните все обязательные поля!" })); } if (cardModel.DateHired != null && isValidDateHired(cardModel) == false) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(new { error = "Текущая дата \"Нанят\" не може быть ранее или равна предыдущим датам \"Нанят\"!" })); } if (cardModel.Salary < 0) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(new { error = "Оклад должен быть больше нуля!" })); } var regCard = new RegisterCard(); using (var db = AppDbContext.GetInstance()) { var regCardObject = new RegisterCard() { EmployeeId = GetEmployeeId(db, cardModel), PositionId = cardModel.PositionId, Salary = cardModel.Salary, DateHired = cardModel.DateHired, DateFired = cardModel.DateFired }; try { var regCardDb = new RegisterCardService(db); regCard = regCardDb.Create(regCardObject); var posinionDb = new PositionService(db); regCard.Position = posinionDb.GetItemById((int)regCard.PositionId); } catch (Exception ex) { Response.StatusCode = (int)HttpStatusCode.InternalServerError; if (HttpContext.IsDebuggingEnabled) { return(Json(new { error = $"Возникла внутрення ошибка сервера!\r\n{ex.Message}" })); } else { return(Json(new { error = "Возникла внутрення ошибка сервера!" })); } } } return(Json(new { RegisterId = regCard.RegisterId })); }
private bool isValidDateHired(EmployeeCardModel emplCardModel) { bool result = true; using (var db = AppDbContext.GetInstance()) { var regCardDb = new RegisterCardService(db); var regCards = regCardDb.GetItemsByEmployeeName(emplCardModel.Firstname, emplCardModel.Lastname); if (regCards.Length > 0) { result = !regCards.Any(n => n.DateHired >= emplCardModel.DateHired); } } return(result); }