Esempio n. 1
0
        public void CommitAddedObject()
        {
            int callCount = 0;
            int exptectedCallCount = 1;

            var organisationService = new Microsoft.Xrm.Sdk.Fakes.StubIOrganizationService();
            organisationService.ExecuteOrganizationRequest = (request) =>
            {
                callCount++;
                var results = new OrganizationResponse();

                return results;
            };

            var crmUnitOfWork = new CrmUnitOfWork(organisationService);
            var contactRepository = new
                Xrm.Infrastructure.DataAccess.Crm.Fakes.StubContactRepository(organisationService, crmUnitOfWork);

            contactRepository.PersistAddedEntityBase = (contact) =>
            {
                var sdkContact = new Contact();
                sdkContact.ContactId = contact.Id;
                sdkContact.FirstName = "test";
                var createRequest = new CreateRequest()
                {
                    Target = sdkContact
                };
                crmUnitOfWork.Requests.Add(createRequest);
            };

            contactRepository.Add(new Xrm.Domain.Contact.Contact());
            crmUnitOfWork.Commit();

            Assert.AreEqual(exptectedCallCount, callCount);
        }
        /// <summary>
        /// To create record
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="service"></param>
        public static void CreateRecord(Entity entity, IOrganizationService service)
        {
            if (entity == null)
            {
                return;
            }
            if (service == null)
            {
                return;
            }

            var createRequest = new CreateRequest {
                Target = entity
            };

            service.Execute(createRequest);
        }
Esempio n. 3
0
        public AccountResponse Create(CreateRequest model)
        {
            var currentAccount = accountRepository.GetAll().SingleOrDefault(x => x.Email == model.Email);

            if (currentAccount != null)
            {
                throw new Exception($"Email {model.Email} has been registered");
            }

            var account = mapper.Map <Account>(model);

            account.Created      = DateTime.UtcNow;
            account.Verified     = DateTime.UtcNow;
            account.PasswordHash = BC.HashPassword(model.Password);
            accountRepository.Add(account);
            return(mapper.Map <AccountResponse>(account));
        }
Esempio n. 4
0
 public override async Task <CreateResponse> Create(CreateRequest request, ServerCallContext context)
 {
     //TODO: change to BookingExpireNotification model
     //var dto = new CreateNotification
     //{
     //    TourId = request.TourId,
     //    TourName = request.TourName,
     //    BookingId = request.BookingId,
     //    BookingName = request.BookingName,
     //    BookingNotes = request.BookingNotes,
     //    ExpireDate = request.ExpireDate.ToDateTime(),
     //    UserIds = request.AssignedUserIds
     //};
     //var result = await _notificationService.CreateNotification(dto);
     //return new CreateResponse() { Succeed = result };
     throw new NotImplementedException();
 }
Esempio n. 5
0
        /// <summary>
        /// Create user
        /// </summary>
        public static DetailsResponse CreateUser()
        {
            var createRequest = new CreateRequest(
                email: "*****@*****.**",
                externalAccountData: "SampleData",
                fieldValues: new List <FieldValueModelBase>
            {
                new TextFieldValueModel("companyName", "Sample Company Name")
            },
                firstName: "John",
                lastName: "Doe",
                password: "******",
                thirdPartyUniqueId: "31122222"
                );

            return(ApiClient.CreateUser(createRequest));
        }
Esempio n. 6
0
        public void AddQuestion([FromBody] CreateRequest Request)
        {
            Validation(Request);
            var que = new Question()
            {
                Text = Request.Question
            };

            var Answers = new List <Answer>();
            var ans     = Request.Answers.Select(x => Mapper.ToModel(x));

            Answers.AddRange(ans);
            que.AnswersId = new List <Answer>();
            que.AnswersId.AddRange(Answers);
            db.Questions.Add(que);
            db.SaveChanges();
        }
        public async Task <ActionResult <BoolResult> > Create([FromBody] CreateRequest request)
        {
            if (!await _authManager.HasSitePermissionsAsync(request.SiteId, Types.SitePermissions.CreateSpecials))
            {
                return(Unauthorized());
            }

            foreach (var specialId in request.SpecialIds)
            {
                await _createManager.CreateSpecialAsync(request.SiteId, specialId);
            }

            return(new BoolResult
            {
                Value = true
            });
        }
Esempio n. 8
0
        /// <summary>
        /// Begins the send.
        /// </summary>
        void IAlertMessage.BeginSend()
        {
            // Check File
            //if (this.Files.Count > 0)
            //{
            //    // Create Single EML
            //    this.MessageEntity.MessageContext = CreateMessageContent();
            //}

            // Create Message
            CreateRequest request = new CreateRequest(this.MessageEntity);

            request.Parameters.Add(OutgoingMessageQueuePlugin.AddToQueue, true);
            request.Parameters.Add(OutgoingMessageQueuePlugin.SourceName, OutgoingEmailServiceType.AlertService.ToString());

            BusinessManager.Execute(request);
        }
        public byte[] Create(byte[] requestData)
        {
            CreateRequest request = (CreateRequest)Deserialize(requestData);

            DataPortal portal = new DataPortal();
            object     result;

            try
            {
                result = portal.Create(request.ObjectType, request.Criteria, request.Context);
            }
            catch (Exception ex)
            {
                result = ex;
            }
            return(Serialize(result));
        }
Esempio n. 10
0
        public IResponseData <string> CreateRequest(CreateRequest request)
        {
            IResponseData <string> response = new ResponseData <string>();

            try
            {
                IRequestService service = IoC.Container.Resolve <IRequestService>();
                service.CreateRequest(request);
            }
            catch (ValidationException ex)
            {
                response.SetErrors(ex.Errors);
                response.SetStatus(HttpStatusCode.PreconditionFailed);
            }

            return(response);
        }
Esempio n. 11
0
        private async Task CreateContentChildrenTemplateAsync(CreateRequest request)
        {
            var relatedFileNameList = await _templateRepository.GetRelatedFileNamesAsync(request.SiteId, TemplateType.ContentTemplate);

            var templateNameList = await _templateRepository.GetTemplateNamesAsync(request.SiteId, TemplateType.ContentTemplate);

            foreach (var channelId in request.ChannelIds)
            {
                var nodeInfo = await _channelRepository.GetAsync(channelId);

                var templateInfo = new Template
                {
                    Id                  = 0,
                    SiteId              = request.SiteId,
                    TemplateName        = nodeInfo.ChannelName + "_下级",
                    TemplateType        = TemplateType.ContentTemplate,
                    RelatedFileName     = "T_" + nodeInfo.ChannelName + "_下级.html",
                    CreatedFileFullName = "index.html",
                    CreatedFileExtName  = ".html",
                    DefaultTemplate     = false
                };

                if (ListUtils.ContainsIgnoreCase(relatedFileNameList, templateInfo.RelatedFileName))
                {
                    continue;
                }
                if (templateNameList.Contains(templateInfo.TemplateName))
                {
                    continue;
                }
                var insertedTemplateId = await _templateRepository.InsertAsync(templateInfo);

                var childChannelIdList = await _channelRepository.GetChannelIdsAsync(request.SiteId, channelId, ScopeType.Descendant);

                foreach (var childChannelId in childChannelIdList)
                {
                    var childChannelInfo = await _channelRepository.GetAsync(childChannelId);

                    childChannelInfo.ContentTemplateId = insertedTemplateId;
                    await _channelRepository.UpdateContentTemplateIdAsync(childChannelInfo);

                    //TemplateManager.UpdateContentTemplateId(SiteId, childChannelId, insertedTemplateId);
                    //DataProvider.BackgroundNodeDAO.UpdateContentTemplateID(childChannelId, insertedTemplateID);
                }
            }
        }
