// POST api/values
 public bool Post(int id, [FromBody] SchemaStore value)
 {
     try
     {
         var ctx        = new DataAccess.GraphKnowledgeEntities();
         var schemaInfo = ctx.SchemaInformations.Add(new DataAccess.SchemaInformation
         {
             UserSchemaId = id,
             SchemaInfo   = value.SchemaInfo,
             CreationDate = DateTime.UtcNow,
             ModifiedBy   = value.ModifiedBy,
             Status       = Constants.Active
         });
         var schemaInfoChanges = ctx.SaveChanges();
         var informations      = ctx.SchemaInformations
                                 .Where(f => f.UserSchemaId == id && f.Status == Constants.Active && schemaInfo.Id != f.Id).ToList();
         foreach (var information in informations)
         {
             information.Status = Constants.InActive;
         }
         ctx.SaveChanges();
         //if (!File.Exists(System.Web.HttpContext.Current.Server.MapPath($"~/Content/graph{DateTime.Now.ToString("yyyyMMdd")}.json")))
         //{
         //    File.WriteAllText(System.Web.HttpContext.Current.Server.MapPath($"~/Content/graph{DateTime.Now.ToString("yyyyMMdd")}.json"), File.ReadAllText(System.Web.HttpContext.Current.Server.MapPath("~/Content/graph.json")));
         //}
         //File.WriteAllText(System.Web.HttpContext.Current.Server.MapPath("~/Content/graph.json"), value);
         return(true);
     }
     catch (Exception e)
     {
     }
     return(false);
 }
        // GET api/values/5
        public string Get(int id)
        {
            var ctx = new DataAccess.GraphKnowledgeEntities();

            return(ctx.SchemaInformations.Where(f => f.UserSchemaId == id && f.Status == Constants.Active)
                   .OrderByDescending(p => p.CreationDate)
                   .FirstOrDefault()?.SchemaInfo);
        }
        // GET api/values
        public string Get()
        {
            var ctx = new DataAccess.GraphKnowledgeEntities();

            return(ctx.SchemaInformations
                   .OrderByDescending(p => p.CreationDate)
                   .FirstOrDefault()?.SchemaInfo);
        }
        //// GET api/values
        //public string Get()
        //{
        //    var ctx = new DataAccess.GraphKnowledgeEntities();
        //    return ctx.SchemaInformations
        //              .OrderByDescending(p => p.CreationDate)
        //              .FirstOrDefault()?.SchemaInfo;
        //}

        // GET api/values/5 getuserschemas by userid
        public List <DataAccess.UserSchema> Get(int id)
        {
            try
            {
                var ctx = new DataAccess.GraphKnowledgeEntities();
                ctx.Configuration.ProxyCreationEnabled = false;
                var userSchemas = ctx.UserSchemas.Where(e => e.OwnerUserId == id).ToList();
                return(userSchemas);
            }
            catch (Exception e)
            {
            }
            return(new List <DataAccess.UserSchema>());
        }
        // PUT api/values/5
        public string Put(int id, string mode, [FromBody] SchemaStore value)
        {
            try
            {
                var ctx = new DataAccess.GraphKnowledgeEntities();
                if (mode?.ToLowerInvariant() == "undo")
                {
                    var SchemaInformationFrom = ctx.SchemaInformations.Where(f => f.UserSchemaId == id && f.Status == Constants.Active)
                                                .OrderByDescending(p => p.CreationDate)
                                                .FirstOrDefault();
                    var SchemaInformationTo = ctx.SchemaInformations.Where(f => f.UserSchemaId == id && f.Status == Constants.InActive &&
                                                                           f.Id < SchemaInformationFrom.Id)
                                              .OrderByDescending(p => p.CreationDate)
                                              .FirstOrDefault();
                    if (SchemaInformationFrom == null || SchemaInformationTo == null)
                    {
                        return("Data Missing");
                    }
                    SchemaInformationFrom.Status = Constants.InActive;
                    SchemaInformationTo.Status   = Constants.Active;
                    ctx.SaveChanges();
                    return(SchemaInformationTo.SchemaInfo);
                }
                else if (mode?.ToLowerInvariant() == "redo")
                {
                    var SchemaInformationFrom = ctx.SchemaInformations.Where(f => f.UserSchemaId == id && f.Status == Constants.Active)
                                                .OrderByDescending(p => p.CreationDate)
                                                .FirstOrDefault();

                    var SchemaInformationTo = ctx.SchemaInformations.Where(f => f.UserSchemaId == id && f.Status == Constants.InActive &&
                                                                           f.Id > SchemaInformationFrom.Id).OrderBy(p => p.CreationDate)
                                              .FirstOrDefault();

                    if (SchemaInformationFrom == null || SchemaInformationTo == null)
                    {
                        return("Data Missing");
                    }
                    SchemaInformationFrom.Status = Constants.InActive;
                    SchemaInformationTo.Status   = Constants.Active;
                    ctx.SaveChanges();
                    return(SchemaInformationTo.SchemaInfo);
                }
            }
            catch (Exception e)
            {
                return(e.Message);
            }
            return(string.Empty);
        }
 // POST api/values
 public DataAccess.User Post([FromBody] User value)
 {
     try
     {
         var ctx = new DataAccess.GraphKnowledgeEntities();
         ctx.Configuration.ProxyCreationEnabled = false;
         var user = ctx.Users.FirstOrDefault(e => e.Username == value.username && e.Password == value.password);
         return(user);
     }
     catch (Exception e)
     {
         return(new DataAccess.User {
             UserId = 1, Username = "******", Password = "******"
         });
     }
     return(null);
 }
示例#7
0
        //// GET api/values
        //public string Get()
        //{
        //    var ctx = new DataAccess.GraphKnowledgeEntities();
        //    return ctx.SchemaInformations
        //              .OrderByDescending(p => p.CreationDate)
        //              .FirstOrDefault()?.SchemaInfo;
        //}

        //// GET api/values/5
        //public string Get(int id)
        //{
        //    return "value";
        //}

        // POST api/values
        public bool Post([FromBody] User value)
        {
            try
            {
                var ctx = new DataAccess.GraphKnowledgeEntities();
                if (!ctx.Users.Any(e => e.Username == value.username && e.Password == value.password))
                {
                    ctx.Users.Add(new DataAccess.User
                    {
                        Username = value.username,
                        Password = value.password
                    });
                    ctx.SaveChanges();
                    return(true);
                }
                return(false);
            }
            catch (Exception e)
            {
            }
            return(false);
        }