public Entity.Crop Get(Guid id) { try { return(_cropRepository.FindBy(r => r.Guid == id).Select(p => Mapper.Configuration.Mapper.Map <Entity.Crop>(p)).FirstOrDefault()); } catch (Exception ex) { _logger.ErrorLog(ex, this.GetType().Name, MethodBase.GetCurrentMethod().Name); return(null); } }
public Entity.ActionStatus Delete(Guid id) { Entity.ActionStatus actionStatus = new Entity.ActionStatus(true); try { var dbGreenHouse = _greenHouseRepository.FindBy(x => x.Guid.Equals(id)).FirstOrDefault(); if (dbGreenHouse == null) { throw new NotFoundCustomException($"{CommonException.Name.NoRecordsFound} : GreenHouse"); } var dbCrop = _cropRepository.FindBy(x => x.GreenHouseGuid.Equals(id) && x.IsDeleted.Equals(false)).FirstOrDefault(); var dbDevice = _deviceRepository.FindBy(x => x.GreenHouseGuid.Equals(id) && x.IsDeleted.Equals(false)).FirstOrDefault(); if (dbCrop == null && dbDevice == null) { var deleteEntityResult = _iotConnectClient.GreenHouse.Delete(id.ToString()).Result; if (deleteEntityResult != null && deleteEntityResult.status) { dbGreenHouse.IsDeleted = true; dbGreenHouse.UpdatedDate = DateTime.Now; dbGreenHouse.UpdatedBy = SolutionConfiguration.CurrentUserId; return(_greenHouseRepository.Update(dbGreenHouse)); } else { _logger.ErrorLog(new Exception($"GreenHouse is not deleted from iotconnect, Error: {deleteEntityResult.message}"), this.GetType().Name, MethodBase.GetCurrentMethod().Name); actionStatus.Success = false; actionStatus.Message = new UtilityHelper().IOTResultMessage(deleteEntityResult.errorMessages); } } else { _logger.ErrorLog(new Exception($"GreenHouse is not deleted from solution database.Crop/Device exists, Error: {actionStatus.Message}"), this.GetType().Name, MethodBase.GetCurrentMethod().Name); actionStatus.Success = false; actionStatus.Message = "GreenHouse is not deleted from solution database.Crop/Device exists"; } } catch (Exception ex) { _logger.ErrorLog(ex, this.GetType().Name, MethodBase.GetCurrentMethod().Name); actionStatus.Success = false; actionStatus.Message = ex.Message; } return(actionStatus); }