Esempio n. 12
0
        public async Task Handle_DefaultWithoutResponse_CreatesUser()
        {
            var request = new CreateRequest <User, UserDto>(new UserDto
            {
                Name = "TestUser"
            });

            var response = await Mediator.HandleAsync(request);

            Assert.IsFalse(response.HasErrors);
            Assert.AreEqual(1, Context.Set <User>().Count());

            var user = Context.Set <User>().FirstOrDefault();

            Assert.IsNotNull(user);
            Assert.AreEqual("TestUser", user.Name);
        }
Esempio n. 13
0
        public AccountResponse Create(CreateRequest model)
        {
            // validate
            if (context.Accounts.Any(x => x.Email == model.Email))
            {
                throw new Exception($"Email '{model.Email}' is already registered");
            }

            // map model to new account object
            var account = model.ToAccount();

            // save account
            context.Accounts.Add(account);
            context.SaveChanges();

            return(new AccountResponse(account));
        }
Esempio n. 14
0
        public override Task <Empty> Create(CreateRequest request, ServerCallContext context)
        {
            Program.WriteLine("SdkDriverImpl.Create", request);

            var listener = new Listener();

            listener.Event += (s, e) => OnEvent(e);

            var connector = sdk.CloverConnectorFactory.CreateUsbConnector("RAID", "POS", "Register1", false);

            connector.AddCloverConnectorListener(listener);

            Program.Connector = connector;
            Program.Listener  = listener;

            return(Task.FromResult(new Empty()));
        }
Esempio n. 15
0
        public async Task <ActionResult <BoolResult> > Create([FromBody] CreateRequest request)
        {
            if (!await _authManager.HasSitePermissionsAsync(request.SiteId, MenuUtils.SitePermissions.CreateFiles))
            {
                return(Unauthorized());
            }

            foreach (var templateId in request.TemplateIds)
            {
                await _createManager.CreateFileAsync(request.SiteId, templateId);
            }

            return(new BoolResult
            {
                Value = true
            });
        }
        public void CreateGreeting_Async()
        {
            RestClient client = new RestClient(urlPrefix);

            GreetingBuilder greetingBuilder = new GreetingBuilder();

            greetingBuilder.id      = 0; // Dummy value
            greetingBuilder.message = "Create me!";
            greetingBuilder.tone    = new Tone(Tone.Symbol.FRIENDLY);
            Greeting input = greetingBuilder.Build();

            CreateRequestBuilder <int, Greeting> requestBuilder = new CreateRequestBuilder <int, Greeting>("/basicCollection");

            requestBuilder.input = input;
            CreateRequest <int, Greeting> request = requestBuilder.Build();

            AutoResetEvent blocker = new AutoResetEvent(false);

            CreateResponse <int, Greeting> createResponse = null;
            ClientErrorResponse            errorResponse  = null;

            RestliCallback <CreateResponse <int, Greeting> > .SuccessHandler successHandler = delegate(CreateResponse <int, Greeting> response)
            {
                createResponse = response;
                blocker.Set();
            };
            RestliCallback <CreateResponse <int, Greeting> > .ErrorHandler errorHandler = delegate(ClientErrorResponse response)
            {
                errorResponse = response;
                blocker.Set();
            };
            RestliCallback <CreateResponse <int, Greeting> > callback = new RestliCallback <CreateResponse <int, Greeting> >(successHandler, errorHandler);

            client.RestRequestAsync(request, callback);

            blocker.WaitOne(asyncTimeoutMillis);

            Assert.IsNull(errorResponse);
            Assert.AreEqual(RestConstants.httpStatusCreated, createResponse.status);
            Assert.AreEqual(123, createResponse.key);
            CollectionAssert.AreEqual(new List <string>()
            {
                "/basicCollection/123"
            }, createResponse.headers[RestConstants.kHeaderLocation].ToList());
        }
Esempio n. 17
0
        /// <summary>
        /// Creates a new instance of Core
        /// </summary>
        /// <param name="Settings"></param>
        /// <param name="metadata"></param>
        /// <param name="SecurityRoles"></param>
        /// <param name="Workflows"></param>
        public Core(XrmMockupSettings Settings, MetadataSkeleton metadata, List <Entity> Workflows, List <SecurityRole> SecurityRoles)
        {
            this.TimeOffset       = new TimeSpan();
            this.settings         = Settings;
            this.metadata         = metadata;
            baseCurrency          = metadata.BaseOrganization.GetAttributeValue <EntityReference>("basecurrencyid");
            baseCurrencyPrecision = metadata.BaseOrganization.GetAttributeValue <int>("pricingdecimalprecision");

            this.db             = new XrmDb(metadata.EntityMetadata, GetOnlineProxy());
            this.snapshots      = new Dictionary <string, Snapshot>();
            this.security       = new Security(this, metadata, SecurityRoles, this.db);
            this.ServiceFactory = new MockupServiceProviderAndFactory(this);

            //add the additional plugin settings to the meta data
            if (settings.IPluginMetadata != null)
            {
                metadata.Plugins.AddRange(Settings.IPluginMetadata);
            }

            this.pluginManager   = new PluginManager(Settings.BasePluginTypes, metadata.EntityMetadata, metadata.Plugins);
            this.workflowManager = new WorkflowManager(Settings.CodeActivityInstanceTypes, Settings.IncludeAllWorkflows, Workflows, metadata.EntityMetadata);

            this.systemAttributeNames = new List <string>()
            {
                "createdon", "createdby", "modifiedon", "modifiedby"
            };

            this.RequestHandlers = GetRequestHandlers(db);
            InitializeDB();
            this.security.InitializeSecurityRoles(db);

            //persist the access team templates as they livein the db as records.
            if (metadata.AccessTeamTemplates != null)
            {
                foreach (var att in metadata.AccessTeamTemplates)
                {
                    if (!db.HasRow(att.ToEntityReference()))
                    {
                        var create = new CreateRequest();
                        create.Target = att;
                        this.Execute(create, AdminUserRef);
                    }
                }
            }
        }
Esempio n. 18
0
        public async Task<ActionResult<List<int>>> Create([FromBody] CreateRequest request)
        {
            if (!await _authManager.HasSitePermissionsAsync(request.SiteId, MenuUtils.SitePermissions.Channels))
            {
                return Unauthorized();
            }

            var site = await _siteRepository.GetAsync(request.SiteId);
            if (site == null) return NotFound();

            var expendedChannelIds = new List<int>
            {
                request.SiteId
            };

            foreach (var channelId in request.ChannelIds)
            {
                var channel = await _channelRepository.GetAsync(channelId);
                if (!expendedChannelIds.Contains(channel.ParentId))
                {
                    expendedChannelIds.Add(channel.ParentId);
                }

                await _createManager.CreateChannelAsync(request.SiteId, channelId);
                if (request.IsCreateContents)
                {
                    await _createManager.CreateAllContentAsync(request.SiteId, channelId);
                }
                if (request.IsIncludeChildren)
                {
                    var channelIds = await _channelRepository.GetChannelIdsAsync(request.SiteId, channelId, ScopeType.Descendant);

                    foreach (var childChannelId in channelIds)
                    {
                        await _createManager.CreateChannelAsync(request.SiteId, childChannelId);
                        if (request.IsCreateContents)
                        {
                            await _createManager.CreateAllContentAsync(request.SiteId, channelId);
                        }
                    }
                }
            }

            return expendedChannelIds;
        }
