private void SystemLanguageCode_D_Test()
        {
            var client = new SystemLanguageCode.SystemLanguageCodeClient(_channel);

            SystemLanguageCodeProto proto = client.GetSystemLanguageCode(new SystemLanguageCodeKey()
            {
                LanguageID = _systemLangCode.LanguageID
            });
            SystemLanguageCodeList protos = new SystemLanguageCodeList();

            protos.Items.Add(proto);
            client.DeleteSystemLanguageCode(protos);
            proto = null;
            try
            {
                proto = client.GetSystemLanguageCode(new SystemLanguageCodeKey()
                {
                    LanguageID = _systemLangCode.LanguageID
                });
            }
            catch (RpcException)
            {
            }
            Assert.IsNull(proto);
        }
        private void SystemLanguageCode_CRU_Test()
        {
            var client = new SystemLanguageCode.SystemLanguageCodeClient(_channel);
            // add
            SystemLanguageCodeProto proto  = ProtoMapper.MapFromSystemLanguageCodePoco(_systemLangCode);
            SystemLanguageCodeList  protos = new SystemLanguageCodeList();

            protos.Items.Add(proto);
            client.AddSystemLanguageCode(protos);

            CheckGetSystemLanguageCode(client, new SystemLanguageCodeKey()
            {
                LanguageID = proto.LanguageID
            }, proto);

            // check List
            protos = client.GetSystemLanguageCodes(new Empty());
            Assert.IsTrue(protos.Items.Count > 0);

            // check update
            proto.Name       = Truncate(Faker.Lorem.Sentence(), 50);
            proto.NativeName = Truncate(Faker.Lorem.Sentence(), 50);

            protos = new SystemLanguageCodeList();
            protos.Items.Add(proto);
            client.UpdateSystemLanguageCode(protos);

            CheckGetSystemLanguageCode(client, new SystemLanguageCodeKey()
            {
                LanguageID = proto.LanguageID
            }, proto);
        }
        private SystemLanguageCodeProto CheckGetSystemLanguageCode(SystemLanguageCode.SystemLanguageCodeClient client
                                                                   , SystemLanguageCodeKey key, SystemLanguageCodeProto compare = null)
        {
            SystemLanguageCodeProto proto = null;

            try
            {
                proto = client.GetSystemLanguageCode(key);
            }
            catch (RpcException)
            {
                Assert.Fail();
            }
            Assert.IsNotNull(proto);
            Assert.AreEqual(proto.LanguageID, key.LanguageID);
            if (compare != null)
            {
                Assert.AreEqual(proto.Name, compare.Name);
                Assert.AreEqual(proto.NativeName, compare.NativeName);
            }
            return(proto);
        }