/// <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); }
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); }
/// <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); }
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); }); }
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); }); }