Esempio n. 19
0
        public override Task <CreateResponse> Create(CreateRequest request,
                                                     ServerCallContext context)
        {
            // We only support creating one SBPlatform object, fail if there is an attempt to
            // create more.
            if (sbPlatform != null)
            {
                ErrorUtils.ThrowError(StatusCode.FailedPrecondition,
                                      "Creating multiple SBPlatform objects is not supported.");
            }

            sbPlatform = sbPlatformFactory.Create(request.PlatformName);
            if (sbPlatform == null)
            {
                ErrorUtils.ThrowError(StatusCode.Internal, "Could not create SBPlatform.");
            }
            return(Task.FromResult(new CreateResponse()));
        }
        public void ShouldSerializeCustomData()
        {
            //Arrange
            var dataJson = "{\"property\":\"value\"}";
            var obj      = new CreateRequest
            {
                Content = dataJson
            };

            //Act
            var json = JsonConvert.SerializeObject(obj);

            _output.WriteLine("Json: " + json);

            //Assert
            Assert.NotNull(json);
            Assert.Equal("{\"requestId\":null,\"procRouting\":null,\"callbackRouting\":null,\"content\":" + dataJson + "}", json);
        }
Esempio n. 21
0
        public override Task <CreateReply> CreatePlayer(CreateRequest request, ServerCallContext context)
        {
            string status;

            if (_playerService.CreatePlayer(request.Nick, _httpContext.GetUsername()).Id != null)
            {
                status = "ok";
            }
            else
            {
                status = "nick_exist";
            }

            return(Task.FromResult(new CreateReply
            {
                Status = status ?? "error"
            }));
        }
Esempio n. 22
0
        public DogImageResponse Create(CreateRequest model)
        {
            // map model to new DogImage object
            var DogImage = _mapper.Map <DogImage>(model);

            DogImage.FileName = saveImageToDogImages(model.DogImages);
            DogImage.Created  = DateTime.UtcNow;

            // save dog
            _context.DogImages.Add(DogImage);
            _context.SaveChanges();

            var response = _mapper.Map <DogImageResponse>(DogImage);

            //response.DogImage = readDogImagesToIFormFile(DogImage.FileName);

            return(response);
        }
Esempio n. 23
0
        internal static void CloseOpportunity(Core core, OpportunityState state, OptionSetValue status, Entity opportunityClose, EntityReference userRef)
        {
            var setStateHandler = core.RequestHandlers.Find(x => x is SetStateRequestHandler);
            var req             = new SetStateRequest()
            {
                EntityMoniker = opportunityClose.GetAttributeValue <EntityReference>("opportunityid"),
                State         = new OptionSetValue((int)state),
                Status        = status
            };

            setStateHandler.Execute(req, userRef);

            var create = new CreateRequest {
                Target = opportunityClose
            };

            core.Execute(create as OrganizationRequest, userRef);
        }
Esempio n. 24
0
        private Guid CreateNewExternalLogin(string userInitials, string abta, Guid bcId, string branchcode, string employeeId, string name)
        {
            var extLoginEntity = new Entity(EntityName.ExternalLogin);

            extLoginEntity.Attributes.Add(Attributes.ExternalLogin.Initials, userInitials);
            extLoginEntity.Attributes.Add(Attributes.ExternalLogin.AbtaNumber, abta);
            extLoginEntity.Attributes.Add(Attributes.ExternalLogin.BranchCode, branchcode);
            extLoginEntity.Attributes.Add(Attributes.ExternalLogin.BudgetCentreId, new EntityReference(EntityName.Store, bcId));
            extLoginEntity.Attributes.Add(Attributes.ExternalLogin.OwnerId, new EntityReference(EntityName.User, _myGuid));
            extLoginEntity.Attributes.Add(Attributes.ExternalLogin.EmployeeId, employeeId);
            extLoginEntity.Attributes.Add(Attributes.ExternalLogin.Name, name);

            var createReq = new CreateRequest {
                Target = extLoginEntity
            };

            return(((CreateResponse)_crmService.ExecuteCrmOrganizationRequest(createReq)).id);
        }
Esempio n. 25
0
        public IHttpActionResult Create(CreateRequest request)
        {
            log.Info("Create");
            log.Info(JsonConvert.SerializeObject(request));
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            CreateResponse results = new CreateResponse();

            results.Request = request;
            results.Result  = null;
            results.Id      = Guid.Empty;
            results.Errors  = new List <Dictionary <string, string> >();

            Entity newEntity = new Entity(request.Entity);

            foreach (KeyValuePair <string, object> field in request.Data)
            {
                log.Info(field.Key);
                newEntity.Attributes[field.Key] = DynHelper.ParsedValue(field.Value, log);
            }

            try
            {
                Guid id = connect.Create(newEntity);
                results.Result = newEntity;
                results.Id     = id;
                log.Info(JsonConvert.SerializeObject(newEntity));
            }
            catch (Exception ex)
            {
                results.Errors.Add(new Dictionary <string, string> {
                    { "Message", ex.Message }, { "StackTrace", ex.StackTrace }
                });
                log.Error(ex.Message);
                log.Error(ex.StackTrace);
                if (ex.InnerException != null)
                {
                    log.Error(ex.InnerException.Message);
                }
            }
            return(Ok <CreateResponse>(results));
        }
Esempio n. 26
0
        public async Task CreateFailTest()
        {
            var client = await LoginTask()
                         .ConfigureAwait(false);

            await DeleteTestingRecords(client)
            .ConfigureAwait(false);

            try
            {
                await Assert.ThrowsAsync <ForceException>(async() =>
                {
                    var result = await client.CreateAsync("Account", new JObject())
                                 .ConfigureAwait(false);
                    result.Assert();
                });

                await Assert.ThrowsAsync <ForceException>(async() =>
                {
                    var obj     = new AttributedObject($"UnknownObject{Guid.NewGuid():N}");
                    var request = new CreateRequest {
                        Records = new List <IAttributedObject> {
                            obj
                        }
                    };
                    var result = await client.CreateAsync($"UnknownObject{Guid.NewGuid():N}", request)
                                 .ConfigureAwait(false);
                    result.Assert();
                });

                await Assert.ThrowsAsync <ForceException>(async() =>
                {
                    var prd2List = Enumerable.Range(1, 4000).Select(_ => new AttributedObject($"UnknownObject{Guid.NewGuid():N}"));
                    var result   = await client.Composite.CreateAsync(prd2List.ToList())
                                   .ConfigureAwait(false);
                    result.Assert();
                });
            }
            finally
            {
                await DeleteTestingRecords(client)
                .ConfigureAwait(false);
            }
        }
