public virtual async Task <GetOneResult <TEntity> > GetById(int id) { var result = new GetOneResult <TEntity>(); try { var entitie = await Db.Set <TEntity>().FindAsync(id); result.Entity = entitie; result.Success = true; result.Message = "OK"; result.StatusCode = 200; result.Exception = null; } catch (Exception ex) { result.Entity = null; result.Success = false; result.Message = ex.Message; result.StatusCode = 500; result.Exception = ex; } return(result); }
public async Task <GetOneResult <PersonelMainRole> > GetPersonelRoles(string id) { var result = new GetOneResult <PersonelMainRole>(); try { var roles = _roleManager.Roles != null?_roleManager.Roles.ToList() : null; var personel = await _personelDataAccess.GetByIdAsync(id, "guid"); var personelRoles = personel != null && personel.Entity != null && personel.Entity.Roles != null? personel.Entity.Roles.Select(x => new PersonelRoles { Id = x.ToString(), Name = roles.FirstOrDefault(y => y.Id == x).Name }).ToList() : null; result.Entity = new PersonelMainRole { Roles = roles, PersonelRoleList = personelRoles }; result.Success = true; } catch (Exception ex) { result.Entity = null; result.Success = false; } return(result); }
public async Task <GetOneResult <TEntity> > ReplaceOneAsync(string id, TEntity entity, string type = "object") { var result = new GetOneResult <TEntity>(); try { object objectId = null; if (type == "guid") { objectId = Guid.Parse(id); } else { objectId = ObjectId.Parse(id); } var filter = Builders <TEntity> .Filter.Eq("_id", objectId); var updatedDocument = await _collection.ReplaceOneAsync(filter, entity); result.Entity = entity; } catch (Exception ex) { result.Message = $"ReplaceOne {ex.Message}"; result.Success = false; result.Entity = null; } return(result); }
public ApiResult(OperationResult result) { string typeResult = result.GetType().Name; if (typeResult.Contains("GetOneResult")) { GetOneResult <TResponse> oneResult = (GetOneResult <TResponse>)result; if (oneResult != null && oneResult.Entity != null) { this.Response = new List <TResponse>() { oneResult.Entity } } ; } else if (typeResult.Contains("GetManyResult")) { GetManyResult <TResponse> manyResult = (GetManyResult <TResponse>)result; if (manyResult != null && manyResult.Entities != null) { this.Response = manyResult.Entities; } } this.Message = result.Message; this.StatusCode = result.StatusCode; }
public async Task <GetOneResult <TEntity> > GetByIdAsync(string id, string type = "object") { var result = new GetOneResult <TEntity>(); try { object objectId = null; if (type == "guid") { objectId = Guid.Parse(id); } else { objectId = ObjectId.Parse(id); } var filter = Builders <TEntity> .Filter.Eq("_id", objectId); var data = await _collection.Find(filter).FirstOrDefaultAsync(); if (data != null) { result.Entity = data; } } catch (Exception ex) { result.Message = $"GetById {ex.Message}"; result.Success = false; result.Entity = null; } return(result); }
public async Task <JsonResult> CreateRoom(RoomUser user) { var result = new GetOneResult <Room>(); if (ModelState.IsValid) { result = await roomService.CreateRoom(user); } return(Json(result)); }
public Task <GetOneResult <WechatInfo> > GetWechatInfo(string unionId) { GetOneResult <WechatInfo> result = new GetOneResult <WechatInfo>() { Message = "找不到该用户" }; var entity = StorageService.UserAuthData.SingleOrDefault(e => e.OpenId == unionId); if (entity != null) { result.Entity = entity; result.Status = 200; result.Success = true; } return(Task.FromResult(result)); }
public Task <GetOneResult <RoomUser> > GetUser(string unionId) { GetOneResult <RoomUser> result = new GetOneResult <RoomUser>() { Message = "找不到该用户" }; var entity = StorageService.RegisteredUsers.SingleOrDefault(u => u.OpenId == unionId); if (entity != null) { result.Entity = entity; result.Status = 200; result.Success = true; } return(Task.FromResult(result)); }
public GetOneResult <TEntity> InsertOne(TEntity entity) { var result = new GetOneResult <TEntity>(); try { _collection.InsertOne(entity); result.Entity = entity; } catch (Exception ex) { result.Message = $"InsertOne {ex.Message}"; result.Success = false; result.Entity = null; } return(result); }
public GetOneResult <TEntity> DeleteOne(Expression <Func <TEntity, bool> > filter) { var result = new GetOneResult <TEntity>(); try { var deletedDocument = _collection.FindOneAndDelete(filter); result.Entity = deletedDocument; } catch (Exception ex) { result.Message = $"DeleteOne {ex.Message}"; result.Success = false; result.Entity = null; } return(result); }
public virtual async Task <GetOneResult <TEntity> > GetById(int id) { var result = new GetOneResult <TEntity>(); try { var response = await _repository.GetById(id); if (response.Success) { if (response.Entity == null) { result.Message = "Not Found"; result.StatusCode = 404; } else { result.Message = "OK"; result.StatusCode = 200; } result.Entity = response.Entity; result.StatusCode = response.StatusCode == 400 ? 400 : response.StatusCode; result.Exception = response.Exception ?? null; } else { result.Entity = null; result.Success = false; result.Message = "Bad Request"; result.StatusCode = 400; result.Exception = null; } } catch (Exception ex) { result.Entity = null; result.Success = false; result.Message = ex.Message; result.StatusCode = 500; result.Exception = ex; } return(result); }
public async Task <GetOneResult <TEntity> > InsertOneAsync(TEntity entity) { var result = new GetOneResult <TEntity>(); try { await _collection.InsertOneAsync(entity); result.Entity = entity; } catch (Exception ex) { result.Message = $"GetById {ex.Message}"; result.Success = false; result.Entity = null; } return(result); }
public Task <GetOneResult <Room> > CreateRoom(RoomUser user) { var result = new GetOneResult <Room>(); if (!string.IsNullOrWhiteSpace(user.OpenId)) { var room = new Room(); room.RoomId = GenerateRoomId(); room.RoomLeader = user.UserName; room.LeaderId = user.OpenId; room.Users.Add(user); StorageService.RoomList.Add(room); result.Success = true; result.Status = 200; result.Entity = room; } return(Task.FromResult(result)); }
/// <summary> /// GetAndUpdateOne with filter /// </summary> /// <typeparam name="TEntity"></typeparam> /// <param name="filter"></param> /// <param name="update"></param> /// <param name="options"></param> /// <returns></returns> public async Task <GetOneResult <TEntity> > GetAndUpdateOne <TEntity>(FilterDefinition <TEntity> filter, UpdateDefinition <TEntity> update, FindOneAndUpdateOptions <TEntity, TEntity> options) where TEntity : class, new() { var result = new GetOneResult <TEntity>(); try { var collection = GetCollection <TEntity>(); result.Entity = await collection.FindOneAndUpdateAsync(filter, update, options); result.Success = true; result.Message = "OK"; return(result); } catch (Exception ex) { result.Message = HelperService.NotifyException("GetAndUpdateOne", "Exception getting and updating entity: " + typeof(TEntity).Name, ex); return(result); } }
/// <summary> /// A generic GetOne method /// </summary> /// <typeparam name="TEntity"></typeparam> /// <param name="id"></param> /// <returns></returns> public async Task <GetOneResult <TEntity> > GetOne <TEntity>(FilterDefinition <TEntity> filter) where TEntity : class, new() { var res = new GetOneResult <TEntity>(); try { var collection = GetCollection <TEntity>(); var entity = await collection.Find(filter).SingleOrDefaultAsync(); if (entity != null) { res.Entity = entity; } res.Success = true; return(res); } catch (Exception ex) { res.Message = HelperService.NotifyException("GetOne", "Exception getting one " + typeof(TEntity).Name, ex); return(res); } }
/// <summary> /// GetAndUpdateOne with filter /// </summary> /// <typeparam name="TEntity"></typeparam> /// <param name="filter"></param> /// <param name="update"></param> /// <param name="options"></param> /// <returns></returns> public async Task <GetOneResult <TEntity> > GetAndUpdateOne(FilterDefinition <TEntity> filter, UpdateDefinition <TEntity> update, FindOneAndUpdateOptions <TEntity, TEntity> options) { var result = new GetOneResult <TEntity>(); try { throw new Exception("TimeStamps are not implemented, please implement them first"); var collection = GetCollection(); result.Entity = await collection.FindOneAndUpdateAsync(filter, update, options); result.Success = true; result.Message = "OK"; return(result); } catch (Exception ex) { result.Message = HelperService.NotifyException("GetAndUpdateOne", "Exception getting and updating entity: " + typeof(TEntity).Name, ex); return(result); } }
public GetOneResult <TEntity> DeleteById(string id) { var result = new GetOneResult <TEntity>(); try { var objectId = ObjectId.Parse(id); var filter = Builders <TEntity> .Filter.Eq("_id", objectId); var data = _collection.FindOneAndDelete(filter); if (data != null) { result.Entity = data; } } catch (Exception ex) { result.Message = $"DeleteById {ex.Message}"; result.Success = false; result.Entity = null; } return(result); }
public virtual async Task <GetOneResult <TEntity> > Add(TEntity obj) { var result = new GetOneResult <TEntity>(); try { Db.Set <TEntity>().Add(obj); int entriesWritten = await Db.SaveChangesAsync(); if (entriesWritten >= 1) { result.Entity = obj; result.Success = true; result.Message = "Created"; result.StatusCode = 201; result.Exception = null; } else { result.Entity = null; result.Success = false; result.Message = "Bad Request"; result.StatusCode = 400; result.Exception = null; } } catch (Exception ex) { result.Entity = null; result.Success = false; result.Message = ex.Message; result.StatusCode = 500; result.Exception = ex; } return(result); }
public async Task <JsonResult> Post([FromBody] TModel model) { var result = new GetOneResult <TModel>(); try { var domain = Mapper.Map <TModel, TEntity>(model); var response = await((IGenericService <TEntity>)_service).Add(domain); if (response.Success) { result.Success = true; result.Entity = Mapper.Map <TEntity, TModel>(response.Entity); result.Message = "Created"; result.StatusCode = 201; result.Exception = null; } else { result.Success = false; result.Entity = response.Entity == null ? null : Mapper.Map <TEntity, TModel>(response.Entity); result.Message = response.Message ?? null; result.StatusCode = response.StatusCode; result.Exception = response.Exception ?? null; } } catch (Exception ex) { result.Success = false; result.Entity = null; result.Message = ex.Message; result.StatusCode = 500; result.Exception = ex; } return(Json(result)); }
public virtual async Task <GetOneResult <TEntity> > Add(TEntity obj) { var result = new GetOneResult <TEntity>(); try { var response = await _repository.Add(obj); if (response.Success) { result.Entity = obj; result.Success = true; result.Message = "Created"; result.StatusCode = 201; result.Exception = null; } else { result.Entity = null; result.Success = false; result.Message = response.Message == "Bad Request" ? "Bad Request" : response.Message; result.StatusCode = response.StatusCode == 400 ? 400 : response.StatusCode; result.Exception = response.Exception ?? null; } } catch (Exception ex) { result.Entity = null; result.Success = false; result.Message = ex.Message; result.StatusCode = 500; result.Exception = ex; } return(result); }
public async Task <JsonResult> GetById(int id) { var result = new GetOneResult <TModel>(); try { var response = await((IGenericService <TEntity>)_service).GetById(id); if (response.Success) { result.Success = response.Success; result.Entity = Mapper.Map <TEntity, TModel>(response.Entity); result.Message = response.Message; result.StatusCode = response.StatusCode; result.Exception = null; } else { result.Success = false; result.Entity = response.Entity == null ? null : Mapper.Map <TEntity, TModel>(response.Entity); result.Message = response.Message ?? null; result.StatusCode = response.StatusCode; result.Exception = response.Exception ?? null; } } catch (Exception ex) { result.Entity = null; result.Success = false; result.Message = ex.Message; result.StatusCode = 500; result.Exception = ex; } return(Json(result)); }
public virtual async Task <GetOneResult <TEntity> > GetById(int id) { GetOneResult <TEntity> response = null; try { var result = await _repository.GetById(id); if (result != null) { response = new GetOneResult <TEntity>(result, true, null, System.Net.HttpStatusCode.OK, null); } else { response = new GetOneResult <TEntity>(result, false, "Loja não encontrada com o identificador informado", System.Net.HttpStatusCode.NotFound, null); } } catch (System.Exception ex) { response = new GetOneResult <TEntity>(null, false, null, System.Net.HttpStatusCode.BadRequest, ex); } return(response); }