public static WorkFlowItem ToDomain(this WorkFlowItemDto item, WorkFlowItem originalItem = null) { if (originalItem != null && originalItem.Id == item.Id) { originalItem.Json = JsonConvert.SerializeObject(item.Obj); originalItem.Type = item.Type.Replace("Dto", ""); originalItem.ParentType = item.ParentType.Replace("Dto", ""); originalItem.ParentId = item.ParentId; originalItem.API = item.API; originalItem.ObjId = item.ObjId; originalItem.ApprovalStatus = (ApprovalStatus)Enum.Parse(typeof(ApprovalStatus), item.ApprovalStatus.ToString(), true); ((IDataDto)item).ToDomain((IData)originalItem); return(originalItem); } var data = new WorkFlowItem { Json = JsonConvert.SerializeObject(item.Obj), Type = item.Type.Replace("Dto", ""), ParentType = item.ParentType.Replace("Dto", ""), ParentId = item.ParentId, API = item.API, ObjId = item.ObjId, ApprovalStatus = (ApprovalStatus)Enum.Parse(typeof(ApprovalStatus), item.ApprovalStatus.ToString(), true) }; ((IDataDto)item).ToDomain((IData)data); return(data); }
public IHttpActionResult PostWithDependentsWithWorkFlow([FromBody] ProductVersionDto value) { try { if (value.WorkFlowItemId != 0) { Guid?token = _workFlowItemService.GetToken(value.WorkFlowItemId); if (token.HasValue && value.WorkFlowItemToken == token.Value) { if (value.ApprovalStatus == ApprovalStatusDto.Approved) { var entity = AddVersion(value); return(Ok(entity.ToDto())); } else //if (value.ApprovalStatus == ApprovalStatusDto.Pending) { return(Ok(value)); } } else { return(BadRequest("Invalid Token")); } } else if (value.ApprovalStatus == ApprovalStatusDto.Pending) { var entity = AddVersion(value); return(Ok(entity.ToDto())); } else { var wFIDto = new WorkFlowItemDto { Obj = value, API = "api/ProductVersion/Dependents", ApprovalStatus = ApprovalStatusDto.Pending, Type = value.GetType().Name.ToString() }; _workFlowItemService.Add(wFIDto.ToDomain()); value.ApprovalStatus = ApprovalStatusDto.Pending; return(Ok(value)); } } catch (Exception ex) { return(InternalServerError()); } }
public static WorkFlowItemDto ToDto(this WorkFlowItem item) { try { var dto = new WorkFlowItemDto { Obj = JsonConvert.DeserializeObject(item.Json, System.Type.GetType(item.Type + "Dto")), Type = item.Type.Insert(item.Type.Length, "Dto"), ParentType = item.ParentType?.Insert(item.ParentType.Length, "Dto"), ParentId = item.ParentId, API = item.API, ObjId = item.ObjId, ApprovalStatus = (ApprovalStatusDto)Enum.Parse(typeof(ApprovalStatusDto), item.ApprovalStatus.ToString(), true) }; ((IData)item).ToDto((IDataDto)dto); return(dto); } catch (Exception ex) { return(null); } }