Exemplo n.º 1
0
        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 }));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
 /// <summary>
 /// 更新卡
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool UpdateEmployeeCard(EmployeeCardModel model)
 {
     return(EmployeeCardDAL.ProxyInstance.Update <EmployeeCardModel>(model, model.card_id));
 }
Exemplo n.º 6
0
 /// <summary>
 /// 发行新卡
 /// </summary>
 /// <param name="model"></param>
 public void InsertEmployeeCard(EmployeeCardModel model)
 {
     EmployeeCardDAL.ProxyInstance.Insert <EmployeeCardModel>(model);
 }