private Contract.TaggedObject MapTaggedObjectEntityToTaggedObjectContract(Entities.TaggedObject to) { return(new Contract.TaggedObject() { TaggedObjectId = to.TaggedObjectId, TagId = to.TagId, IsActive = to.IsActive, ObjectId = IsObjectIdInt(to.ApplicationId) ? to.ObjectId + "" : to.ObjectTextId }); }
private void SaveTaggedObjects(int applicationId, Contract.TagRequest req, bool tag) { toList = new List <TaggedObject>(); Entities.TaggedObject tagObj; foreach (Entities.Tag t in tagList) // In case of multiple tags { if (string.IsNullOrEmpty(t.ErrorCode)) { foreach (Contract.TaggedObject to in req.TaggedObjects) { if (!string.IsNullOrEmpty(to.ObjectId)) { if (t.IsNew) { tagObj = new Entities.TaggedObject() { TagId = t.TagId, ObjectId = IsObjectIdInt(applicationId) ? Int32.Parse(to.ObjectId) : 0, ObjectTextId = !IsObjectIdInt(applicationId) ? to.ObjectId : null, CreateDatetime = DateTime.Now, UpdatedDateTime = DateTime.Now, IsActive = tag, ApplicationId = applicationId }; repository.Save(tagObj); } else { tagObj = repository.GetTaggedObject(to.ObjectId.Trim(), t.TagId, IsObjectIdInt(applicationId)); if (tagObj == null || tagObj.TaggedObjectId == 0) { tagObj = new Entities.TaggedObject() { TagId = t.TagId, ObjectId = IsObjectIdInt(applicationId) ? Int32.Parse(to.ObjectId) : 0, ObjectTextId = !IsObjectIdInt(applicationId) ? to.ObjectId : null, CreateDatetime = DateTime.Now, UpdatedDateTime = DateTime.Now, IsActive = tag, ApplicationId = applicationId }; repository.Save(tagObj); } else if (tagObj.IsActive.HasValue && tagObj.IsActive.Value != tag) { tagObj.IsActive = tag; tagObj.UpdatedDateTime = DateTime.Now; repository.Save(tagObj); } if (to.TagId == 0 || to.TaggedObjectId == 0) { to.TaggedObjectId = tagObj.TaggedObjectId; to.TagId = t.TagId; to.IsActive = tag; } if (req.GetTaggedObjectsInResponse) { toList.Add(MapTaggedObjectEntityToTaggedObjectContract(tagObj)); } } } else { to.ErrorCode = "InvalidObjectId"; tagRes.ErrorCode = SetErrorCode(tagRes.ErrorCode, "InvalidTagId"); if (req.GetTaggedObjectsInResponse) { toList.Add(to); } } } } } }