public async Task <ActionResult <CompanyDto> > CreateCompany(CompanyAddDto company) { //在3.0之前需要这样写 //现在不需要了,因为当Controller使用[ApiController]属性进行注解的时候,如果遇到验证错误 //那么就会自动返回400错误 //if (!ModelState.IsValid) //{ // return UnprocessableEntity(ModelState); //} var entity = _mapper.Map <Company>(company); _companyRepository.AddCompany(entity); await _companyRepository.SaveAsync(); var returnDto = _mapper.Map <CompanyDto>(entity); var links = CreateLinksForCompany(returnDto.Id, null); var linkedDict = returnDto.ShapeData(null) as IDictionary <string, object>; linkedDict.Add("links", links); return(CreatedAtRoute(nameof(GetCompany), new { companyId = linkedDict["Id"] }, linkedDict)); }
public async Task <ActionResult <CompanyDto> > CreateCompany(CompanyAddDto companyAddDto) { //post 把是参数把是参数dto转为companydto转为company存入数据库 //Id 应该在api生成 //老版本的需要检查 新版本apicontroller会自动返回badrequest if (companyAddDto == null) { return(BadRequest()); } var entity = _mapper.Map <Company>(companyAddDto); _companyRepository.AddCompany(entity); try { var succss = await _companyRepository.SaveAsync(); } catch (Exception ex) { throw; } var dto = _mapper.Map <CompanyDto>(entity); var links = CreateLinksForCiampany(dto.Id, null); var linksDict = dto.ShapeData(null) as IDictionary <string, object>; linksDict.Add("links", links); return(CreatedAtRoute(nameof(GetCompany), new { companyid = dto.Id }, linksDict));//调用getcompany方达,填写路由 }
public async Task <IActionResult> CreateCompany([FromBody] CompanyAddDto company) //Task<IActionResult> = Task<ActionResult<CompanyDto> { //使用 [ApiController] 属性后,会自动返回400错误,无需再使用以下代码: //if (!ModelState.IsValid) //{ // return UnprocessableEntity(ModelState); //} //Core 3.x 使用 [ApiController] 属性后,无需再使用以下代码: //if (company == null) //{ // return BadRequest(); //返回状态码400 //} var entity = _mapper.Map <Company>(company); _companyRepository.AddCompany(entity); await _companyRepository.SaveAsync(); var returnDto = _mapper.Map <CompanyDto>(entity); //返回状态码201 //通过使用 CreatedAtRoute 返回时可以在 Header 中添加一个地址(Loaction) return(CreatedAtRoute(nameof(GetCompany), new { companyId = returnDto.Id }, returnDto)); }
public async Task <ActionResult <CompanyDto> > CreateCompany([FromBody] CompanyAddDto company) { //if (company == null) //{ // return BadRequest(); 400 //} var entity = _mapper.Map <Company>(company); _companyRepository.AddCompany(entity); await _companyRepository.SaveAsync(); var returnDto = _mapper.Map <CompanyDto>(entity); var link = CreateLinksForCompany(returnDto.Id, null); var linkDict = returnDto.ShapeData(null) as IDictionary <string, object>; linkDict.Add("links", link); return(CreatedAtRoute(nameof(GetCompany), //new {companyId = returnDto.Id}, returnDto); new { companyId = linkDict["Id"] }, linkDict)); }
public async Task <IActionResult> CreateCompany([FromBody] CompanyAddDto companyAddDto) { //Task<IActionResult> = Task<ActionResult<CompanyDto> //使用 [ApiController] 属性后,会自动返回400错误,无需再使用以下代码: //if (!ModelState.IsValid) //{ // return UnprocessableEntity(ModelState); //} //Core 3.x 使用 [ApiController] 属性后,无需再使用以下代码: //if (company == null) //{ // return BadRequest(); //返回状态码400 //} var entity = _mapper.Map <Company>(companyAddDto); _companyRepository.AddCompany(entity); //controller不需要知道repository细节 await _companyRepository.SaveAsync(); var returnDto = _mapper.Map <CompanyDto>(entity); var links = CreateLinksForCompany(returnDto.Id, null); var linkedDict = returnDto.ShapeData(null) as IDictionary <string, object>; linkedDict.Add("links", links); //返回状态码201 //通过使用 CreatedAtRoute 返回时可以在 Header 中添加一个地址(Loaction)包含一个url找到新建资源 return(CreatedAtRoute(nameof(GetCompany), new { companyId = linkedDict["Id"] }, linkedDict)); }
public async Task <ActionResult <CompanyDto> > CreateCompany([FromBody] CompanyAddDto company) { // 使用了api controller就不需要这个判断了。 //if (company == null) //{ // return BadRequest(); //} var entity = _mapper.Map <Company>(company); _companyRepositroy.AddCompany(entity); await _companyRepositroy.SaveAsync(); var returnDto = _mapper.Map <CompanyDto>(entity); var links = CreateLinksForCompany(returnDto.Id, null); var linkedDict = returnDto.shapeData(null) as IDictionary <string, object>; linkedDict.Add("links", links); return(CreatedAtRoute(nameof(GetCompany), new { companyId = linkedDict["Id"] }, linkedDict)); }
public async Task <ActionResult <CompanyDto> > CreateCompany(CompanyAddDto company) { var entity = mapper.Map <CompanyAddDto, Company>(company); services.AddCompany(entity); await services.SaveAsync(); return(CreatedAtAction(nameof(GetCompanyById), new { companyid = entity.Id }, mapper.Map <Company, CompanyDto>(entity))); }
public async Task <ActionResult <CompanySearchResDto> > AddCompany(CompanyAddDto company) { var entity = mapper.Map <Company>(company); companyRepository.AddCompany(entity); await companyRepository.SaveAsync(); var companySearchDto = mapper.Map <CompanySearchResDto>(entity); return(CreatedAtRoute(nameof(GetCompany), new { companyId = entity.Id }, companySearchDto)); }
public async Task <ActionResult <CompanyDto> > AddCompany(CompanyAddDto addDto) { var company = _mapper.Map <Company>(addDto); _repository.AddCompany(company); await _repository.SaveChangesAsync(); var dto = _mapper.Map <CompanyDto>(company); return(CreatedAtRoute(nameof(GetCompany), new { companyId = company.Id }, dto)); }
public async Task <ActionResult <CompanyDto> > CreateCompany([FromBody] CompanyAddDto companyAdd) { var company = _mapper.Map <Company>(companyAdd); _companyRepository.AddCompany(company); await _companyRepository.SaveAsync(); var returnDto = _mapper.Map <CompanyDto>(company); return(CreatedAtAction(nameof(GetCompany), new { companyId = company.Id }, returnDto)); }
public async Task <ActionResult <CompanyAddDto> > CreateCompany(CompanyAddDto company) { var entity = _mapper.Map <Company>(company); _companyRepository.AddCompany(entity); await _companyRepository.SaveAsync(); var ReturnDto = _mapper.Map <CompanyDto>(entity); return(CreatedAtRoute(nameof(GetCompany), new { companyId = ReturnDto.Id }, ReturnDto)); }
public async Task <ActionResult <CompanyDto> > AddCompany(CompanyAddDto companyAddDto) { var company = _mapper.Map <Company>(companyAddDto); _companyRepository.AddCompany(company); bool result = await _companyRepository.SaveAsync(); var returnDto = _mapper.Map <CompanyDto>(company); return(CreatedAtRoute(nameof(GetCompany), new { companyId = returnDto.Id }, returnDto)); }
public async Task <ActionResult <CompanyDto> > CreateCompany([FromBody] CompanyAddDto company) { var entity = this.mapper.Map <Company>(company); this.companyRespository.AddCompany(entity); await this.companyRespository.SaveAsync(); var returnDto = this.mapper.Map <CompanyDto>(entity); return(CreatedAtRoute(nameof(GetCompany), new { companyId = returnDto.Id }, returnDto)); }
/// <summary> /// Creates the company asynchronous. /// </summary> /// <param name="company">The company.</param> /// <returns></returns> //[Transactional] public async Task <CompanyDto> CreateCompanyAsync(CompanyAddDto company) { var entity = Mapper.Map <Company>(company); var result = companyRepository.Insert(entity); result.Employees.ForEach(t => t.CompanyId = result.Id); await employeeRepository.InsertAsync(result.Employees); return(Mapper.Map <CompanyDto>(result)); }
public async Task <ActionResult <CompanyDto> > CreateCompanyAsync([FromBody] CompanyAddDto company) { // post 需要返回201状态码 var entity = _mapper.Map <Company>(company); _companyRepository.AddCompany(entity); await _companyRepository.SaveAsync(); var returnDto = _mapper.Map <CompanyDto>(entity); return(CreatedAtAction(nameof(GetCompany), new { companyId = returnDto.Id }, returnDto)); }
public async Task <IActionResult> CreateCompany([FromBody] CompanyAddDto company) { var entity = _mapper.Map <Company>(company); _companyRepository.AddCompany(entity); await _companyRepository.SaveAsync(); var returnDto = _mapper.Map <CompanyDto>(entity); var shapedDto = returnDto.ShapeData <CompanyDto>(null) as IDictionary <string, object>; var links = CreateLinksForCompany(returnDto.Id, null); shapedDto.Add(nameof(links), links); return(CreatedAtRoute(nameof(GetCompany), new { companyId = returnDto.Id }, shapedDto)); }
// 在Post中,参数通常都是FromBody的,所以可以省略不写,也可以显式的给出。 // 同时,.net core框架也给我们本身提供了检验机制,在使用参数前,它已经检查了参数的有效性,如果为null,它会直接返回400,不会执行内部代码,所以不需要再手动判断参数是否为空。 // 通常情况下,创建、更新、查询的Dto不一样,所以最好的方案就是为每一个操作创建一个对应的Dto,这样便于以后的维护和扩展。 public async Task <ActionResult <CompanyDto> > CreateCompany([FromBody] CompanyAddDto company) { var entity = mapper.Map <Company>(company); companyRepository.AddCompany(entity); // AddCompany操作之后,系统其实并没有将数据插入到数据库,需要手动调用Save方法,这里调用我们封装的Save异步方法保存数据。 await companyRepository.SaveAsync(); // 保存之后,将数据以Dto模型返回给前端 var returnDto = mapper.Map <CompanyDto>(entity); // 因为是创建,所以应该返回201状态码 return(CreatedAtRoute(nameof(GetCompany), new { companyId = returnDto.Id }, returnDto)); }
//CompanyAddDto加入public ICollection<Employee> Employees { get; set; } = new List<Employee>(); //同時創建empolyee子類資源 // { // "name":"Asus", // "introduction":"A Good Company", // "employees":[ // { // "employeeNo":"F001", // "firstName":"White", // "lastName":"Face", // "gender":0, // "dataofBirth":"1994-8-3" // }, // { // "employeeNo":"F011", // "firstName":"Black", // "lastName":"Face", // "gender":1, // "dataofBirth":"1994-12-3" // } // ] //} public async Task <ActionResult <CompanyDto> > CreatCompany([FromBody] CompanyAddDto company) { //[ApiController]會自動返回400錯誤 //if (!ModelState.IsValid) //{ // return UnprocessableEntity(ModelState); //} var entity = _mapper.Map <Company>(company); _companyRepository.AddCompany(entity); await _companyRepository.SaveAsync(); var returnDto = _mapper.Map <CompanyDto>(entity); return(CreatedAtRoute(nameof(GetCompany), new { companyId = returnDto.Id }, returnDto)); }
public async Task <ActionResult <CompanyDto> > CreateCompany(CompanyAddDto company) { // 老版本需要,现在框架自动配置 //if (company == null) //{ // return BadRequest(); //} var entity = _mapper.Map <Company>(company); _companyRepository.AddCompany(entity); await _companyRepository.SaveAsync(); var returnDto = _mapper.Map <CompanyDto>(entity); return(CreatedAtRoute(nameof(GetCompany), new { companyId = returnDto.Id }, returnDto)); }
public async Task <ActionResult <CompanyDto> > CreateCompany([FromBody] CompanyAddDto company) { var entity = _mapper.Map <Company>(company); _companyRepository.AddCompany(entity); await _companyRepository.SaveAsync(); var returnDto = _mapper.Map <CompanyDto>(entity); var links = CreatLinkForCompany(returnDto.Id, null); var linkedDict = returnDto.shapeData(null) as IDictionary <string, object>; linkedDict.Add("links", links); return(CreatedAtRoute(nameof(GetCompany), new { companyId = returnDto.Id }, linkedDict)); }
public override void Execute(int actionId) { if (!CanExecute(actionId)) { base.Execute(actionId); return; } var companyService = _container.Resolve <ICompanyService>(); Console.WriteLine("Enter a name: "); var dto = new CompanyAddDto(); dto.Name = Console.ReadLine(); companyService.Add(dto); Console.WriteLine(".: Company successfully added! :."); }
public async Task <IActionResult> CreateCompany([FromBody] CompanyAddDto company, [FromHeader(Name = "Accept")] string acceptMediaType) { //使用 [ApiController] 属性后,会自动返回400错误,无需再使用以下代码: //if (!ModelState.IsValid) { return UnprocessableEntity(ModelState); } //Core 3.x 使用 [ApiController] 属性后,无需再使用以下代码: //if (company == null) { return BadRequest(); } //尝试解析 MediaTypeHeaderValue(视频P43) if (!MediaTypeHeaderValue.TryParse(acceptMediaType, out MediaTypeHeaderValue parsedAcceptMediaType)) { return(BadRequest()); } //是否需要 links(HATEOAS)(视频P41-43) bool includeLinks = parsedAcceptMediaType.SubTypeWithoutSuffix .EndsWith("hateoas", StringComparison.InvariantCultureIgnoreCase); //大小写不敏感 //是否需要 Full Dto bool isFull = parsedAcceptMediaType.SubTypeWithoutSuffix .ToString() .Contains("full", StringComparison.InvariantCultureIgnoreCase); var entity = _mapper.Map <Company>(company); _companyRepository.AddCompany(entity); await _companyRepository.SaveAsync(); var shapedData = isFull ? _mapper.Map <CompanyFullDto>(entity).ShapeData(null) : _mapper.Map <CompanyFriendlyDto>(entity).ShapeData(null); if (includeLinks) { var companyDict = shapedData as IDictionary <string, object>; var links = CreateLinksForCompany(entity.Id, null); companyDict.Add("links", links); //返回状态码201 //通过使用 CreatedAtRoute 返回时可以在 Header 中添加一个地址(Loaction) return(CreatedAtRoute(nameof(GetCompany), new { companyId = entity.Id }, companyDict)); } return(CreatedAtRoute(nameof(GetCompany), new { companyId = entity.Id }, shapedData)); }
public async Task <IActionResult> CreateCompany(CompanyAddDto company) { var res = CompanyProfile.InitializeAutoMapper().Map <Company>(company); _service.AddCompany(res); await _service.SaveAsync(); var companyDto = CompanyProfile.InitializeAutoMapper().Map <CompanyDto>(res); var links = CreateLinksForCompany(companyDto.Id, null); var returnDto = companyDto.ShapeData(null) as IDictionary <string, object>; returnDto.Add("Links", links); return(CreatedAtRoute(nameof(GetCompany), new { companyId = returnDto["Id"] }, returnDto)); }
public async Task <ActionResult <CompanyDto> > CreateCompany([FromBody] CompanyAddDto company) { //xml格式 Introduction null //把Introduction 放在Name字段前可识别 var entity = _mapper.Map <Company>(company); _companyRepository.AddCompany(entity); await _companyRepository.SaveAsync(); var retuenDto = _mapper.Map <CompanyDto>(entity); var links = CreateLinksForCompany(retuenDto.Id, null); var linkedDict = retuenDto.ShapeData(null) as IDictionary <string, object>; linkedDict.Add("links", links); //返回一个路径,获取当前添加的资源 return(CreatedAtRoute(nameof(GetCompany), new { companyId = linkedDict["Id"] }, retuenDto)); }
public async Task <IActionResult> CreateCompany([FromBody] CompanyAddDto company) { //这段代码现在可以去掉,最早版本Asp.Net Core不行 //if (company == null) //{ // return BadRequest(); //} var entity = _mapper.Map <Company>(company); _companyRepository.AddCompany(entity); var result = await _companyRepository.SaveAsync(); var returnDto = _mapper.Map <CompanyDto>(entity); var links = CreateLinksForCompany(returnDto.Id, null); var linkedDict = returnDto.ShapedData(null) as IDictionary <string, object>; linkedDict.Add("links", links); return(CreatedAtRoute(nameof(GetCompany), new { companyId = linkedDict["Id"] }, linkedDict)); }
public async Task <ActionResult <CompanyDto> > CreateCompany([FromBody] CompanyAddDto company) { //.net core 2.0 没有api controller,需要下面这段代码 if (company == null) { return(BadRequest()); } var entity = _mapper.Map <Company>(company); _companyRepository.AddCompany(entity); await _companyRepository.SaveAsync(); var returnDto = _mapper.Map <CompanyDto>(entity); var links = CreateLinksForCompany(returnDto.Id, null); var linkedDict = returnDto.ShapeData(null) as IDictionary <string, object>; linkedDict.Add("links", links); //返回响应带地址的header return(CreatedAtRoute(nameof(GetCompany), routeValues: new { companyId = linkedDict["Id"] }, value: linkedDict)); }
public async Task <ActionResult <CompanyDto> > CreateCompany([FromBody] CompanyAddDto company) //company参数属于复杂类型参数,就算不写上[FromBody]也会默认为此类型 { //情景一 在2.x版本或之前版本,或没有使用[ApiController]这个属性的话,应该先检查一下输入的参数是否为空 //if (company == null) //{ // return BadRequest(); //} //情景二 在没有使用[ApiController]这个属性标识时,当Model验证失败时不会自动返回422错误代码,须要手动添加如下代码 //if (!ModelState.IsValid) //{ // return UnprocessableEntity(ModelState); //} var entity = _mapper.Map <Company>(company); _companyRepository.AddCompany(entity); await _companyRepository.SaveAsync(); var returnDto = _mapper.Map <CompanyDto>(entity); return(CreatedAtRoute(nameof(GetCompany), new { companyId = returnDto.ID }, returnDto)); }
public async Task <ActionResult <CompanyAddDto> > CreateCompany(CompanyAddDto company) { //core2.1 //if (!ModelState.IsValid) //{ // return UnprocessableEntity(ModelState); //} var entity = _mapper.Map <Company>(company); _companyRepository.AddCompany(entity); await _companyRepository.SaveAsync(); var returnDto = _mapper.Map <CompanyDto>(entity); var links = CreateLinksForCompany(returnDto.Id, null); var linkedDict = returnDto.ShapeData(null) as IDictionary <string, object>; linkedDict.Add("links", links); return(CreatedAtRoute(nameof(GetCompany), new { companyId = linkedDict["Id"] }, linkedDict)); }
/// <summary> /// 保存并创建商机 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void save_create_opportunity_Click(object sender, EventArgs e) { var param = new CompanyAddDto(); param.general = AssembleModel <CompanyAddDto.General>(); param.general.tax_exempt = taxExempt.Checked; param.contact = AssembleModel <CompanyAddDto.Contact>(); param.location = AssembleModel <CompanyAddDto.Location>(); param.note = AssembleModel <CompanyAddDto.Note>(); param.site = AssembleModel <CompanyAddDto.Site>(); param.todo = AssembleModel <CompanyAddDto.Todo>(); // var param = AssembleModel<CompanyAddDto>(); if (company_udfList != null && company_udfList.Count > 0) // 首先判断是否有自定义信息 { var list = new List <UserDefinedFieldValue>(); foreach (var udf in company_udfList) // 循环添加 { var new_udf = new UserDefinedFieldValue() { id = udf.id, value = Request.Form[udf.id.ToString()] == "" ? null : Request.Form[udf.id.ToString()], }; list.Add(new_udf); } param.general.udf = list; } if (contact_udfList != null && contact_udfList.Count > 0) { var list = new List <UserDefinedFieldValue>(); foreach (var udf in contact_udfList) { var new_udf = new UserDefinedFieldValue() { id = udf.id, value = Request.Form[udf.id.ToString()] == "" ? null : Request.Form[udf.id.ToString()], }; list.Add(new_udf); } param.contact.udf = list; } if (site_udfList != null && site_udfList.Count > 0) { var list = new List <UserDefinedFieldValue>(); foreach (var udf in site_udfList) { var new_udf = new UserDefinedFieldValue() { id = udf.id, value = Request.Form[udf.id.ToString()] == "" ? null : Request.Form[udf.id.ToString()], }; list.Add(new_udf); } param.site.udf = list; } var id = ""; var result = new CompanyBLL().Insert(param, GetLoginUserId(), out id); if (result != ERROR_CODE.SUCCESS) { ClientScript.RegisterStartupScript(this.GetType(), "校验名字", "<script>document.getElementById('isCheckCompanyName').value = 'yes';</script>"); } if (result == ERROR_CODE.PARAMS_ERROR) // 必填参数丢失,重写 { ClientScript.RegisterStartupScript(this.GetType(), "提示信息", "<script>alert('必填参数丢失,请重新填写');</script>"); } else if (result == ERROR_CODE.CRM_ACCOUNT_NAME_EXIST) // 用户名称已经存在,重新填写用户名称 { ClientScript.RegisterStartupScript(this.GetType(), "提示信息", "<script>alert('客户已经存在');</script>"); } else if (result == ERROR_CODE.USER_NOT_FIND) // 用户丢失 { Response.Write("<script>alert('查询不到用户,请重新登陆');</script>"); Response.Redirect("../Login.aspx"); } else if (result == ERROR_CODE.MOBILE_PHONE_OCCUPY) { ClientScript.RegisterStartupScript(this.GetType(), "提示信息", "<script>alert('电话名称重复');</script>"); } else if (result == ERROR_CODE.SUCCESS) { if (!string.IsNullOrEmpty(CallBack)) { ClientScript.RegisterStartupScript(this.GetType(), "执行事件", "<script>alert('添加客户成功!');window.opener." + CallBack + "('" + id + "');</script>"); } else { Response.Write("<script>alert('添加客户成功!');self.opener.location.reload();window.close();window.open('../Opportunity/OpportunityAddAndEdit.aspx?oppo_account_id=" + id + "','" + (int)EMT.DoneNOW.DTO.OpenWindow.OpportunityAdd + "','left= 200, top = 200, width = 960, height = 750', false);</script>"); // } } }
public async Task <ActionResult <CompanyDto> > CreateCompany(CompanyAddDto company) { var resultDto = await companyService.CreateCompanyAsync(company); return(CreatedAtRoute(nameof(GetCompany), new { companyId = resultDto.Id }, resultDto)); }