Esempio n. 27
0
        public async Task <ActionResult <MaterialAudio> > Create([FromQuery] CreateRequest request, [FromForm] IFormFile file)
        {
            if (!await _authManager.HasSitePermissionsAsync(request.SiteId,
                                                            Types.SitePermissions.MaterialAudio))
            {
                return(Unauthorized());
            }

            var site = await _siteRepository.GetAsync(request.SiteId);

            if (file == null)
            {
                return(this.Error("请选择有效的文件上传"));
            }

            var fileName = Path.GetFileName(file.FileName);

            var fileType = PathUtils.GetExtension(fileName);

            if (!_pathManager.IsUploadExtensionAllowed(UploadType.Audio, site, fileType))
            {
                return(this.Error("文件只能是音频格式,请选择有效的文件上传!"));
            }

            var materialFileName     = PathUtils.GetMaterialFileName(fileName);
            var virtualDirectoryPath = PathUtils.GetMaterialVirtualDirectoryPath(UploadType.Audio);

            var directoryPath = PathUtils.Combine(_settingsManager.WebRootPath, virtualDirectoryPath);
            var filePath      = PathUtils.Combine(directoryPath, materialFileName);

            await _pathManager.UploadAsync(file, filePath);

            var audio = new MaterialAudio
            {
                GroupId  = request.GroupId,
                Title    = PathUtils.RemoveExtension(fileName),
                FileType = fileType.ToUpper().Replace(".", string.Empty),
                Url      = PageUtils.Combine(virtualDirectoryPath, materialFileName)
            };

            await _materialAudioRepository.InsertAsync(audio);

            return(audio);
        }
Esempio n. 28
0
        public async Task CreateAsync_ShouldReturnErrorWhenDenyInAccess()
        {
            // ARRANGE
            var expected = new UmkFile {
                Id = 10, Active = true, CreatedAt = new DateTime(2020, 05, 1), FileName = "FileNameNew", FileSize = 1000, FileType = GetTestFileTypes().First(), Name = "NameNew", SubjectId = 1, TermId = 1, UpdatedAt = new DateTime(2020, 05, 2)
            };

            var mockUmkQuery = new Mock <IUmkFilesQuery>();

            mockUmkQuery
            .Setup(u => u.Create(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <byte>(), It.IsAny <string>(), It.IsAny <double>(), It.IsAny <string>()))
            .ThrowsAsync(new Exception("Mock exception"));

            var mockRaspredelenie = new Mock <IRaspredelenieQuery>();

            mockRaspredelenie.Setup(r => r.CheckTeacherBySubjectAndTerm(It.IsAny <short>(), It.IsAny <int>(), It.IsAny <byte>()))
            .ReturnsAsync(new SPBoolResult {
                Result = false
            });

            var mockContextFactory = SetupContextFactory(mockUmkQuery.Object, null, mockRaspredelenie.Object);

            var mockFormFile = new Mock <IFormFile>();

            mockFormFile.SetupGet(f => f.ContentType).Returns(GetTestFileTypes().First().Type);
            mockFormFile.SetupGet(f => f.FileName).Returns(expected.FileName);

            var mockFileService = new Mock <IFileService <UmkFilesConfiguration> >();

            mockFileService
            .Setup(f => f.UploadAsync(It.IsAny <IFormFile>()))
            .ReturnsAsync(expected.FileName);

            _sut = new UmkFileService(mockContextFactory.Object, _mapper, mockFileService.Object);
            var request = new CreateRequest {
                Name = expected.Name, SubjectId = 1, TermId = 1, UmkFile = mockFormFile.Object
            };

            // ACT
            var actual = await _sut.CreateAsync(request);

            // ASSERT
            Assert.Equal("Отказ в доступе", actual.Error.Message);
        }
Esempio n. 29
0
        public void deserialize(InputArchive archive, string tag)
        {
            archive.startRecord(tag);
            MultiHeader h = new MultiHeader();

            ((Record)h).deserialize(archive, tag);

            while (!h.getDone())
            {
                ZooDefs.OpCode opCode = EnumUtil <ZooDefs.OpCode> .DefinedCast(h.get_Type());

                switch (opCode)
                {
                case ZooDefs.OpCode.create:
                    CreateRequest cr = new CreateRequest();
                    ((Record)cr).deserialize(archive, tag);
                    add(Op.create(cr.getPath(), cr.getData(), cr.getAcl(), cr.getFlags()));
                    break;

                case ZooDefs.OpCode.delete:
                    DeleteRequest dr = new DeleteRequest();
                    ((Record)dr).deserialize(archive, tag);
                    add(Op.delete(dr.getPath(), dr.getVersion()));
                    break;

                case ZooDefs.OpCode.setData:
                    SetDataRequest sdr = new SetDataRequest();
                    ((Record)sdr).deserialize(archive, tag);
                    add(Op.setData(sdr.getPath(), sdr.getData(), sdr.getVersion()));
                    break;

                case ZooDefs.OpCode.check:
                    CheckVersionRequest cvr = new CheckVersionRequest();
                    ((Record)cvr).deserialize(archive, tag);
                    add(Op.check(cvr.getPath(), cvr.getVersion()));
                    break;

                default:
                    throw new IOException("Invalid type of op");
                }
                ((Record)h).deserialize(archive, tag);
            }
            archive.endRecord(tag);
        }
Esempio n. 30
0
        public async Task <ActionResult <MaterialImage> > Create([FromQuery] CreateRequest request, [FromForm] IFormFile file)
        {
            if (!await _authManager.HasSitePermissionsAsync(request.SiteId,
                                                            Types.SitePermissions.MaterialImage))
            {
                return(Unauthorized());
            }

            if (file == null)
            {
                return(this.Error("请选择有效的文件上传"));
            }

            var fileName = Path.GetFileName(file.FileName);
            var extName  = PathUtils.GetExtension(fileName);
            var site     = await _siteRepository.GetAsync(request.SiteId);

            if (!_pathManager.IsImageExtensionAllowed(site, extName))
            {
                return(this.Error("此图片格式已被禁止上传,请转换格式后上传!"));
            }

            var materialFileName     = PathUtils.GetMaterialFileName(fileName);
            var virtualDirectoryPath = PathUtils.GetMaterialVirtualDirectoryPath(UploadType.Image);

            var directoryPath = PathUtils.Combine(_settingsManager.WebRootPath, virtualDirectoryPath);
            var filePath      = PathUtils.Combine(directoryPath, materialFileName);

            await _pathManager.UploadAsync(file, filePath);

            await _pathManager.AddWaterMarkAsync(site, filePath);

            var image = new MaterialImage
            {
                GroupId = request.GroupId,
                Title   = fileName,
                Url     = PageUtils.Combine(virtualDirectoryPath, materialFileName)
            };

            await _materialImageRepository.InsertAsync(image);

            return(image);
        }
        public override object InsertEvent(AuditEvent auditEvent)
        {
            var id            = IdBuilder?.Invoke(auditEvent);
            var createRequest = new CreateRequest <AuditEvent>(auditEvent, IndexBuilder?.Invoke(auditEvent), id);
            var response      = _client.Value.Create(createRequest);

            if (response.IsValid && response.Result != Result.Error)
            {
                return(new ElasticsearchAuditEventId()
                {
                    Id = response.Id, Index = response.Index
                });
            }
            if (response.OriginalException != null)
            {
                throw response.OriginalException;
            }
            return("/");
        }
