internal static void SetMemory(ContractStatus objectValue) { string entityName = objectValue.GetName(); // chua co thi khoi tao if (!DicMaxKeyEntity.ContainsKey(entityName)) { DicMaxKeyEntity[entityName] = 0; } // co roi thi so sanh roi set max key vao dic if (DicMaxKeyEntity[entityName] < objectValue.Id) { DicMaxKeyEntity[entityName] = objectValue.Id; } DicContractStatus[objectValue.Id] = objectValue; }
public async Task <IHttpActionResult> Post([FromBody] ContractStatus req) { try { string errorMessage = "UnknowError"; string errorCode = ErrorCodeEnum.UnknownError.ToString(); #region token var header = Request.Headers; if (header.Authorization == null) { return(StatusCode(HttpStatusCode.Unauthorized)); } var token = header.Authorization.Parameter; Employee employee; if (string.IsNullOrWhiteSpace(token) || !TokenManager.ValidateToken(token, out employee)) { return(StatusCode(HttpStatusCode.Unauthorized)); } #endregion if (!Operator.IsAdmin(employee)) { return(Ok(new RequestErrorCode(false, ErrorCodeEnum.Error_NotHavePermision.ToString(), "Khong co quyen"))); } #region Validate if (!Validate(req, out errorCode, out errorMessage)) { return(Ok(new RequestErrorCode(false, errorCode, errorMessage))); } #endregion #region Tạo key var oldKey = Memory.Memory.GetMaxKey(req.GetName()); int newKey = oldKey + 1; // set key req.Id = newKey; #endregion #region Process req.CreatedAt = DateTime.Now; req.CreatedBy = employee.Id; req.IsDeleted = 0; UpdateEntitySql updateEntitySql = new UpdateEntitySql(); var lstCommand = new List <EntityCommand>(); lstCommand.Add(new EntityCommand { BaseEntity = new Entity.Entity(req), EntityAction = EntityAction.Insert }); bool isOkDone = updateEntitySql.UpdateDefault(lstCommand); if (!isOkDone) { return(Ok(new RequestErrorCode(false, errorCode, errorMessage))); } #endregion // update memory MemorySet.UpdateAndInsertEntity(req); var result = new RequestErrorCode(true); result.DataResult = req; return(Ok(result)); } catch (Exception ex) { Logger.Write(ex.ToString()); } return(BadRequest("Unknow")); }