コード例 #1
0
ファイル: Post.cs プロジェクト: jayzhangMH/i6Meeting
        /// <summary>
        ///获取用户发布的动态更新
        /// </summary>
        /// <param name="UserID">用户编号</param>
        /// <param name="SinceId">若指定此参数,则只返回ID比since_id大的动态更新(即比since_id发表时间晚的动态更新)</param>
        /// <param name="MaxId">若指定此参数,则只返回ID比max_id小的动态更新(即比max_id发表时间早的动态更新)</param>
        /// <param name="PageSize">指定要返回的记录条数</param>
        /// <returns></returns>
        public PostResultModel GetDynamicInfoByUser(string UserID, string SinceId, string MaxId, string PageSize)
        {
            PostResultModel post = new PostResultModel();

            post.Error_Code = "10001";
            if (string.IsNullOrEmpty(UserID))
            {
                return(post);
            }
            List <Parameter> Query = new List <Parameter>();

            Query.Add(new Parameter("u_id", UserID));
            if (!string.IsNullOrEmpty(SinceId))
            {
                Query.Add(new Parameter("since_id", SinceId));
            }
            if (!string.IsNullOrEmpty(MaxId))
            {
                Query.Add(new Parameter("max_id", MaxId));
            }
            if (!string.IsNullOrEmpty(PageSize))
            {
                Query.Add(new Parameter("pagesize", PageSize));
            }

            string Result = base.SyncRequest(TypeOption.MD_POST_USER, Query, null);

            if (!string.IsNullOrEmpty(Result))
            {
                return(XmlSerializationHelper.XmlToObject <PostResultModel>(Result));
            }

            return(null);
        }
コード例 #2
0
        public async static Task <PostResultModel> PostEmpresaBindingModel(this IEntityService <Empresa> service, PostEmpresaBindingModel model, ProfileMongoModel user)
        {
            var empresaResult = await service.GetEmpresasByDocumentoAsync(new GetEmpresasByDocumento { CNPJ = model.CNPJ });

            if (empresaResult.IsValid)
            {
                return(new PostResultModel {
                    IsValid = false, Message = string.Format("Já existe uma empresa com o CNPJ {0} informado.", model.CNPJ), StatusCode = 400
                });
            }

            var entity = model.CreateInstanceOf <Empresa>(user.UsuarioId);

            entity.Modulo = EnumUtility.GetEnumText(Modulo.Gestor);
            var entityId = await service.AddAsync(entity);

            var mongoObj = entity.CreateInstanceOf <EmpresaClienteMongoModel>();

            model.CopyProperties(mongoObj);
            mongoObj.ParentId = entityId.ToString();
            var mongoId = await service.MongoService.InsertMongoObject <EmpresaClienteMongoModel>(mongoObj);

            var result = new PostResultModel {
                Id = mongoId, IsValid = true, ParentId = mongoObj.ParentId, StatusCode = 200
            };

            return(result);
        }
コード例 #3
0
ファイル: Post.cs プロジェクト: jayzhangMH/i6Meeting
        /// <summary>
        ///根据动态更新编号获取单条动态更新内容
        /// </summary>
        /// <param name="ID">动态更新编号</param>
        /// <returns></returns>
        public PostResultModel GetPostDetailByID(string ID)
        {
            PostResultModel post = new PostResultModel();

            post.Error_Code = "10001";
            if (string.IsNullOrEmpty(ID))
            {
                return(post);
            }
            List <Parameter> Query = new List <Parameter>();

            Query.Add(new Parameter("p_id", ID));

            string Result = base.SyncRequest(TypeOption.MD_POST_DETAIL, Query, null);

            if (!string.IsNullOrEmpty(Result))
            {
                return(XmlSerializationHelper.XmlToObject <PostResultModel>(Result));
            }

            return(null);
        }
コード例 #4
0
        public void PostInvalid(int tipo, int quantidadeEsperada)
        {
            PostResultModel result = null;
            PaginatedMongoModel <ListaEmpresaMongoModel> listResult = null;

            "Quando solicitado adicionar empresa com dados inválidos então deve retornar exceção {1}"
            .x(() => {
                Assert.ThrowsAsync <AstoveModelInvalidException <Empresa> >(async() => {
                    var user = await service.MongoService.GetMongoObjectByParentId <PessoaMongoModel>(1);
                    if (user == null)
                    {
                        result = new PostResultModel {
                            IsValid = false, StatusCode = 404, Message = "Profile não encontrado"
                        };
                    }
                    else
                    {
                        var model = await service.GetPostEmpresaBindingModel(new GetPostEmpresaBindingModel {
                            Tipo = tipo
                        });
                        result = await service.PostEmpresaBindingModel(model, user.CreateInstanceOf <ProfileMongoModel>());
                    }
                });
            });

            "Quando novamente solicitado obter todas as empresas"
            .x(async() => {
                var model = new PaginatedRequestCommand {
                    Page = 1, Take = 1000, Type = EnumUtility.GetEnumText(GetTypes.Paged)
                };
                listResult = await service.GetAll <ListaEmpresaMongoModel>(container, model);
            });

            "Então a quantidade de empresas deve ser {6}"
            .x(() => {
                Assert.Equal(listResult.Items.Count(), quantidadeEsperada);
            });
        }