Esempio n. 32
0
        public void Invoke(object Sender, object Element)
        {
            if (Element is CommandParameters)
            {
                CommandParameters cp = (CommandParameters)Element;
                PrimaryKeyId parentKey = PrimaryKeyId.Parse(cp.CommandArguments["primaryKeyId"]);
                PrimaryKeyId docId = PrimaryKeyId.Parse(((Control)Sender).Page.Request["ObjectId"]);

                DocumentContentVersionEntity docVersion = (DocumentContentVersionEntity)BusinessManager.Load(DocumentContentVersionEntity.GetAssignedMetaClassName(), parentKey);

                DocumentContentVersionEntity newVersion = (DocumentContentVersionEntity)BusinessManager.InitializeEntity(DocumentContentVersionEntity.GetAssignedMetaClassName());
                newVersion.Name = docVersion.Name;
                newVersion.OwnerDocumentId = docId;

                CreateRequest request = new CreateRequest(newVersion);
                request.Parameters.Add(DocumentContentVersionRequestParameters.Create_SourceVersionId, parentKey);

                BusinessManager.Execute(request);
                //CreateResponse response = (CreateResponse)BusinessManager.Execute(request);
                //objectId = response.PrimaryKeyId;

                CHelper.RequireBindGrid();
            }
        }
Esempio n. 33
0
        /// <summary>
        /// This method first connects to the Organization service. Afterwards,
        /// basic create, retrieve, update, and delete entity operations are performed.
        /// </summary>
        /// <param name="serverConfig">Contains server connection information.</param>
        /// <param name="promptforDelete">When True, the user will be prompted to delete all
        /// created entities.</param>
        public void Run(ServerConnection.Configuration serverConfig, bool promptforDelete)
        {
            try
            {

                // Connect to the Organization service. 
                // The using statement assures that the service proxy will be properly disposed.
                using (_serviceProxy = new OrganizationServiceProxy(serverConfig.OrganizationUri, serverConfig.HomeRealmUri, serverConfig.Credentials, serverConfig.DeviceCredentials))
                {
                    // This statement is required to enable early-bound type support.
                    _serviceProxy.EnableProxyTypes();

                    CreateRequiredRecords();

                    //<snippetImportWebResources1>

                    //Read the descriptive data from the XML file
                    XDocument xmlDoc = XDocument.Load("../../ImportJob.xml");

                    //Create a collection of anonymous type references to each of the Web Resources
                    var webResources = from webResource in xmlDoc.Descendants("webResource")
                                       select new
                                       {
                                           path = webResource.Element("path").Value,
                                           displayName = webResource.Element("displayName").Value,
                                           description = webResource.Element("description").Value,
                                           name = webResource.Element("name").Value,
                                           type = webResource.Element("type").Value
                                       };

                    // Loop through the collection creating Web Resources
                    int counter = 0;
                    foreach (var webResource in webResources)
                    {
                        //<snippetImportWebResources2>
                        //Set the Web Resource properties
                        WebResource wr = new WebResource
                        {
                            Content = getEncodedFileContents(@"../../" + webResource.path),
                            DisplayName = webResource.displayName,
                            Description = webResource.description,
                            Name = _customizationPrefix + webResource.name,
                            LogicalName = WebResource.EntityLogicalName,
                            WebResourceType = new OptionSetValue(Int32.Parse(webResource.type))
                        };

                        // Using CreateRequest because we want to add an optional parameter
                        CreateRequest cr = new CreateRequest
                        {
                            Target = wr
                        };
                        //Set the SolutionUniqueName optional parameter so the Web Resources will be
                        // created in the context of a specific solution.
                        cr.Parameters.Add("SolutionUniqueName", _ImportWebResourcesSolutionUniqueName);

                        CreateResponse cresp = (CreateResponse)_serviceProxy.Execute(cr);
                        //</snippetImportWebResources2>
                        // Capture the id values for the Web Resources so the sample can delete them.
                        _webResourceIds[counter] = cresp.id;
                        counter++;
                        Console.WriteLine("Created Web Resource: {0}", webResource.displayName);
                    }

                    //</snippetImportWebResources1>
                    DeleteRequiredRecords(promptforDelete);

                }

            }

            // Catch any service fault exceptions that Microsoft Dynamics CRM throws.
            catch (FaultException<Microsoft.Xrm.Sdk.OrganizationServiceFault>)
            {
                // You can handle an exception here or pass it back to the calling method.
                throw;
            }
        }
 private CreateResponse ExecuteInternal(CreateRequest request)
 {
     var response = new CreateResponse();
     response.Results["id"] = Create(request.Target);
     return response;
 }
        private CreateRequest GetCreateWebResourceRequest(WebResource resource)
        {
            var createRequest = new CreateRequest
            {
                Target = resource
            };

            if (!string.IsNullOrWhiteSpace(DefaultConfiguration.SolutionUniqueName))
            {
                createRequest.Parameters.Add("SolutionUniqueName", DefaultConfiguration.SolutionUniqueName);
            }

            return createRequest;
        }
        private CreateRequest GetCreateWebResourceRequest(string entityLogicalName, AttributeTemplate attributeTemplate)
        {
            var contents =
                CommonHelper.EncodeTo64(string.Format(DefaultConfiguration.WebResourceHtmlTemplate,
                    attributeTemplate.DisplayName));
            var webResource = new WebResource
            {
                Content = contents,
                DisplayName = attributeTemplate.DisplayNameShort,
                Description = attributeTemplate.Description,
                Name = entityLogicalName + "_" + attributeTemplate.LogicalName,
                LogicalName = WebResource.EntityLogicalName,
                WebResourceType = new OptionSetValue((int) Enums.WebResourceTypes.Html)
            };
            var createRequest = new CreateRequest
            {
                Target = webResource
            };

            if (!string.IsNullOrWhiteSpace(DefaultConfiguration.SolutionUniqueName))
            {
                createRequest.Parameters.Add("SolutionUniqueName", DefaultConfiguration.SolutionUniqueName);
            }

            return createRequest;
        }
        /// <summary>
        /// This method first connects to the Organization service. Afterwards,
        /// basic create, retrieve, update, and delete entity operations are performed.
        /// </summary>
        /// <param name="serverConfig">Contains server connection information.</param>
        /// <param name="promptforDelete">When True, the user will be prompted to delete all
        /// created entities.</param>
        public void Run(ServerConnection.Configuration serverConfig, bool promptforDelete)
        {
            try
            {
                //<snippetInvokeDuplicateDetectionForCreateAndUpdate1>
                // Connect to the Organization service. 
                // The using statement assures that the service proxy will be properly disposed.
                using (_serviceProxy = new OrganizationServiceProxy(serverConfig.OrganizationUri, serverConfig.HomeRealmUri,serverConfig.Credentials, serverConfig.DeviceCredentials))
                {
                    // This statement is required to enable early-bound type support.
                    _serviceProxy.EnableProxyTypes();

                    _service = (IOrganizationService)_serviceProxy;

                    CreateRequiredRecords();

                    // Create and account record with the named Proseware, Inc. and already existing Account Number.
                    Account account = new Account 
                    {
                        Name = "Proseware, Inc.",
                        AccountNumber = "ACC005"
                    };

                    // Create operation by suppressing duplicate detection
                    CreateRequest reqCreate = new CreateRequest();
                    reqCreate.Target = account;
                    reqCreate.Parameters.Add("SuppressDuplicateDetection", true); // Change to false to activate the duplicate detection.
                    CreateResponse createResponse = (CreateResponse)_service.Execute(reqCreate);
                    _dupAccountId = createResponse.id;
                    Console.Write("Account: {0} {1} created with SuppressDuplicateDetection to true, ", 
                        account.Name, account.AccountNumber);
                    
                    // Retrieve the account containing with its few attributes.
                    ColumnSet cols = new ColumnSet(
                        new String[] { "name", "accountnumber"});

                    Account retrievedAccount = (Account)_service.Retrieve("account", _dupAccountId, cols);
                    Console.Write("retrieved, ");

                    // Update the existing account with new account number.
                    retrievedAccount.AccountNumber = "ACC006";                   

                    // Update operation – update record, if a duplicate is not found.
                    UpdateRequest reqUpdate = new UpdateRequest();
                    reqUpdate.Target = retrievedAccount;
                    reqUpdate["SuppressDuplicateDetection"] = false; // Duplicate detection is activated.

                    // Update the account record.
                    UpdateResponse updateResponse = (UpdateResponse)_service.Execute(reqUpdate);
                    Console.WriteLine("and updated.");

                    DeleteRequiredRecords(promptforDelete);
                }
                //</snippetInvokeDuplicateDetectionForCreateAndUpdate1>
            }
            // Catch any service fault exceptions that Microsoft Dynamics CRM throws.
            catch (FaultException<Microsoft.Xrm.Sdk.OrganizationServiceFault>)
            {
                // You can handle an exception here or pass it back to the calling method.
                throw;
            }
        }
