public async Task<JsonResult> AddEntityRelation(AddEntityRelationModel addEntityRelationModel)
 {
     var response = await EntityManager.AddEntityRelation(addEntityRelationModel);
     return Json(response);
 }
        public static async Task<Response> AddEntityRelation(AddEntityRelationModel addEntityRelationModel)
        {
            var response = ValidateEntityRelation(addEntityRelationModel);
            if (!response.Success)
            {
                return response;
            }
            var relation = new Relation() { TypeId = addEntityRelationModel.RelationTypeId };
            relation.RelationEntities.Add(new RelationEntity { EntityId = addEntityRelationModel.Id });
            relation.RelationEntities.Add(new RelationEntity { EntityId = addEntityRelationModel.OtherEntityId });

            var context = new AdminDbContext();
            context.Relations.Add(relation);
            await context.SaveChangesAsync();
            return response;
        }
 private static Response ValidateEntityRelation(AddEntityRelationModel addEntityRelationModel, Response response = null)
 {
     response = response ?? new Response();
     if (addEntityRelationModel.Id == 0)
     {
         response.AddMessage(false, "Please select an entity", ResponseMessageType.Warning);
     }
     if (addEntityRelationModel.RelationTypeId == 0)
     {
         response.AddMessage(false, "Please select a relation type", ResponseMessageType.Warning);
     }
     if (addEntityRelationModel.OtherEntityId == 0)
     {
         response.AddMessage(false, "Please select the second entity", ResponseMessageType.Warning);
     }
     return response;
 }
 public static AddEntityRelationModel GetEntityRelationModel(long id)
 {
     var context = new AdminDbContext();
     var entity = context.Entities.Find(id);
     var entityRelation = new AddEntityRelationModel
     {
         Id = entity.Id,
         Name = entity.Name
     };
     return entityRelation;
 }