Example #1
0
 /// <summary>
 /// Create a new business object.
 /// </summary>
 /// <param name="request">The request parameter object.</param>
 public byte[] Create(byte[] req)
 {
   var formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
   Csla.Server.Hosts.WcfBfChannel.CreateRequest request;
   using (var buffer = new System.IO.MemoryStream(req))
   {
     request = (Csla.Server.Hosts.WcfBfChannel.CreateRequest)formatter.Deserialize(buffer);
   }
   Csla.Server.DataPortal portal = new Csla.Server.DataPortal();
   object result;
   try
   {
     result = portal.Create(request.ObjectType, request.Criteria, request.Context);
   }
   catch (Exception ex)
   {
     result = ex;
   }
   var response = new WcfResponse(result);
   using (var buffer = new System.IO.MemoryStream())
   {
     formatter.Serialize(buffer, response);
     return buffer.ToArray();
   }
 }
Example #2
0
        /// <summary>
        /// Create a new business object.
        /// </summary>
        /// <param name="request">The request parameter object.</param>
        public byte[] Create(byte[] req)
        {
            var formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();

            Csla.Server.Hosts.WcfBfChannel.CreateRequest request;
            using (var buffer = new System.IO.MemoryStream(req))
            {
                request = (Csla.Server.Hosts.WcfBfChannel.CreateRequest)formatter.Deserialize(buffer);
            }
            Csla.Server.DataPortal portal = new Csla.Server.DataPortal();
            object result;

            try
            {
                result = portal.Create(request.ObjectType, request.Criteria, request.Context);
            }
            catch (Exception ex)
            {
                result = ex;
            }
            var response = new WcfResponse(result);

            using (var buffer = new System.IO.MemoryStream())
            {
                formatter.Serialize(buffer, response);
                return(buffer.ToArray());
            }
        }
Example #3
0
 public WcfResponse Create(CreateRequest request)
 {
   Csla.Server.DataPortal portal = new Csla.Server.DataPortal();
   object result;
   try
   {
     result = portal.Create(request.ObjectType, request.Criteria, request.Context, true).Result;
   }
   catch (Exception ex)
   {
     result = ex;
   }
   return new WcfResponse(result);
 }
Example #4
0
        public WcfResponse Create(CreateRequest request)
        {
            Csla.Server.DataPortal portal = new Csla.Server.DataPortal();
            object result;

            try
            {
                result = portal.Create(request.ObjectType, request.Criteria, request.Context, true).Result;
            }
            catch (Exception ex)
            {
                result = ex;
            }
            return(new WcfResponse(result));
        }
Example #5
0
        /// <summary>
        /// Create and initialize an existing business object.
        /// </summary>
        /// <param name="request">The request parameter object.</param>
#pragma warning disable 1998
        public async Task <HttpResponse> Create(CriteriaRequest request)
#pragma warning restore 1998
        {
            var result = new HttpResponse();

            try
            {
                request = ConvertRequest(request);

                // unpack criteria data into object
                object criteria = GetCriteria(request.CriteriaData);
                if (criteria is Csla.DataPortalClient.PrimitiveCriteria)
                {
                    criteria = ((Csla.DataPortalClient.PrimitiveCriteria)criteria).Value;
                }

                var objectType = Csla.Reflection.MethodCaller.GetType(AssemblyNameTranslator.GetAssemblyQualifiedName(request.TypeName), true);
                var context    = new DataPortalContext(
                    (IPrincipal)MobileFormatter.Deserialize(request.Principal),
                    true,
                    request.ClientCulture,
                    request.ClientUICulture,
                    (ContextDictionary)MobileFormatter.Deserialize(request.ClientContext),
                    (ContextDictionary)MobileFormatter.Deserialize(request.GlobalContext));

                var prtl = new Csla.Server.DataPortal();
                var dpr  = await prtl.Create(objectType, criteria, context, true);

                if (dpr.Error != null)
                {
                    result.ErrorData = new HttpErrorInfo(dpr.Error);
                }
                result.GlobalContext = MobileFormatter.Serialize(dpr.GlobalContext);
                result.ObjectData    = MobileFormatter.Serialize(dpr.ReturnObject);
            }
            catch (Exception ex)
            {
                result.ErrorData = new HttpErrorInfo(ex);
                throw;
            }
            finally
            {
                result = ConvertResponse(result);
            }
            return(result);
        }
Example #6
0
    /// <summary>
    /// Create and initialize an existing business object.
    /// </summary>
    /// <param name="request">The request parameter object.</param>
#pragma warning disable 1998
    public async Task<HttpResponse> Create(CriteriaRequest request)
#pragma warning restore 1998
    {
      var result = new HttpResponse();
      try
      {
        request = ConvertRequest(request);

        // unpack criteria data into object
        object criteria = GetCriteria(request.CriteriaData);
        if (criteria is Csla.DataPortalClient.PrimitiveCriteria)
        {
          criteria = ((Csla.DataPortalClient.PrimitiveCriteria)criteria).Value;
        }

        var objectType = Csla.Reflection.MethodCaller.GetType(AssemblyNameTranslator.GetAssemblyQualifiedName(request.TypeName), true);
        var context = new DataPortalContext(
          (IPrincipal)MobileFormatter.Deserialize(request.Principal),
          true,
          request.ClientCulture,
          request.ClientUICulture,
          (ContextDictionary)MobileFormatter.Deserialize(request.ClientContext),
          (ContextDictionary)MobileFormatter.Deserialize(request.GlobalContext));

        var prtl = new Csla.Server.DataPortal();
        var dpr = await prtl.Create(objectType, criteria, context, true);

        if (dpr.Error != null)
          result.ErrorData = new HttpErrorInfo(dpr.Error);
        result.GlobalContext = MobileFormatter.Serialize(dpr.GlobalContext);
        result.ObjectData = MobileFormatter.Serialize(dpr.ReturnObject);
      }
      catch (Exception ex)
      {
        result.ErrorData = new HttpErrorInfo(ex);
        throw;
      }
      finally
      {
        result = ConvertResponse(result);
      }
      return result;
    }