Esempio n. 38
0
 public CreateResponse Create(CreateRequest request)
 {
     return _service.Create(request);
 }
        public void When_related_entities_and_relationship_are_used_child_entities_are_created()
        {
            var ctx = new XrmFakedContext();
            var service = ctx.GetFakedOrganizationService();

            ctx.AddRelationship("order_details",
                new XrmFakedRelationship()
                {
                    Entity1LogicalName = SalesOrder.EntityLogicalName,  //Referenced
                    Entity1Attribute = "salesorderid",              //Pk
                    Entity2LogicalName = SalesOrderDetail.EntityLogicalName,
                    Entity2Attribute = "salesorderid",              //Lookup attribute
                    RelationshipType = XrmFakedRelationship.enmFakeRelationshipType.OneToMany
                });

            var order = new SalesOrder();

            var orderItems = new EntityCollection(new List<Entity>()
            {
                new SalesOrderDetail(),
                new SalesOrderDetail()
            });

            // Add related order items so it can be created in one request
            order.RelatedEntities.Add(new Relationship
            {
                PrimaryEntityRole = EntityRole.Referenced,
                SchemaName = "order_details"
            }, orderItems);

            var request = new CreateRequest
            {
                Target = order
            };

            var id = (service.Execute(request) as CreateResponse).id;
            var createdOrderDetails = ctx.CreateQuery<SalesOrderDetail>().ToList();

            Assert.Equal(createdOrderDetails.Count, 2);
            Assert.Equal(createdOrderDetails[0].SalesOrderId.Id, id);
            Assert.Equal(createdOrderDetails[1].SalesOrderId.Id, id);
        }
Esempio n. 40
0
        /// <summary>
        /// Begins the send.
        /// </summary>
        void IAlertMessage.BeginSend()
        {
            // Check File
            //if (this.Files.Count > 0)
            //{
            //    // Create Single EML
            //    this.MessageEntity.MessageContext = CreateMessageContent();
            //}

            // Create Message
            CreateRequest request = new CreateRequest(this.MessageEntity);
            request.Parameters.Add(OutgoingMessageQueuePlugin.AddToQueue, true);
            request.Parameters.Add(OutgoingMessageQueuePlugin.SourceName, OutgoingEmailServiceType.AlertService.ToString());

            BusinessManager.Execute(request);
        }
Esempio n. 41
0
        public void Should_Be_Able_To_Insert_And_Retrieve_Inserted_Account_In_Single_Bulk_Request()
        {
            var connectionString = ConfigurationManager.ConnectionStrings["CrmOrganisation"];
            using (var conn = new CrmDbConnection(connectionString.ConnectionString))
            {
                conn.Open();
                var orgService = conn.OrganizationService;

                // Create an ExecuteMultipleRequest object.
                var multipleRequests = new ExecuteMultipleRequest()
                {
                    // Assign settings that define execution behavior: continue on error, return responses.
                    Settings = new ExecuteMultipleSettings()
                    {
                        ContinueOnError = false,
                        ReturnResponses = true
                    },
                    // Create an empty organization request collection.
                    Requests = new OrganizationRequestCollection()
                };

                var entity = new Entity("account");
                entity.Id = Guid.NewGuid();
                entity["name"] = "experimental test";

                CreateRequest createRequest = new CreateRequest
                {
                    Target = entity
                };

                RetrieveRequest retrieveRequest = new RetrieveRequest
                {
                    Target = new EntityReference(entity.LogicalName, entity.Id),
                    ColumnSet = new ColumnSet("createdon")
                };

                multipleRequests.Requests.Add(createRequest);
                multipleRequests.Requests.Add(retrieveRequest);

                // Execute all the requests in the request collection using a single web method call.
                ExecuteMultipleResponse responseWithResults = (ExecuteMultipleResponse)orgService.Execute(multipleRequests);

                var createResponseItem = responseWithResults.Responses[0];
                CreateResponse createResponse = null;
                if (createResponseItem.Response != null)
                {
                    createResponse = (CreateResponse)createResponseItem.Response;
                }

                var retrieveResponseItem = responseWithResults.Responses[1];

                RetrieveResponse retrieveResponse = null;
                if (retrieveResponseItem.Response != null)
                {
                    retrieveResponse = (RetrieveResponse)retrieveResponseItem.Response;
                }

                Console.Write(retrieveResponse.Entity["createdon"]);

            }
        }
Esempio n. 42
0
 public Guid Create(Entity entity)
 {
     var request = new CreateRequest
     {
         Target = entity
     };
     return ((CreateResponse) Execute(request)).id;
 }
Esempio n. 43
0
 public UserQueryEntity FromQueryRequest(CreateRequest request)
 {
     var qr = request.queryRequest.ToQueryRequest();
     var qd = DynamicQueryManager.Current.QueryDescription(qr.QueryName);
     return qr.ToUserQuery(qd, QueryLogic.GetQueryEntity(qd.QueryName), request.defaultPagination.ToPagination(), withoutFilters: false);
 }
Esempio n. 44
0
        public JsonResult Create(CreateRequest createRequest)
        {
            var target = _urlsRespository.Add(createRequest.LongUrl);

            return Json(target);
        }
Esempio n. 45
0
        /// <summary>
        /// Begins the send.
        /// </summary>
        void IAlertMessage.BeginSend()
        {
            this.MessageEntity.FromId = ConvertOriginalIdToPrincipalId(this.MessageEntity.FromId);
            this.MessageEntity.ToId = ConvertOriginalIdToPrincipalId(this.MessageEntity.ToId);

            CreateRequest request = new CreateRequest(this.MessageEntity);
            request.Parameters.Add(OutgoingMessageQueuePlugin.AddToQueue, true);
            request.Parameters.Add(OutgoingMessageQueuePlugin.SourceName, OutgoingEmailServiceType.AlertService.ToString());

            BusinessManager.Execute(request);
        }
        private void Button_Click_4(object sender, RoutedEventArgs e)
        {
            if (ctrl.CrmConnectionMgr != null && ctrl.CrmConnectionMgr.CrmSvc != null && ctrl.CrmConnectionMgr.CrmSvc.IsReady)
            {
                CrmServiceClient svcClient = ctrl.CrmConnectionMgr.CrmSvc;
                if (svcClient.IsReady)
                {
                    OpenFileDialog fileDialog = new OpenFileDialog();
                    fileDialog.DefaultExt = ".xlsx";
                    if (fileDialog.ShowDialog().Value)
                    {
                        string FileName = fileDialog.FileName;
                        Workbook workbook = new Workbook(FileName);

                        Worksheet MyWorksheet = workbook.Worksheets["Aspose Export"];

                        DataTable dt = MyWorksheet.Cells.ExportDataTable(0, 0, MyWorksheet.Cells.Rows.Count, MyWorksheet.Cells.Columns.Count, true);
                        foreach (DataRow dr in dt.Rows)
                        {
                            Entity CrmRecord = new Entity(SelectedEntity);
                            foreach (DataColumn th in dt.Columns)
                            {
                                CrmRecord.Attributes.Add(th.ColumnName, dr[th.ColumnName].ToString());
                            }
                            CreateRequest req = new CreateRequest();
                            req.Target = CrmRecord;
                            CreateResponse res = (CreateResponse)svcClient.OrganizationServiceProxy.Execute(req);
                        }
                    }
                }
            }
        }
