public async Task <IHttpActionResult> Post([FromBody] ServicePackReq 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 var entityData = req.GetEntity(); #region Validate if (!Validate(entityData, out errorCode, out errorMessage)) { return(Ok(new RequestErrorCode(false, errorCode, errorMessage))); } #endregion #region Tạo key var oldKey = Memory.Memory.GetMaxKey(entityData.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>(); if (req.ListDataTemp != null) { foreach (var servicePackFee in req.ListDataTemp) { servicePackFee.IdServicePack = newKey; servicePackFee.IsDeleted = 0; lstCommand.Add(new EntityCommand { BaseEntity = new Entity.Entity(servicePackFee), EntityAction = EntityAction.Insert }); MemorySet.UpdateAndInsertEntity(servicePackFee); } } lstCommand.Add(new EntityCommand { BaseEntity = new Entity.Entity(req.GetEntity()), EntityAction = EntityAction.Insert }); bool isOkDone = updateEntitySql.UpdateDefault(lstCommand); if (!isOkDone) { return(Ok(new RequestErrorCode(false, errorCode, errorMessage))); } #endregion // update memory MemorySet.UpdateAndInsertEntity(req.GetEntity()); var result = new RequestErrorCode(true); result.DataResult = req; return(Ok(result)); } catch (Exception ex) { Logger.Write(ex.ToString()); } return(BadRequest("Unknow")); }
public async Task <IHttpActionResult> Put(int id, [FromBody] ServicePackReq 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 var entityData = req.GetEntity(); #region Validate if (!ValidateUpdate(entityData, out errorCode, out errorMessage)) { return(Ok(new RequestErrorCode(false, errorCode, errorMessage))); } #endregion #region Check exist var obj = MemoryInfo.GetServicePack(id); if (obj == null) { return(Ok(new RequestErrorCode(false, ErrorCodeEnum.DataNotExist.ToString(), "Khong ton tai"))); } #endregion req.Id = obj.Id; // gan lai id de update #region Process req.UpdatedAt = DateTime.Now; req.UpdatedBy = employee.Id; UpdateEntitySql updateEntitySql = new UpdateEntitySql(); var lstCommandDelete = new List <EntityCommand>(); var lstCommand = new List <EntityCommand>(); var lstSvPackFee = MemoryInfo.GetListServicePackFeeByField(obj.Id.ToString(), ServicePackFee.ServicePackFeeFields.IdServicePack); foreach (var svPackFee in lstSvPackFee) { lstCommandDelete.Add(new EntityCommand { BaseEntity = new Entity.Entity(svPackFee), EntityAction = EntityAction.Delete }); MemorySet.RemoveMemory(svPackFee); } bool isOkDone = updateEntitySql.UpdateDefault(lstCommandDelete); if (isOkDone) { if (req.ListDataTemp != null) { foreach (var svPackFee in req.ListDataTemp) { lstCommand.Add(new EntityCommand { BaseEntity = new Entity.Entity(svPackFee), EntityAction = EntityAction.Insert }); MemorySet.UpdateAndInsertEntity(svPackFee); } } } lstCommand.Add(new EntityCommand { BaseEntity = new Entity.Entity(req.GetEntity()), EntityAction = EntityAction.Update }); isOkDone = updateEntitySql.UpdateDefault(lstCommand); if (!isOkDone) { return(Ok(new RequestErrorCode(false, errorCode, errorMessage))); } #endregion // update memory MemorySet.UpdateAndInsertEntity(req.GetEntity()); var result = new RequestErrorCode(true); result.DataResult = req; return(Ok(result)); } catch (Exception ex) { Logger.Write(ex.ToString()); } return(BadRequest("Unknow")); }