public GadgetResponseBody StoreGadget(RequestBody request) { Logger.Write("Entered Store Gadget"); if (request.Metadata.hasCompuloryFieldsSet()) { Gadget resp = StoreMetadata(request.Metadata); //createMetadata in DB if (resp != null) { bool noContent = SaveData(resp.GadgetUri, request.IncomingData); DAGadget.Instance.UpdateGadgetContent(resp, !noContent); Logger.Write("Exit Store Gadget successfully"); return new GadgetResponseBody { ServiceGadgetUri = baseServiceUri + resp.GadgetUri, GadgetLocationURL = baseServiceURL + resp.GadgetUri, GadgetMetadataUri = baseServiceUri + resp.GadgetUri + "/metadata", GadgetDataUri = baseServiceUri + resp.GadgetUri + "/data" }; } else { WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.Conflict; WebOperationContext.Current.OutgoingResponse.StatusDescription = "A Gadget with this metadata already exists.Use PUT for Update or change Metadata and send new POST request"; //WebOperationContext.Current.OutgoingResponse.SuppressEntityBody = true; Logger.Write("Exit Store Gadget with fail"); return null; } } else { WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.BadRequest; WebOperationContext.Current.OutgoingResponse.StatusDescription = "One of Metadata compulsory fields is missing."; //WebOperationContext.Current.OutgoingResponse.SuppressEntityBody = true; Logger.Write("Exit Store Gadget with fail"); return null; } }
public GadgetResponseBody UpdateGadget(string owner, string gadgetName, string version, RequestBody request) { //Logger.Write("Entered Update Gadget"); //GadgetResponseBody resp = StoreMetadata(request.Metadata); //updateMetadata in DB //string relativeUri = "/" + request.Metadata.Owner + "/" + request.Metadata.GadgetName + "/" + request.Metadata.Version; //SaveData(relativeUri, request.IncomingData); //return resp; DAGadget daGadget = DAGadget.Instance; Gadget gadgetObj = daGadget.GetGadgetById(string.Format(uriFormat, owner, gadgetName, version)); if (gadgetObj != null) { Gadget resp = daGadget.UpdateGadget(request.Metadata); bool saveSuccessful = SaveData(gadgetObj.GadgetUri, request.IncomingData); return new GadgetResponseBody { ServiceGadgetUri = baseServiceUri + resp.GadgetUri, GadgetLocationURL = baseServiceURL + resp.GadgetUri, GadgetMetadataUri = baseServiceUri + resp.GadgetUri + "/metadata", GadgetDataUri = baseServiceUri + resp.GadgetUri + "/data" }; } else { WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.NotFound; WebOperationContext.Current.OutgoingResponse.StatusDescription = string.Format("Cannont Update! Gadget with Owner:{0} Name:{1} Version:{2} does not exist", owner, gadgetName, version); //WebOperationContext.Current.OutgoingResponse.SuppressEntityBody = true; Logger.Write("Exit Store Gadget with fail"); return null; } }
public void SetMetadataProperty(string owner, string gadgetName, string version, string propertyName, RequestBody request) { Logger.Write("Entered Set Gadget Metadata Property - TO DO"); WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.NotImplemented; WebOperationContext.Current.OutgoingResponse.StatusDescription = "This functionality is not yet available"; WebOperationContext.Current.OutgoingResponse.SuppressEntityBody = true; }