Esempio n. 47
0
        /// <summary>
        /// This sample demonstrates how to execute a collection of message requests using a single web service
        /// call and optionally return the results.
        /// </summary>
        /// <seealso cref="http://msdn.microsoft.com/en-us/library/gg328075.aspx"/>
        /// <param name="serverConfig">Contains server connection information.</param>
        /// <param name="promptforDelete">When True, the user will be prompted to delete all
        /// created entities.</param>
        public void Run(ServerConnection.Configuration serverConfig, bool promptforDelete)
        {
            try
            {
                //<snippetExecuteMultiple1>
                // Get a reference to the organization service.
                using (_serviceProxy = new OrganizationServiceProxy(serverConfig.OrganizationUri, serverConfig.HomeRealmUri,serverConfig.Credentials, serverConfig.DeviceCredentials))
                {
                    // Enable early-bound type support to add/update entity records required for this sample.
                    _serviceProxy.EnableProxyTypes();
                    
                    #region Execute Multiple with Results
                    // Create an ExecuteMultipleRequest object.
                    requestWithResults = new ExecuteMultipleRequest()
                    {
                        // Assign settings that define execution behavior: continue on error, return responses. 
                        Settings = new ExecuteMultipleSettings()
                        {
                            ContinueOnError = false,
                            ReturnResponses = true
                        },
                        // Create an empty organization request collection.
                        Requests = new OrganizationRequestCollection()
                    };

                    // Create several (local, in memory) entities in a collection. 
                    EntityCollection input = GetCollectionOfEntitiesToCreate();

                    // Add a CreateRequest for each entity to the request collection.
                    foreach (var entity in input.Entities)
                    {
                        CreateRequest createRequest = new CreateRequest { Target = entity };
                        requestWithResults.Requests.Add(createRequest);
                    }

                    // Execute all the requests in the request collection using a single web method call.
                    ExecuteMultipleResponse responseWithResults =
                        (ExecuteMultipleResponse)_serviceProxy.Execute(requestWithResults);

                    // Display the results returned in the responses.
                    foreach (var responseItem in responseWithResults.Responses)
                    {
                        // A valid response.
                        if (responseItem.Response != null)
                            DisplayResponse(requestWithResults.Requests[responseItem.RequestIndex], responseItem.Response);

                        // An error has occurred.
                        else if (responseItem.Fault != null)
                            DisplayFault(requestWithResults.Requests[responseItem.RequestIndex], 
                                responseItem.RequestIndex, responseItem.Fault);
                    }
                    //</snippetExecuteMultiple1>
                    #endregion Execute Multiple with Results


                    #region Execute Multiple with No Results

                    ExecuteMultipleRequest requestWithNoResults = new ExecuteMultipleRequest()
                    {
                        // Set the execution behavior to not continue after the first error is received
                        // and to not return responses.
                        Settings = new ExecuteMultipleSettings()
                        {
                            ContinueOnError = false,
                            ReturnResponses = false
                        },
                        Requests = new OrganizationRequestCollection()
                    };

                    // Update the entities that were previously created.
                    EntityCollection update = GetCollectionOfEntitiesToUpdate();

                    foreach (var entity in update.Entities)
                    {
                        UpdateRequest updateRequest = new UpdateRequest { Target = entity };
                        requestWithNoResults.Requests.Add(updateRequest);
                    }

                    ExecuteMultipleResponse responseWithNoResults =
                        (ExecuteMultipleResponse)_serviceProxy.Execute(requestWithNoResults);

                    // There should be no responses unless there was an error. Only the first error 
                    // should be returned. That is the behavior defined in the settings.
                    if (responseWithNoResults.Responses.Count > 0)
                    {
                        foreach (var responseItem in responseWithNoResults.Responses)
                        {
                            if (responseItem.Fault != null)
                                DisplayFault(requestWithNoResults.Requests[responseItem.RequestIndex], 
                                    responseItem.RequestIndex, responseItem.Fault);
                        }
                    }
                    else
                    {
                        Console.WriteLine("All account records have been updated successfully.");
                    }

                    #endregion Execute Multiple with No Results


                    #region Execute Multiple with Continue On Error

                    ExecuteMultipleRequest requestWithContinueOnError = new ExecuteMultipleRequest()
                    {
                        // Set the execution behavior to continue on an error and not return responses.
                        Settings = new ExecuteMultipleSettings()
                        {
                            ContinueOnError = true,
                            ReturnResponses = false
                        },
                        Requests = new OrganizationRequestCollection()
                    };

                    // Update the entities but introduce some bad attribute values so we get errors.
                    EntityCollection updateWithErrors = GetCollectionOfEntitiesToUpdateWithErrors();

                    foreach (var entity in updateWithErrors.Entities)
                    {
                        UpdateRequest updateRequest = new UpdateRequest { Target = entity };
                        requestWithContinueOnError.Requests.Add(updateRequest);
                    }

                    ExecuteMultipleResponse responseWithContinueOnError =
                        (ExecuteMultipleResponse)_serviceProxy.Execute(requestWithContinueOnError);

                    // There should be no responses except for those that contain an error. 
                    if (responseWithContinueOnError.Responses.Count > 0)
                    {
                        if (responseWithContinueOnError.Responses.Count < requestWithContinueOnError.Requests.Count)
                        {
                            Console.WriteLine("Response collection contain a mix of successful response objects and errors.");
                        }
                        foreach (var responseItem in responseWithContinueOnError.Responses)
                        {
                            if (responseItem.Fault != null)
                                DisplayFault(requestWithContinueOnError.Requests[responseItem.RequestIndex], 
                                    responseItem.RequestIndex, responseItem.Fault);
                        }
                    }
                    else
                    {
                        // No errors means all transactions are successful.
                        Console.WriteLine("All account records have been updated successfully.");
                    }

                    #endregion Execute Multiple with Continue On Error

                    DeleteRequiredRecords(promptforDelete);
                }
            }
            
            // <snippetExecuteMultiple2>
            catch (FaultException<OrganizationServiceFault> fault)
            {
                // Check if the maximum batch size has been exceeded. The maximum batch size is only included in the fault if it
                // the input request collection count exceeds the maximum batch size.
                if (fault.Detail.ErrorDetails.Contains("MaxBatchSize"))
                {
                    int maxBatchSize = Convert.ToInt32(fault.Detail.ErrorDetails["MaxBatchSize"]);
                    if (maxBatchSize < requestWithResults.Requests.Count)
                    {
                        // Here you could reduce the size of your request collection and re-submit the ExecuteMultiple request.
                        // For this sample, that only issues a few requests per batch, we will just print out some info. However,
                        // this code will never be executed because the default max batch size is 1000.
                        Console.WriteLine("The input request collection contains %0 requests, which exceeds the maximum allowed (%1)",
                            requestWithResults.Requests.Count, maxBatchSize);
                    }
                }
                // Re-throw so Main() can process the fault.
                throw;
            }
            // </snippetExecuteMultiple2>
        }
        /// <summary>
        /// Issues a <c>CreateRequest</c> to the target <c>CrmService</c>.
        /// </summary>
        /// <param name="entity">The <c>Entity</c> to be created.</param> 
        protected void CreateNewEntity(Entity entity)
        {
            if (entity == null)
            {
                throw new AdapterException(string.Format(CultureInfo.CurrentCulture, Resources.ArgumentNullExceptionMessage), new ArgumentNullException("entity")) { ExceptionId = AdapterException.SystemExceptionGuid };
            }

            entity.Attributes.Remove(CRM2011AdapterUtilities.IsNew);
            OptionSetValue state = null;
            OptionSetValue status = null;

            state = RemoveStateCode(entity);
            if (state != null)
            {
                status = RemoveStatusCode(entity);
            }

            CreateRequest request = new CreateRequest() { Target = entity };
            if (this.DoesDetectDuplicates == true)
            {
                request["SuppressDuplicateDetection"] = false;
            }

            try
            {
                PrepEntityForCreate(entity);
                this.CallCrmExecuteWebMethod(request);
                this.ApplyStateAndStatus(entity, state, status);
            }
            catch (AdapterException ex)
            {
                if (ex.ExceptionId == ErrorCodes.DuplicateDetected)
                {
                    entity = this.DetectDuplicates(request);
                }
                else
                {
                    throw;
                }
            }
        }
        public void When_related_entities_are_used_without_relationship_info_exception_is_raised()
        {
            var ctx = new XrmFakedContext();
            var service = ctx.GetFakedOrganizationService();

            var order = new SalesOrder();

            var orderItems = new EntityCollection(new List<Entity>()
            {
                new SalesOrderDetail(),
                new SalesOrderDetail()
            });

            // Add related order items so it can be created in one request
            order.RelatedEntities.Add(new Relationship
            {
                PrimaryEntityRole = EntityRole.Referenced,
                SchemaName = "order_details"
            }, orderItems);

            var request = new CreateRequest
            {
                Target = order
            };

            var exception = Assert.Throws<Exception>(() => service.Execute(request));
            Assert.Equal(exception.Message, "Relationship order_details does not exist in the metadata cache");
        }
        /// <summary>
        /// Issues a <c>CompundCreateRequest</c> to the target <c>CrmService</c>.
        /// </summary>
        /// <param name="entity">The <c>Entity</c> to be created.</param> 
        /// <param name="children">The <c>Array</c> of <c>Entity</c> objects that contains the children.</param>
        protected void CreateNewCompoundEntity(Entity entity, Entity[] children)
        {
            if (entity == null)
            {
                throw new AdapterException(string.Format(CultureInfo.CurrentCulture, Resources.ArgumentNullExceptionMessage), new ArgumentNullException("entity")) { ExceptionId = AdapterException.SystemExceptionGuid };
            }

            entity.Attributes.Remove(CRM2011AdapterUtilities.IsNew);
            OptionSetValue state = null;
            OptionSetValue status = null;

            state = RemoveStateCode(entity);
            if (state != null)
            {
                status = RemoveStatusCode(entity);
            }

            entity.RelatedEntities.Add(new Relationship((entity.LogicalName == "salesorder" ? "order" : entity.LogicalName) + "_details"), new EntityCollection(children.ToList()));
            CreateRequest request = new CreateRequest() { Target = entity };
            if (this.DoesDetectDuplicates == true)
            {
                request["SuppressDuplicateDetection"] = false;
            }

            PrepEntityForCreate(entity);
            this.CallCrmExecuteWebMethod(request);
            this.ApplyStateAndStatus(entity, state, status);
        }
        /// <summary>
        /// Ensure that a publisher is created so that we can prefix fields with govd
        /// </summary>
        /// <returns></returns>
        public void EnsureGovdeliveryPublisher()
        {
            Entity publisher = new Entity("publisher");
            publisher["customizationprefix"] = "govd";
            publisher["uniquename"] = "GovDelivery";
            publisher["friendlyname"] = "govdelivery";
            publisher["description"] = "GovDelivery publisher";

            QueryExpression query = new QueryExpression()
            {
                EntityName = "publisher",
                ColumnSet = new ColumnSet("customizationprefix"),
                Criteria = new FilterExpression()
                {
                    FilterOperator = LogicalOperator.And,
                    Conditions =
                    {
                        new ConditionExpression()
                        {
                            AttributeName = "customizationprefix",
                            Operator = ConditionOperator.Equal,
                            Values = { "govd" }
                        }
                    }
                },

            };
            EntityCollection entities = this.getService().RetrieveMultiple(query);

            if (entities.Entities.Count == 0)
            {
                CreateRequest publisherRequest = new CreateRequest
                {
                    Target = publisher
                };
                this.getService().Execute(publisherRequest);
            }
        }
 /// <summary>
 /// https://developers.podio.com/doc/embeds/add-an-embed-726483
 /// </summary>
 public Embed AddAnEmbed(string url)
 {
     var requestData = new CreateRequest()
     {
         Url = url
     };
     return PodioRestHelper.JSONRequest<Embed>(Constants.PODIOAPI_BASEURL + "/embed/", _client.AuthInfo.AccessToken, requestData, PodioRestHelper.RequestMethod.POST).Data;
 }
