public async Task <IHttpActionResult> Post(NguoiDungViewModel.Dto instance) { var result = new TransferObj <NGUOIDUNG>(); var curentUnitCode = _service.GetCurrentUnitCode(); if (instance.MANHANVIEN == "") { result.Status = false; result.Message = "Mã không hợp lệ"; return(Ok(result)); } else { var exist = _service.Repository.DbSet.FirstOrDefault(x => x.MANHANVIEN == instance.MANHANVIEN && x.UNITCODE.StartsWith(curentUnitCode)); if (exist != null) { result.Status = false; result.Message = "Đã tồn tại mã người dùng này"; return(Ok(result)); } } try { instance.MANHANVIEN = _service.SaveCode(); instance.I_STATE = "C"; instance.PASSWORD = MD5Encrypt.MD5Hash(instance.PASSWORD); var data = Mapper.Map <NguoiDungViewModel.Dto, NGUOIDUNG>(instance); if (!string.IsNullOrEmpty(instance.UNITCODE) && instance.UNITCODE.Equals(curentUnitCode)) { data.PARENT_UNITCODE = curentUnitCode; var item = _service.Insert(data); int inst = await _service.UnitOfWork.SaveAsync(); if (inst > 0) { result.Status = true; result.Data = item; result.Message = "Thêm mới thành công"; } else { result.Status = false; result.Data = null; result.Message = "Thao tác không thành công"; } } else { data.PARENT_UNITCODE = _service.GetParentUnitCode(data.UNITCODE); var item = _service.Insert(data, false); int inst = await _service.UnitOfWork.SaveAsync(); if (inst > 0) { result.Status = true; result.Data = item; result.Message = "Thêm mới thành công"; } else { result.Status = false; result.Data = null; result.Message = "Thao tác không thành công"; } } } catch (Exception e) { result.Status = false; result.Message = e.Message; } return(Ok(result)); }