public async Task <IHttpActionResult> PutPosition(DictionaryPosition ds)
        {
            Position position = db.Positions.Single(s => s.Id == ds.Id);

            if (position == null)
            {
                return(BadRequest());
            }

            db.Entry(position).State = EntityState.Modified;
            if (!String.IsNullOrEmpty(ds.Name))
            {
                position.Name = ds.Name;
            }
            if (!String.IsNullOrEmpty(ds.PositionCode))
            {
                position.PositionCode = ds.PositionCode;
            }
            if (ds.DepartmentId > 0)
            {
                position.DepartmentId = ds.DepartmentId;
            }
            if (ds.UpPositionId > 0)
            {
                position.UpPositionId = ds.UpPositionId;
            }

            await db.SaveChangesAsync();

            return(StatusCode(HttpStatusCode.OK));
        }
        public async Task <IHttpActionResult> PostPosition(DictionaryPosition ds)
        {
            Position position = new Position();

            position.Name         = ds.Name;
            position.PositionCode = ds.PositionCode;
            position.DepartmentId = ds.DepartmentId;
            position.UpPositionId = ds.UpPositionId;

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Positions.Add(position);
            await db.SaveChangesAsync();

            return(StatusCode(HttpStatusCode.OK));
        }