Esempio n. 53
-1
        /// <summary>
        /// Create a user without or without a password and return a ClaimsIdentity representing the user created.
        /// </summary>
        /// <param name="request">Instance of CreateRequest</param>
        /// <returns>Instance of CreateResponse</returns>
        public async Task<CreateResponse> CreateAsync(CreateRequest request)
        {
            CreateResponse response = new CreateResponse();

            try
            {
                AspNetUser newUser = new AspNetUser()
                {
                    Id = Guid.NewGuid().ToString(),
                    FirstName = request.FirstName,
                    LastName = request.LastName,
                    UserName = request.UserName,
                    Discriminator = "ApplicationUser" //Change as per your requirements
                };

                IdentityResult result;

                if (!string.IsNullOrWhiteSpace(request.Password))
                    result = await this.UserManager.CreateAsync(newUser, request.Password);
                else
                    result = await this.UserManager.CreateAsync(newUser);

                if (result.Succeeded)
                {

                    string authType = EnumStringValue.GetStringValue(request.AuthenticationType);
                    ClaimsIdentity identity = await this.UserManager.CreateIdentityAsync(newUser, authType);

                    response.UserId = new Guid(newUser.Id);
                    response.ClaimIdentity = identity.ConvertToClaimIdentityView();
                    response.Success = true;
                }
                else
                {
                    response.AddErrors(response.Errors);
                    response.Success = false;
                }
            }
            catch (Exception e)
            {
                response.Success = false;
                response.Errors.Add(e.Message);
            }

            return response;
        }
 public CreateRequestHandler(IContainerManager containerManager, Request request)
     : base(containerManager, request)
 {
     this.request = (CreateRequest)request;
 }