コード例 #5
0
        public void Post(int tipo, string nomeFantasia, string cnpj, string cep, int cidadeId, int estadoId, int idOuQuantidadeEsperada)
        {
            PostResultModel result = null;
            PaginatedMongoModel <ListaEmpresaMongoModel> listResult = null;
            BaseResultModel       getResult     = null;
            DropDownStringOptions optionsResult = null;

            "Quando solicitado adicionar empresa do tipo cliente {1}"
            .x(async() => {
                var user = await service.MongoService.GetMongoObjectByParentId <PessoaMongoModel>(1);
                if (user == null)
                {
                    result = new PostResultModel {
                        IsValid = false, StatusCode = 404, Message = "Profile não encontrado"
                    };
                }
                else
                {
                    var model = await service.GetPostEmpresaBindingModel(new GetPostEmpresaBindingModel {
                        Tipo = tipo
                    });
                    model.CNPJ         = cnpj;
                    model.NomeFantasia = nomeFantasia;
                    model.CEP          = cep;
                    model.EstadoId     = estadoId;
                    model.CidadeId     = cidadeId;

                    result = await service.PostEmpresaBindingModel(model, user.CreateInstanceOf <ProfileMongoModel>());
                }
            });

            "Então o result deve ser válido e conter as chaves do novo objeto criado com Id {6}"
            .x(() => {
                Assert.NotNull(result);
                Assert.Equal(result.IsValid, true);
                Assert.Equal(idOuQuantidadeEsperada, int.Parse(result.ParentId));
                Assert.NotNull(result.Id);
            });

            "Quando novamente solicitado obter todas as empresas"
            .x(async() => {
                var model = new PaginatedRequestCommand {
                    Page = 1, Take = 1000, Type = EnumUtility.GetEnumText(GetTypes.Paged)
                };
                listResult = await service.GetAll <ListaEmpresaMongoModel>(container, model);
            });

            "Então a quantidade de empresas deve ser {6}"
            .x(() => {
                Assert.Equal(listResult.Items.Count(), idOuQuantidadeEsperada);
            });

            "Quando for feita uma pesquisa por CNPJ {2}"
            .x(async() => {
                getResult = await service.GetEmpresasByDocumentoAsync(new GetEmpresasByDocumento {
                    CNPJ = cnpj
                });
            });

            "Então o nome fantasia deve ser {1}"
            .x(() => {
                Assert.Equal(getResult.IsValid, true);
                Assert.IsType <PostOrPutResultModel>(getResult);
                var empresaResult = (PostOrPutResultModel)getResult;
                Assert.IsType <PutEmpresaBindingModel>(empresaResult.BindingModel);
                var binding = (PutEmpresaBindingModel)empresaResult.BindingModel;
                Assert.Equal(binding.NomeFantasia, nomeFantasia);
            });

            "Quando for feita uma pesquisa por Id {2}"
            .x(async() => {
                getResult = await service.GetEmpresaByParentIdAsync(new GetBindingModel {
                    Id = result.ParentId
                });
            });

            "Então o nome fantasia deve ser {1}"
            .x(() => {
                Assert.Equal(getResult.IsValid, true);
                Assert.IsType <PostOrPutResultModel>(getResult);
                var empresaResult = (PostOrPutResultModel)getResult;
                Assert.IsType <PutEmpresaBindingModel>(empresaResult.BindingModel);
                var binding = (PutEmpresaBindingModel)empresaResult.BindingModel;
                Assert.Equal(binding.NomeFantasia, nomeFantasia);
            });

            "Quando for feita uma pesquisa por options por tipo de acesso {0}"
            .x(async() => {
                optionsResult = await service.GetEmpresasByTipoAcessoOptions(tipo);
            });

            "Então a lista de opções deve ter {6}-1 itens"
            .x(() => {
                Assert.Equal(optionsResult.Items.Count(), idOuQuantidadeEsperada - 1);
            });
        }