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); }
private int GetEmployeeId(AppDbContext db, EmployeeCardModel cardModel) { var employeeDb = new EmployeeService(db); if (employeeDb.isExists(cardModel.Firstname, cardModel.Lastname)) { return(employeeDb.GetItemByName(cardModel.Firstname, cardModel.Lastname).EmployeeId); } else { var employee = new Employee() { FirstName = cardModel.Firstname, LastName = cardModel.Lastname }; employeeDb.Create(employee); return(employee.EmployeeId); } }
public int CardOpr(CardModel requestData, PersonModel person, DepartmentModel dept, int OprType, out string message) { message = ""; int result = 0; EmployeeCardModel model = new EastRiverBLL().GetEmployeeCardByCardNo(requestData.CardNo); if (model == null) { model = new EmployeeCardModel(); } model.card_id = requestData.CardNo; model.emp_id = person.ThirdPersonId; model.CardBegDate = requestData.BeginTime; model.CardEndDate = requestData.EndTime; model.card_sn = requestData.CardNo; model.CardType = 1; EmployeeAccountModel accountModel = new EastRiverBLL().GetEmployeeAccountByCardNo(requestData.CardNo); if (accountModel == null) { accountModel = new EmployeeAccountModel(); } accountModel.AppState = 1; accountModel.card_id = requestData.CardNo; accountModel.emp_id = person.ThirdPersonId; accountModel.ExpireDate = requestData.EndTime; switch (OprType) { case 1: //新增 model.issue_date = DateTime.Now; model.UseFlag = 1; model.CardState = 1; new EastRiverBLL().InsertEmployeeCard(model); //创建消费账户 accountModel.OpenDate = DateTime.Now; new EastRiverBLL().InsertEmployeeAccount(accountModel); break; case 2: //退卡 model.CardState = 5; //注销 //float backmoney = 0; //float.TryParse(requestData.BackMoney, out backmoney); model.card_balance = 0; new EastRiverBLL().UpdateEmployeeCard(model); //更新消费账户 accountModel.card_balance = model.card_balance; new EastRiverBLL().UpdateEmployeeAccount(accountModel); break; case 3: //挂失 model.CardState = 2; //挂失 new EastRiverBLL().UpdateEmployeeCard(model); break; case 4: //更新 if (requestData.Status == 0) { model.CardState = 1; } new EastRiverBLL().UpdateEmployeeCard(model); new EastRiverBLL().UpdateEmployeeAccount(accountModel); break; default: break; } return(result); }
/// <summary> /// 更新卡 /// </summary> /// <param name="model"></param> /// <returns></returns> public bool UpdateEmployeeCard(EmployeeCardModel model) { return(EmployeeCardDAL.ProxyInstance.Update <EmployeeCardModel>(model, model.card_id)); }
/// <summary> /// 发行新卡 /// </summary> /// <param name="model"></param> public void InsertEmployeeCard(EmployeeCardModel model) { EmployeeCardDAL.ProxyInstance.Insert <EmployeeCardModel>(model); }