public IHttpActionResult Put([FromBody] FarmDto value) { if (!ModelState.IsValid) { Logger.Info("Farm modelstate invalid {@value1}", value); return(BadRequest(ModelState)); } try { var farm = db.Farms.Find(value.ID); if (farm != null) { Farm updatedFarm = Mapper.Map <Farm>(value); db.Entry(farm).CurrentValues.SetValues(updatedFarm); db.SaveChanges(); Logger.Info("Farm Updated: {@value1}", updatedFarm); return(StatusCode(HttpStatusCode.NoContent)); } Logger.Info("Farm data for {id} not found", value.ID); return(NotFound()); } catch (Exception ex) { Logger.Error(ex, ex.Message); return(InternalServerError(ex)); } }
public void WHEN_Convert_GIVEN_Valid_Dto_THEN_Get_Valid_Result_With_All_Links() { var uniqueIdFactory = SampleObjectsIdFactory.Instance; var farmDto = new FarmDto { Uid = Guid.NewGuid(), GrowerUid = Guid.NewGuid(), Name = "Test" }; var converter = new FarmDtoConverter(uniqueIdFactory); var farm = converter.Convert(farmDto); Assert.Equal(farmDto.Uid.ToString(), farm.Object.Id.UniqueIds.First().Id); Assert.Equal(farmDto.Name, farm.Object.Description); var selfLink = farm.Links.Single(l => l.Rel == Relationships.Self); Assert.Equal($"/Farms/{uniqueIdFactory.UniqueIdSource}/{farmDto.Uid}", selfLink.Link); Assert.Equal(selfLink.Id.ReferenceId, farm.Object.Id.ReferenceId); var growerLink = farm.Links.Single(l => l.Rel == typeof(Grower).ObjectRel()); Assert.Equal($"/Growers/{uniqueIdFactory.UniqueIdSource}/{farmDto.GrowerUid}", growerLink.Link); var fieldsLink = farm.Links.Single(l => l.Rel == typeof(Field).ListRel()); Assert.Equal($"/Farms/{uniqueIdFactory.UniqueIdSource}/{farmDto.Uid}/Fields", fieldsLink.Link); }
public FarmDto Create(FarmDto dto) { var farm = Mapper.Map <FarmDto, Farm>(dto); _farmRepository.Create(farm); return(Mapper.Map <Farm, FarmDto>(_farmRepository.FindById(farm.Id))); }
private void CboDestino_SelectedValueChanged(object sender, EventArgs e) { if (cboDestino.SelectedItem != null) { destinoSelected = (FarmDto)cboDestino.SelectedItem; } else { destinoSelected = null; } }
private void CboOrigen_SelectedValueChanged(object sender, EventArgs e) { if (cboOrigen.SelectedItem != null) { origenSelected = (FarmDto)cboOrigen.SelectedItem; } else { origenSelected = null; } }
public async Task <IHttpActionResult> GetByUser(string userId) { return(await ResultFactory.Create(ModelState, async arg => { var companyUser = await companyUserService.GetBySysUserIdAsync(userId); FarmDto farm = null; if (companyUser != null) { farm = await farmService.GetByIdWithRedisAsync(companyUser.FarmSerialnum); } return new ApiResult(ExceptionCode.Success, "", farm); }, userId, "success", "请检查请求参数")); }
public ModelEnvelope <Farm> Convert(FarmDto farmDto) { var farm = new Farm() { Description = farmDto.Name }; var farmUniqueId = _uniqueIdFactory.CreateGuid(farmDto.Uid); var farmCompoundId = farm.Id; farmCompoundId.UniqueIds.Add(farmUniqueId); var selfLink = new ReferenceLink { Id = farmCompoundId, Rel = Relationships.Self, Link = $"/Farms/{farmUniqueId.Source}/{farmUniqueId.Id}", Type = "get" }; var growerUniqueId = _uniqueIdFactory.CreateGuid(farmDto.GrowerUid); var growerCompoundId = growerUniqueId.ToCompoundIdentifier(); farm.GrowerId = growerCompoundId.ReferenceId; var growerLink = new ReferenceLink { Id = growerCompoundId, Rel = typeof(Grower).ObjectRel(), Link = $"/Growers/{growerUniqueId.Source}/{growerUniqueId.Id}", Type = "get" }; var fieldsLink = new ReferenceLink { Rel = typeof(Field).ListRel(), Link = $"/Farms/{farmUniqueId.Source}/{farmUniqueId.Id}/Fields", Type = "get" }; var farmEnvelope = new ModelEnvelope <Farm>(farm); farmEnvelope.Links.Add(growerLink); farmEnvelope.Links.Add(selfLink); farmEnvelope.Links.Add(fieldsLink); return(farmEnvelope); }
public IHttpActionResult Post([FromBody] FarmDto value) { if (!ModelState.IsValid) { Logger.Info("Farm modelstate invalid {@value1}", value); return(BadRequest(ModelState)); } try { Farm farm = Mapper.Map <Farm>(value); db.Farms.Add(farm); db.SaveChanges(); Logger.Info("Farm {id} created successfully", farm.ID); return(StatusCode(HttpStatusCode.NoContent)); } catch (DbEntityValidationException eve) { List <String> errors = new List <string>(); foreach (DbEntityValidationResult vr in eve.EntityValidationErrors) { foreach (DbValidationError ve in vr.ValidationErrors) { string error = $"{vr.Entry.Entity.GetType().Name}.{ve.PropertyName}: {ve.ErrorMessage}"; if (!errors.Contains(error)) { errors.Add(error); } } } Logger.Error(eve, eve.Message); return(InternalServerError(new InvalidOperationException(eve.Message + "\r\n" + String.Join("\r\n", errors.ToArray()), eve))); } catch (Exception ex) { Logger.Error(ex, ex.Message); return(InternalServerError(ex)); } }
public async Task <HttpResponseMessage> UploadFarm(FarmDto farm, bool isNew) { if (isNew) { var cts = new CancellationTokenSource(); var task = RemoteRequestAsync(_farmApi.GetApi(Priority.UserInitiated).CreateFarm(farm), null); _runningTasks.Add(task.Id, cts); return(await task); } else { var cts = new CancellationTokenSource(); var task = RemoteRequestAsync(_farmApi.GetApi(Priority.UserInitiated).UpdateFarm(farm), null); _runningTasks.Add(task.Id, cts); return(await task); } }
private void cboSubFarm_SelectedValueChanged(object sender, EventArgs e) { if (cboSubFarm.SelectedItem != null) { SubFarmSelected = (FarmDto)cboSubFarm.SelectedItem; if (SubFarmSelected.CodFarm != "" && SubFarmSelected.FullName != "") { txtDireccionGd.Text = SubFarmSelected.DireccionGd; } else { txtDireccionGd.Text = ""; } } else { cboFarm.ValueMember = "CodFarm"; cboFarm.DisplayMember = "FullName"; cboFarm.DataSource = null; } }
public async Task <IHttpActionResult> RegisterIotUser([FromBody] UserRegisterIotModel user) { if (ModelState.IsValid) { try { var result = await SysUserService.AddAsync(new SysUserDto() { LoginName = user.LoginName, UserName = user.Name, Password = user.Password, Email = user.Email, SysRoleSerialnum = user.RoleCode, SysDepartmentSerialnum = user.DepartmentCode, Status = 0, CreateTime = DateTime.Now }); if (result > 0) { //添加企业 var company = new CompanyDto { Serialnum = user.DepartmentCode + "", //todo 生成企业编码 Name = user.CompanyName, Addr = user.Location, Status = 0, CreateTime = DateTime.Now, SysDepartmentSerialnum = user.DepartmentCode, ContactMan = user.Name, ContactPhone = user.Mobile }; var companyInsertResult = await CompanyService.AddAsync(company); if (companyInsertResult > 0) { //添加基地 var farm = new FarmDto(); farm.Serialnum = company.Serialnum; farm.APIKey = Guid.NewGuid().ToString(); farm.UploadPassword = "******"; //上传密码应随机生成 farm.Name = company.Name + "-默认基地"; farm.CompanySerialnum = company.Serialnum; farm.Address = company.Addr; farm.ContactMan = user.Name; farm.ContactPhone = user.Mobile; farm.Status = false; farm.SysDepartmentSerialnum = user.DepartmentCode; await FarmService.AddAsync(farm); } else { ModelState.AddModelError("farm", "默认基地生成失败"); } } else { ModelState.AddModelError("company", "企业添加失败"); } } catch (AggregateException ex) { if (ex.InnerExceptions.Any()) { ex.InnerExceptions.ForEach(e => { ModelState.AddModelError(e.HResult.ToString(), e); }); } } } else { ModelState.AddModelError("user", "用户添加失败"); } return(new ApiV1Result(ModelState.IsValid ? ResultMessageType.Success : ResultMessageType.InternalError, ModelState.ToString(), null)); }
public static Farm Map(this FarmDto farmDto) { return(new Farm(farmDto.Id, farmDto.Name, farmDto.Cats?.Select(x => x.Map()).ToList())); }
public async Task <IHttpActionResult> RegisterIotUser([FromBody] UserRegisterIotModel user) { return(await ResultFactory.Create(ModelState, async arg => { var result = await SysUserService.AddAsync(new SysUserDto() { LoginName = user.LoginName, UserName = user.Name, Password = user.Password, Email = user.Email, SysRoleSerialnum = user.RoleCode, SysDepartmentSerialnum = user.DepartmentCode, Status = 0, CreateTime = DateTime.Now, UpdateTime = DateTime.Now }); if (result > 0) { //添加企业 var company = new CompanyDto { Serialnum = user.DepartmentCode + "", //todo 生成企业编码 Name = user.CompanyName, Addr = user.Location, Status = 0, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, SysDepartmentSerialnum = user.DepartmentCode, ContactMan = user.Name, ContactPhone = user.Mobile }; var companyInsertResult = await CompanyService.AddAsync(company); if (companyInsertResult > 0) { //添加基地 var farm = new FarmDto(); farm.Serialnum = company.Serialnum; farm.APIKey = Guid.NewGuid().ToString(); farm.UploadPassword = "******"; //上传密码应随机生成 farm.Name = company.Name + "-默认基地"; farm.CompanySerialnum = company.Serialnum; farm.Address = company.Addr; farm.ContactMan = user.Name; farm.CreateTime = DateTime.Now; farm.UpdateTime = DateTime.Now; farm.ContactPhone = user.Mobile; farm.Status = false; farm.SysDepartmentSerialnum = user.DepartmentCode; await FarmService.AddAsync(farm); } else { ModelState.AddModelError("farm", "默认基地生成失败"); } } else { ModelState.AddModelError("company", "企业添加失败"); } return true; }, user, "success", "请检查请求参数")); }
public ActionResult <FarmDto> Post([FromBody] FarmDto dto) { return(_farmService.Create(dto)); }
public string Create([FromBody] FarmDto farmDto) { _farmService.Create(farmDto.Map()); return("Created"); }