Esempio n. 1
0
 public void Declare(Accessibility accessibility, String name, Exp value = null)
 {
     if (dict.ContainsKey(name))
         validations.GenericWarning("variable '" + name + "' is already declared",
                                    Void.Instance);
     dict.Add(name, new EnvItem(accessibility, value));
 }
Esempio n. 2
0
 public ExceptHandler(Exp type, Identifier name, SuiteStatement body, string filename, int start, int end)
     : base(filename, start, end)
 {
     this.type = type;
     this.name = name;
     this.body = body;
 }
Esempio n. 3
0
 static Void printEnvText(Exp asi)
 {
     var he = asi as IHasEnv;
     if (he != null)
         Env.PrintEnv(he.Env);
     return new Void();
 }
Esempio n. 4
0
        private void InitThread(Time time, Exp action)
        {
            while (true)
            {
                Thread.Sleep(GetTimeUntilSleep(time));

                action.Invoke();
            }
        }
Esempio n. 5
0
 public SwitchStmt(Exp exp, Exp opCase1, IStmt case1, Exp opCase2, IStmt case2, IStmt defaultCase)
 {
     this.exp = exp;
     this.expCase1 = opCase1;
     this.case1 = case1;
     this.case2 = case2;
     this.expCase2 = opCase2;
     this.defaultCase = defaultCase;
 }
Esempio n. 6
0
        public void Schedule(Exp exp, Time time)
        {
            actions.Add(exp);

            Thread t = new Thread(new ThreadStart(() => { InitThread(time, exp); }));

            workers.Add(t);

            t.Start();
        }
Esempio n. 7
0
 public object Replace(string name, Exp<object> exp)
 {
     if (this.Name == name)
     {
         return exp.Copy();
     }
     else
     {
         return Copy();
     }
 }
Esempio n. 8
0
    public void TakeDamage(float amount, Exp exp = null)
	{
        /* Returns true if the monster was killed with this attack
         */
		if (isDead)
			return;
		damaged = true;
		curHealth -= amount;
		Debug.Log("Enemy Takes Damage");
		Debug.Log(curHealth);
		if(curHealth <= 0)
		{
			Debug.Log("Enemy Destroyed!!!");
			Death();
            if(exp != null) exp += expVal;
		}
	}
Esempio n. 9
0
	public void ViewKuniInfo(){
		string kuniPath = "Prefabs/Map/KuniInfo";
		GameObject kuni = Instantiate (Resources.Load (kuniPath)) as GameObject;
		kuni.transform.SetParent(GameObject.Find ("Kakejiku").transform);
		kuni.transform.localScale = new Vector2 (1, 1);
		kuni.name = "kuniInfo";

		//Current Kokuryoku
		int kuniExp = PlayerPrefs.GetInt ("kuniExp");
		kuni.transform.FindChild ("KuniLvValue").GetComponent<Text> ().text = kuniExp.ToString ();

		//Exp for Next Lv
		int nowLv = PlayerPrefs.GetInt ("kuniLv");
		Exp exp = new Exp ();
		int totalExp = exp.getKuniExpforNextLv (nowLv);
		int diff = totalExp - kuniExp;
		kuni.transform.FindChild ("KuniNextLvValue").GetComponent<Text> ().text = diff.ToString ();

		//Now Kuni Qty
		string clearedKuni = PlayerPrefs.GetString ("clearedKuni");
		if (clearedKuni != null && clearedKuni != "") {
			if (clearedKuni.Contains (",")) {
				char[] delimiterChars = {','};
				string[] clearedKuniList = clearedKuni.Split (delimiterChars);
				kuni.transform.FindChild ("ShiroQtyValue").GetComponent<Text> ().text = clearedKuniList.Length.ToString ();

			} else {
				kuni.transform.FindChild ("ShiroQtyValue").GetComponent<Text> ().text = "1";
			}
		} else {
			kuni.transform.FindChild ("ShiroQtyValue").GetComponent<Text> ().text = "0";
		}

		//Syutujin Limit
		int jinkeiLimit = PlayerPrefs.GetInt ("jinkeiLimit");
		kuni.transform.FindChild ("SyutsujinQtyValue").GetComponent<Text> ().text = jinkeiLimit.ToString ();

		//Stock Limit
		int stockLimit = PlayerPrefs.GetInt ("stockLimit");
		int myBusyoQty = PlayerPrefs.GetInt ("myBusyoQty");
		string value = myBusyoQty.ToString () + "/" + stockLimit.ToString ();
		kuni.transform.FindChild ("TouyouQtyValue").GetComponent<Text> ().text = value;
	}
Esempio n. 10
0
    void CheckInt(Exp e)
    {
	if(e.ExpType != typeof(int)){
	    if (e is VarExp && e.ExpType == typeof(void)){        //Param Variable. Type unknown. Assume first occurence
		e.ExpType = typeof(int);
		CurrentFuncDef.Add(((VarExp)e).Name, typeof(int));
	    }
	    else if (e is DoVarExp && e.ExpType == typeof(void)){   //Do Variable. Type unknown. Assume first occurence
		e.ExpType = typeof(int);
		DoVars.Add(((DoVarExp)e).Pos, typeof(int));
	    }
	    else if (e is CallExp && e.ExpType == typeof(void)){       //Recursive function call. Assume first occurence
		e.ExpType = typeof(int);
	    }
	    else if (!(e is CarExp)){                                  //CarExp will be coerceto int
		Console.WriteLine("Int expected");
		success = false;
	    }
	}

    }
Esempio n. 11
0
 bool IsSelfEvaluating(Exp exp)
 {
     return(exp is Number || exp is UString || exp is Boolean ||
            exp is Vector || exp is Character || IsPurePair(exp) ||
            exp is ByteVector || exp is Procedure);
 }
Esempio n. 12
0
        public IEnumerable <Tag> GetNewTags(Guid subject, Folder parentFolder, bool deepSearch)
        {
            using (var DbManager = GetDb())
            {
                if (parentFolder == null || parentFolder.ID == null)
                {
                    throw new ArgumentException("folderId");
                }

                var result = new List <Tag>();

                var monitorFolderIds = new[] { parentFolder.ID }.AsEnumerable();

                var getBaseSqlQuery = new Func <SqlQuery>(() =>
                {
                    var fnResult =
                        Query("files_tag ft")
                        .Select("ft.name",
                                "ft.flag",
                                "ft.owner",
                                "ftl.entry_id",
                                "ftl.entry_type",
                                "ftl.tag_count",
                                "ft.id")
                        .Distinct()
                        .InnerJoin("files_tag_link ftl",
                                   Exp.EqColumns("ft.tenant_id", "ftl.tenant_id") &
                                   Exp.EqColumns("ft.id", "ftl.tag_id"))
                        .Where(Exp.Eq("ft.flag", (int)TagType.New));

                    if (subject != Guid.Empty)
                    {
                        fnResult.Where(Exp.Eq("ft.owner", subject));
                    }

                    return(fnResult);
                });

                var tempTags = Enumerable.Empty <Tag>();

                if (parentFolder.FolderType == FolderType.SHARE)
                {
                    var shareQuery =
                        new Func <SqlQuery>(() => getBaseSqlQuery().Where(Exp.Exists(
                                                                              new SqlQuery("files_security fs")
                                                                              .Select("fs.entry_id")
                                                                              .Where(
                                                                                  Exp.EqColumns("fs.tenant_id", "ftl.tenant_id") &
                                                                                  Exp.EqColumns("fs.entry_id", "ftl.entry_id") &
                                                                                  Exp.EqColumns("fs.entry_type", "ftl.entry_type")))));

                    var tmpShareFileTags = DbManager.ExecuteList(
                        shareQuery().InnerJoin("files_file f",
                                               Exp.EqColumns("f.tenant_id", "ftl.tenant_id") &
                                               !Exp.Eq("f.create_by", subject) &
                                               Exp.EqColumns("f.id", "ftl.entry_id") &
                                               Exp.Eq("ftl.entry_type", (int)FileEntryType.File))
                        .Select(GetRootFolderType("folder_id")))
                                           .Where(r => ParseRootFolderType(r[7]) == FolderType.USER).ToList()
                                           .ConvertAll(ToTag);
                    tempTags = tempTags.Concat(tmpShareFileTags);


                    var tmpShareFolderTags = DbManager.ExecuteList(
                        shareQuery().InnerJoin("files_folder f",
                                               Exp.EqColumns("f.tenant_id", "ftl.tenant_id") &
                                               !Exp.Eq("f.create_by", subject) &
                                               Exp.EqColumns("f.id", "ftl.entry_id") &
                                               Exp.Eq("ftl.entry_type", (int)FileEntryType.Folder))
                        .Select(GetRootFolderType("parent_id")))
                                             .Where(r => ParseRootFolderType(r[7]) == FolderType.USER).ToList()
                                             .ConvertAll(ToTag);
                    tempTags = tempTags.Concat(tmpShareFolderTags);

                    var tmpShareSboxTags = DbManager.ExecuteList(
                        shareQuery()
                        .InnerJoin("files_thirdparty_id_mapping m",
                                   Exp.EqColumns("m.tenant_id", "ftl.tenant_id") &
                                   Exp.EqColumns("m.hash_id", "ftl.entry_id"))
                        .InnerJoin("files_thirdparty_account ac",
                                   Exp.EqColumns("ac.tenant_id", "m.tenant_id") &
                                   Exp.Sql("m.id Like concat('sbox-', ac.id, '%') or m.id Like concat('box-', ac.id, '%') or m.id Like concat('dropbox-', ac.id, '%') or m.id Like concat('spoint-', ac.id, '%') or m.id Like concat('drive-', ac.id, '%') or m.id Like concat('onedrive-', ac.id, '%')") &
                                   !Exp.Eq("ac.user_id", subject) &
                                   Exp.Eq("ac.folder_type", FolderType.USER)
                                   )
                        ).ConvertAll(ToTag);

                    tempTags = tempTags.Concat(tmpShareSboxTags);
                }
                else if (parentFolder.FolderType == FolderType.Projects)
                {
                    tempTags = tempTags.Concat(
                        DbManager.ExecuteList(getBaseSqlQuery()
                                              .InnerJoin("files_bunch_objects fbo",
                                                         Exp.EqColumns("fbo.tenant_id", "ftl.tenant_id") &
                                                         Exp.EqColumns("fbo.left_node", "ftl.entry_id") &
                                                         Exp.Eq("ftl.entry_type", (int)FileEntryType.Folder))
                                              .Where(Exp.Eq("fbo.tenant_id", TenantID) & Exp.Like("fbo.right_node", "projects/project/", SqlLike.StartWith)))
                        .ConvertAll(ToTag));
                }

                if (tempTags.Any())
                {
                    if (!deepSearch)
                    {
                        return(tempTags);
                    }

                    monitorFolderIds = monitorFolderIds.Concat(tempTags.Where(x => x.EntryType == FileEntryType.Folder).Select(x => x.EntryId));
                    result.AddRange(tempTags);
                }

                var subFoldersSqlQuery = new SqlQuery("files_folder_tree")
                                         .Select("folder_id")
                                         .Where(Exp.In("parent_id", monitorFolderIds.ToArray()));

                if (!deepSearch)
                {
                    subFoldersSqlQuery.Where(Exp.Eq("level", 1));
                }

                monitorFolderIds = monitorFolderIds.Concat(DbManager.ExecuteList(subFoldersSqlQuery).ConvertAll(x => x[0]));

                var newTagsForFolders = DbManager.ExecuteList(getBaseSqlQuery()
                                                              .Where(Exp.In("ftl.entry_id", monitorFolderIds.ToArray()) &
                                                                     Exp.Eq("ftl.entry_type", (int)FileEntryType.Folder)))
                                        .ConvertAll(ToTag);

                result.AddRange(newTagsForFolders);

                var newTagsForFiles = DbManager.ExecuteList(getBaseSqlQuery()
                                                            .InnerJoin("files_file ff",
                                                                       Exp.EqColumns("ftl.tenant_id", "ff.tenant_id") &
                                                                       Exp.EqColumns("ftl.entry_id", "ff.id"))
                                                            .Where(Exp.In("ff.folder_id", (deepSearch
                                                                                                   ? monitorFolderIds.ToArray()
                                                                                                   : new[] { parentFolder.ID })) &
                                                                   Exp.Eq("ftl.entry_type", (int)FileEntryType.File)))
                                      .ConvertAll(ToTag);

                result.AddRange(newTagsForFiles);

                if (parentFolder.FolderType == FolderType.USER || parentFolder.FolderType == FolderType.COMMON)
                {
                    var folderType = parentFolder.FolderType;

                    var querySelect = new SqlQuery("files_thirdparty_account")
                                      .Select("id")
                                      .Where("tenant_id", TenantID)
                                      .Where("folder_type", (int)folderType);

                    if (folderType == FolderType.USER)
                    {
                        querySelect = querySelect.Where(Exp.Eq("user_id", subject.ToString()));
                    }

                    var folderIds           = DbManager.ExecuteList(querySelect);
                    var thirdpartyFolderIds = folderIds.ConvertAll(r => "sbox-" + r[0])
                                              .Concat(folderIds.ConvertAll(r => "box-" + r[0]))
                                              .Concat(folderIds.ConvertAll(r => "dropbox-" + r[0]))
                                              .Concat(folderIds.ConvertAll(r => "spoint-" + r[0]))
                                              .Concat(folderIds.ConvertAll(r => "drive-" + r[0]))
                                              .Concat(folderIds.ConvertAll(r => "onedrive-" + r[0]));

                    var newTagsForSBox = DbManager.ExecuteList(getBaseSqlQuery()
                                                               .InnerJoin("files_thirdparty_id_mapping mp",
                                                                          Exp.EqColumns("mp.tenant_id", "ftl.tenant_id") &
                                                                          Exp.EqColumns("ftl.entry_id", "mp.hash_id"))
                                                               .Where(Exp.In("mp.id", thirdpartyFolderIds.ToList()) &
                                                                      Exp.Eq("ft.owner", subject) &
                                                                      Exp.Eq("ftl.entry_type", (int)FileEntryType.Folder)))
                                         .ConvertAll(ToTag);

                    result.AddRange(newTagsForSBox);
                }

                return(result);
            }
        }
Esempio n. 13
0
        public static void GetResWordByKey(ResWord word, string to)
        {
            using (var dbManager = new DbManager("tmresource"))
            {
                var sql = new SqlQuery("res_data")
                          .Select("textvalue", "description", "link")
                          .Where("fileID", word.ResFile.FileID)
                          .Where("cultureTitle", "Neutral")
                          .Where("title", word.Title);

                dbManager.ExecuteList(sql).ForEach(r => GetValue(word, to, r));

                GetValueByKey(word, to);

                sql = new SqlQuery("res_data as res1").Select("res1.textvalue").Distinct()
                      .InnerJoin("res_data as res2", Exp.EqColumns("res1.title", "res2.title") & Exp.EqColumns("res1.fileid", "res2.fileid"))
                      .Where("res1.cultureTitle", to)
                      .Where("res2.cultureTitle", "Neutral")
                      .Where("res2.textvalue", word.ValueFrom);

                word.Alternative = new List <string>();
                dbManager.ExecuteList(sql).ForEach(r => word.Alternative.Add((string)r[0]));
                word.Alternative.Remove(word.ValueTo);

                sql = new SqlQuery("res_files")
                      .Select("resname")
                      .Where("id", word.ResFile.FileID);

                word.ResFile.FileName = (string)dbManager.ExecuteScalar(sql);

                return;
            }
        }
Esempio n. 14
0
        public static List <StatisticUser> GetUserStatisticForModules(string login, DateTime from, DateTime till)
        {
            using (var dbManager = new DbManager("tmresource"))
            {
                var sql = new SqlQuery("res_data as r1");

                sql.SelectCount().Select(new[] { "concat_ws(':', res_files.projectName,res_files.moduleName)", "r1.authorLogin", "sum(length(r2.textvalue))" })
                .InnerJoin("res_data as r2", Exp.And(Exp.EqColumns("r1.fileID", "r2.fileID"), Exp.EqColumns("r1.title", "r2.title")))
                .InnerJoin("res_files", Exp.EqColumns("r1.fileid", "res_files.id"))
                .Where(!Exp.Eq("r1.flag", 4))
                .Where(!Exp.Eq("r1.flag", 3))
                .Where(!Exp.Eq("r1.authorLogin", "Console"))
                .Where(!Exp.Eq("r1.cultureTitle", "Neutral"))
                .Where(Exp.Ge("r1.timeChanges", from))
                .Where(Exp.Le("r1.timeChanges", till))
                .Where("r2.cultureTitle", "Neutral")
                .Where(Exp.Eq("r1.authorLogin", login))
                .GroupBy(new[] { "r1.fileid", "r1.authorLogin" })
                .OrderBy("r1.fileid", true)
                .OrderBy("r1.authorLogin", true);

                return(dbManager.ExecuteList(sql).Select(r => new StatisticUser {
                    WordsCount = Convert.ToInt32(r[0]), Module = (string)r[1], Login = (string)r[2], SignCount = Convert.ToInt32(r[3])
                }).ToList());
            }
        }
Esempio n. 15
0
        public IEnumerable <Tag> GetNewTags(Guid subject, params FileEntry[] fileEntries)
        {
            using (var DbManager = GetDb())
            {
                var result = new List <Tag>();

                if (fileEntries == null || !fileEntries.Any())
                {
                    return(result);
                }

                using (var tx = DbManager.BeginTransaction())
                {
                    var sqlQuery = Query("files_tag ft")
                                   .Select("ft.name",
                                           "ft.flag",
                                           "ft.owner",
                                           "ftl.entry_id",
                                           "ftl.entry_type",
                                           "ftl.tag_count",
                                           "ft.id")
                                   .Distinct()
                                   .InnerJoin("files_tag_link ftl",
                                              Exp.EqColumns("ft.tenant_id", "ftl.tenant_id") &
                                              Exp.EqColumns("ft.id", "ftl.tag_id"))
                                   .Where(Exp.Eq("ft.flag", (int)TagType.New));

                    if (subject != Guid.Empty)
                    {
                        sqlQuery.Where(Exp.Eq("ft.owner", subject));
                    }

                    const string sqlQueryStr =
                        @"
                                    CREATE  TEMPORARY TABLE IF NOT EXISTS `files_tag_temporary` (
                                    `tenant_id` INT(10) NOT NULL,
	                                `entry_id` VARCHAR(255) NOT NULL,
	                                `entry_type` INT(10) NOT NULL,
	                                PRIMARY KEY (`tenant_id`, `entry_id`, `entry_type`)
                                );";

                    DbManager.ExecuteNonQuery(sqlQueryStr);

                    while (fileEntries.Any())
                    {
                        var insertQuery = new SqlInsert("files_tag_temporary", true)
                                          .InColumns(new[] { GetTenantColumnName("files_tag_temporary"), "entry_id", "entry_type" });

                        foreach (var fileEntrie in fileEntries.Take(100))
                        {
                            if (fileEntrie != null)
                            {
                                insertQuery.Values(new[]
                                {
                                    TenantID,
                                    MappingID(fileEntrie.ID),
                                    (fileEntrie is File) ? (int)FileEntryType.File : (int)FileEntryType.Folder
                                });
                            }
                        }

                        DbManager.ExecuteNonQuery(insertQuery);

                        fileEntries = fileEntries.Skip(100).ToArray();
                    }


                    var resultSql = sqlQuery
                                    .InnerJoin("files_tag_temporary ftt", Exp.EqColumns("ftl.tenant_id", "ftt.tenant_id") &
                                               Exp.EqColumns("ftl.entry_id", "ftt.entry_id") &
                                               Exp.EqColumns("ftl.entry_type", "ftt.entry_type"));

                    result = DbManager.ExecuteList(resultSql).ConvertAll(ToTag).Where(x => x.EntryId != null).ToList();

                    DbManager.ExecuteNonQuery(Delete("files_tag_temporary"));

                    tx.Commit();
                }

                return(result);
            }
        }
Esempio n. 16
0
 //trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME
 public Exp trailer(Exp core)
 {
     Token tok;
     switch (lexer.Peek().Type)
     {
     case TokenType.LPAREN:
         tok = lexer.Get();
         var args = arglist(core, tok.Start);
         Expect(TokenType.RPAREN);
         return args;
     case TokenType.LBRACKET:
         lexer.Get();
         var subs = subscriptlist();
         tok = Expect(TokenType.RBRACKET);
         return new ArrayRef(core, subs, filename, core.Start, tok.End);
     case TokenType.DOT:
         lexer.Get();
         tok = Expect(TokenType.ID);
         var id = new Identifier((string) tok.Value, filename, core.Start, tok.End);
         return new AttributeAccess(core, id, filename, core.Start, tok.End);
     default: throw new InvalidOperationException();
     }
 }
Esempio n. 17
0
        public List <Project> GetByFilter(TaskFilter filter, bool isAdmin)
        {
            var query = new SqlQuery(ProjectsTable + " p")
                        .Select(ProjectColumns.Select(c => "p." + c).ToArray())
                        .Select(new SqlQuery(MilestonesTable + " m").SelectCount().Where(Exp.EqColumns("m.tenant_id", "p.tenant_id") & Exp.EqColumns("m.project_id", "p.id")).Where(Exp.Eq("m.status", MilestoneStatus.Open)))
                        .Select(new SqlQuery(TasksTable + " t").SelectCount().Where(Exp.EqColumns("t.tenant_id", "p.tenant_id") & Exp.EqColumns("t.project_id", "p.id")).Where(!Exp.Eq("t.status", TaskStatus.Closed)))
                        .Select(new SqlQuery(ParticipantTable + " pp").SelectCount().Where(Exp.EqColumns("pp.tenant", "p.tenant_id") & Exp.EqColumns("pp.project_id", "p.id") & Exp.Eq("pp.removed", false)))
                        .Select("p.private")
                        .Where("p.tenant_id", Tenant);

            if (filter.Max > 0 && filter.Max < 150000)
            {
                query.SetFirstResult((int)filter.Offset);
                query.SetMaxResults((int)filter.Max * 2);
            }

            query.OrderBy("(case p.status when 2 then 1 when 1 then 2 else 0 end)", true);

            if (!string.IsNullOrEmpty(filter.SortBy))
            {
                var sortColumns = filter.SortColumns["Project"];
                sortColumns.Remove(filter.SortBy);

                query.OrderBy("p." + filter.SortBy, filter.SortOrder);

                foreach (var sort in sortColumns.Keys)
                {
                    query.OrderBy("p." + sort, sortColumns[sort]);
                }
            }

            query = CreateQueryFilter(query, filter, isAdmin);

            using (var db = new DbManager(DatabaseId))
            {
                return(db.ExecuteList(query).ConvertAll(ToProjectFull).ToList());
            }
        }
Esempio n. 18
0
        public List <Project> GetByParticipiant(Guid participantId, ProjectStatus status)
        {
            var query = Query(ProjectsTable)
                        .Select(ProjectColumns)
                        .InnerJoin(ParticipantTable, Exp.EqColumns("id", "project_id") & Exp.Eq("removed", false) & Exp.EqColumns("tenant_id", "tenant"))
                        .Where("status", status)
                        .Where("participant_id", participantId.ToString())
                        .OrderBy("title", true);

            using (var db = new DbManager(DatabaseId))
            {
                return(db.ExecuteList(query).ConvertAll(ToProject).ToList());
            }
        }
Esempio n. 19
0
        public List <Project> GetOpenProjectsWithTasks(Guid participantId)
        {
            var query = new SqlQuery(ProjectsTable + " p")
                        .Select(ProjectColumns.Select(c => "p." + c).ToArray())
                        .InnerJoin(TasksTable + " t", Exp.EqColumns("t.tenant_id", "p.tenant_id") & Exp.EqColumns("t.project_id", "p.id"))
                        .Where("p.tenant_id", Tenant)
                        .Where("p.status", ProjectStatus.Open)
                        .OrderBy("p.title", true)
                        .GroupBy("p.id");

            if (!participantId.Equals(Guid.Empty))
            {
                query.InnerJoin(ParticipantTable + " ppp", Exp.EqColumns("ppp.tenant", "p.tenant_id") & Exp.EqColumns("ppp.project_id", "p.id") & Exp.Eq("ppp.removed", false))
                .Where("ppp.participant_id", participantId);
            }
            using (var db = new DbManager(DatabaseId))
            {
                return(db.ExecuteList(query).ConvertAll(ToProject).ToList());
            }
        }
Esempio n. 20
0
        public static void DeleteInvCheckOrder(ISession _session, string InvCheckNumber)
        {
            if (_session.CreateEntityQuery <INVCheckHead>().Where(Exp.Eq("OrderNumber", InvCheckNumber)).And(Exp.Eq("Status", 1)).List <INVCheckHead>().Count == 0)
            {
                throw new Exception("库存盘点单不存在或已经确认!");
            }

            _session.CreateEntityQuery <INVCheckHead>().Where(Exp.Eq("OrderNumber", InvCheckNumber)).Delete();
            _session.CreateEntityQuery <INVCheckLine>().Where(Exp.Eq("OrderNumber", InvCheckNumber)).Delete();
            _session.CreateEntityQuery <INVCheckWh>().Where(Exp.Eq("OrderNumber", InvCheckNumber)).Delete();
        }
Esempio n. 21
0
 void ReplaceCurrent(Exp exp, Env env = null)
 {
     current.ready = false;
     current.exp   = exp.Clone();
     current.env   = env ?? current.env;
 }
Esempio n. 22
0
 bool IsValue(Exp exp)
 {
     return(exp is Identifier || !(exp is Cell) || !(exp as Cell).IsList);
 }
Esempio n. 23
0
 bool IsPurePair(Exp exp)
 {
     return(exp is Cell && !(exp as Cell).IsList);
 }
Esempio n. 24
0
 public KeywordArgument(Exp t, string filename, int start, int end)
     : base(t, filename, start, end)
 {
 }
Esempio n. 25
0
 private void GenerateAssert(Exp test)
 {
     gen.SideEffect(
         gen.Appl(
             new CodeMethodReferenceExpression(
                 new CodeTypeReferenceExpression("Debug"),
                 "Assert"),
             test.Accept(xlat)));
     gen.EnsureImport("System.Diagnostics");
 }
Esempio n. 26
0
        private SqlQuery CreateQueryFilter(SqlQuery query, TaskFilter filter, bool isAdmin)
        {
            if (filter.TagId != 0)
            {
                query.InnerJoin(ProjectTagTable + " ptag", Exp.EqColumns("ptag.project_id", "p.id"));
                query.Where("ptag.tag_id", filter.TagId);
            }

            if (filter.HasUserId || (filter.ParticipantId.HasValue && filter.ParticipantId != Guid.Empty))
            {
                var existParticipant = new SqlQuery(ParticipantTable + " ppp").Select("ppp.participant_id").Where(Exp.EqColumns("p.id", "ppp.project_id") & Exp.Eq("ppp.removed", false) & Exp.Eq("ppp.tenant", Tenant));

                if (filter.DepartmentId != Guid.Empty)
                {
                    existParticipant.InnerJoin("core_usergroup cug", Exp.Eq("cug.removed", false) & Exp.EqColumns("cug.userid", "ppp.participant_id") & Exp.EqColumns("cug.tenant", "ppp.tenant"));
                    existParticipant.Where("cug.groupid", filter.DepartmentId);
                }

                if (filter.ParticipantId.HasValue && filter.ParticipantId != Guid.Empty)
                {
                    existParticipant.Where(Exp.Eq("ppp.participant_id", filter.ParticipantId.ToString()));
                }

                query.Where(Exp.Exists(existParticipant));
            }

            if (filter.UserId != Guid.Empty)
            {
                query.Where("responsible_id", filter.UserId);
            }

            if (filter.Follow)
            {
                query.InnerJoin(FollowingProjectTable + " pfpp", Exp.EqColumns("p.id", "pfpp.project_id"));
                query.Where(Exp.Eq("pfpp.participant_id", CurrentUserID));
            }

            if (filter.ProjectStatuses.Count != 0)
            {
                query.Where(Exp.Eq("p.status", filter.ProjectStatuses.First()));
            }

            if (!string.IsNullOrEmpty(filter.SearchText))
            {
                query.Where(Exp.Like("p.title", filter.SearchText, SqlLike.AnyWhere));
            }

            query.GroupBy("p.id");

            if (!isAdmin)
            {
                var isInTeam = new SqlQuery(ParticipantTable).Select("security").Where(Exp.EqColumns("p.id", "project_id") & Exp.Eq("removed", false) & Exp.Eq("participant_id", CurrentUserID));
                query.Where(Exp.Eq("p.private", false) | Exp.Eq("p.responsible_id", CurrentUserID) | (Exp.Eq("p.private", true) & Exp.Exists(isInTeam)));
            }

            return(query);
        }
Esempio n. 27
0
 public WhileStmt(Exp e, IStmt stmt)
 {
     this.exp = e;
     this.stmt = stmt;
 }
Esempio n. 28
0
        public Project GetFullProjectById(int projectId)
        {
            var query = new SqlQuery(ProjectsTable + " p")
                        .Select(ProjectColumns.Select(c => "p." + c).ToArray())
                        .Select(new SqlQuery("projects_milestones m").SelectCount().Where(Exp.EqColumns("m.project_id", "p.id")).Where(Exp.Eq("m.status", MilestoneStatus.Open)))
                        .Select(new SqlQuery("projects_tasks t").SelectCount().Where(Exp.EqColumns("t.project_id", "p.id")).Where(!Exp.Eq("t.status", TaskStatus.Closed)))
                        .Select(new SqlQuery("projects_project_participant pp").SelectCount().Where(Exp.EqColumns("pp.project_id", "p.id") & Exp.Eq("pp.removed", false)))
                        .Where("p.id", projectId)
                        .Where("p.tenant_id", Tenant);

            using (var db = new DbManager(DatabaseId))
            {
                return(db.ExecuteList(query).ConvertAll(ToProjectFull).SingleOrDefault());
            }
        }
Esempio n. 29
0
 public IfStmt(Exp e, IStmt t, IStmt el)
 {
     exp = e;
     thenS = t;
     elseS = el;
 }
Esempio n. 30
0
 public LogicExp(Exp e1, String cmp)
 {
     this.e1 = e1;
     this.e2 = new ConstExp(0);
     this.cmp = cmp;
 }
Esempio n. 31
0
	public void OnClick(){

		busyoName = GameObject.Find ("GameScene").GetComponent<NowOnBusyo>().OnBusyoName;
		busyoId = GameObject.Find ("GameScene").GetComponent<NowOnBusyo>().OnBusyo;

		commonPopup ();

		if(buttonName == "kanjyo"){
			GameObject.Find ("popText").GetComponent<Text> ().text ="感状授与";

			//Busyo View
			string path = "Prefabs/Player/Unit/" + busyoId;
			GameObject Busyo = Instantiate (Resources.Load (path)) as GameObject;			
			Busyo.transform.SetParent (GameObject.Find ("board(Clone)").transform);
			Busyo.transform.localScale = new Vector2 (3, 3);
			Busyo.GetComponent<DragHandler>().enabled = false;
			RectTransform busyo_transform = Busyo.GetComponent<RectTransform>();
			busyo_transform.anchoredPosition = new Vector3(300,350,0);
			busyo_transform.sizeDelta = new Vector2( 100, 100);

			//Text Modification
			GameObject text = Busyo.transform.FindChild ("Text").gameObject;
			text.GetComponent<Text> ().color = new Color(255,255,255,255);
			RectTransform text_transform = text.GetComponent<RectTransform>();
			text_transform.anchoredPosition = new Vector3 (-70,30,0);
			text_transform.sizeDelta = new Vector2( 630, 120);
			text.transform.localScale = new Vector2 (0.2f,0.2f);

			//Rank Text Modification
			GameObject rank = Busyo.transform.FindChild ("Rank").gameObject;
			RectTransform rank_transform = rank.GetComponent<RectTransform>();
			rank_transform.anchoredPosition = new Vector3 (20,-50,0);
			rank_transform.sizeDelta = new Vector2( 200, 200);
			rank.GetComponent<Text>().fontSize = 200;

			//Common for Kanjyo
			string kanjyoPath = "Prefabs/Busyo/Kanjyo";
			GameObject kanjyo = Instantiate (Resources.Load (kanjyoPath)) as GameObject;
			kanjyo.transform.SetParent (GameObject.Find ("board(Clone)").transform);
			kanjyo.transform.localScale = new Vector2 (1, 1);
			RectTransform kanjyo_transform = kanjyo.GetComponent<RectTransform>();
			kanjyo_transform.anchoredPosition = new Vector3(0,0,0);

			//Busyo Lv 
			GameObject.Find ("PopLvValue").GetComponent<Text>().text = pa_lv.ToString();
			
			//Exp Status Bar
			Exp exp = new Exp();


			GameObject expSlider = GameObject.Find ("ExpSlider");
			int nextExp =exp.getDifExpforNextLv(pa_lv);
			string tempExp = "exp" + busyoId;
			int nowExp = PlayerPrefs.GetInt(tempExp);
			int startExp = nowExp - exp.getExpforNextLv(pa_lv-1);


			expSlider.GetComponent<Slider>().value = startExp;
			expSlider.GetComponent<Slider>().maxValue = nextExp;

			GameObject.Find ("CurrentExpValue").GetComponent<Text>().text = startExp.ToString();
			GameObject.Find ("NextLvExpValue").GetComponent<Text>().text = nextExp.ToString();


			Item item =new Item();

			//Low kanjyo fields
			string kanjyoItemPath = "Prefabs/Item/Kanjyo/Kanjyo";
			GameObject lowKanjyoItem = Instantiate (Resources.Load (kanjyoItemPath)) as GameObject;
			lowKanjyoItem.transform.SetParent(GameObject.Find ("KakyuKanjyo").transform);
			lowKanjyoItem.transform.localScale = new Vector2 (0.8f, 0.8f);
			RectTransform lowKanjyoTransform = lowKanjyoItem.GetComponent<RectTransform> ();
			lowKanjyoTransform.anchoredPosition = new Vector3 (-210, 125, 0);
			lowKanjyoTransform.sizeDelta = new Vector2 (100, 100);
			RectTransform lowKanjyoRank = lowKanjyoItem.transform.FindChild("KanjyoRank").GetComponent<RectTransform>();
			lowKanjyoRank.anchoredPosition = new Vector3(-30,30,0);
			RectTransform lowKanjyoRect = lowKanjyoItem.transform.FindChild("Kanjyo").GetComponent<RectTransform>();
			lowKanjyoRect.sizeDelta = new Vector2 (100, 100);
			Color lowColor = new Color (86f / 255f, 87f / 255f, 255f / 255f, 255f / 255f);
			lowKanjyoItem.GetComponent<Image>().color = lowColor;
			lowKanjyoItem.transform.FindChild("KanjyoRank").GetComponent<Text>().text = "下";
			lowKanjyoItem.name = "Kanjyo1";

			//Item Effect
			int effectForLow =item.getEffect(lowKanjyoItem.name);
			GameObject.Find ("KakyuKanjyoExpValue").GetComponent<Text>().text = effectForLow.ToString();

			//Middle kanjyo fields
			GameObject midKanjyoItem = Instantiate (Resources.Load (kanjyoItemPath)) as GameObject;
			midKanjyoItem.transform.SetParent(GameObject.Find ("CyukyuKanjyo").transform);
			midKanjyoItem.transform.localScale = new Vector2 (0.8f, 0.8f);
			RectTransform midKanjyoTransform = midKanjyoItem.GetComponent<RectTransform> ();
			midKanjyoTransform.anchoredPosition = new Vector3 (-210, 125, 0);
			midKanjyoTransform.sizeDelta = new Vector2 (100, 100);
			RectTransform midKanjyoRank = midKanjyoItem.transform.FindChild("KanjyoRank").GetComponent<RectTransform>();
			midKanjyoRank.anchoredPosition = new Vector3(-30,30,0);
			RectTransform midKanjyoRect = midKanjyoItem.transform.FindChild("Kanjyo").GetComponent<RectTransform>();
			midKanjyoRect.sizeDelta = new Vector2 (100, 100);
			Color midColor = new Color (236f / 255f, 93f / 255f, 93f / 255f, 255f / 255f);
			midKanjyoItem.GetComponent<Image>().color = midColor;
			midKanjyoItem.transform.FindChild("KanjyoRank").GetComponent<Text>().text = "中";
			midKanjyoItem.name = "Kanjyo2";

			//Item Effect
			int effectForMid =item.getEffect(midKanjyoItem.name);
			GameObject.Find ("CyukyuKanjyoExpValue").GetComponent<Text>().text = effectForMid.ToString();


			//Hight kanjyo fields
			GameObject highKanjyoItem = Instantiate (Resources.Load (kanjyoItemPath)) as GameObject;
			highKanjyoItem.transform.SetParent(GameObject.Find ("JyokyuKanjyo").transform);
			highKanjyoItem.transform.localScale = new Vector2 (0.8f, 0.8f);
			RectTransform hightKanjyoTransform = highKanjyoItem.GetComponent<RectTransform> ();
			hightKanjyoTransform.anchoredPosition = new Vector3 (-210, 125, 0);
			hightKanjyoTransform.sizeDelta = new Vector2 (100, 100);
			RectTransform highKanjyoRank = highKanjyoItem.transform.FindChild("KanjyoRank").GetComponent<RectTransform>();
			highKanjyoRank.anchoredPosition = new Vector3(-30,30,0);
			RectTransform highKanjyoRect = highKanjyoItem.transform.FindChild("Kanjyo").GetComponent<RectTransform>();
			highKanjyoRect.sizeDelta = new Vector2 (100, 100);
			Color hightColor = new Color (207f / 255f, 232f / 255f, 95f / 255f, 255f / 255f);
			highKanjyoItem.GetComponent<Image>().color = hightColor;
			highKanjyoItem.transform.FindChild("KanjyoRank").GetComponent<Text>().text = "上";
			highKanjyoItem.name = "Kanjyo3";

			//Item Effect
			int effectForHight =item.getEffect(highKanjyoItem.name);
			GameObject.Find ("JyokyuKanjyoExpValue").GetComponent<Text>().text = effectForHight.ToString();

			//Posessing QTY
			string kanjyoQtyString = PlayerPrefs.GetString ("kanjyo");
			char[] delimiterChars = {','};
			string[] kanjyoList = kanjyoQtyString.Split (delimiterChars);
			GameObject.Find ("KakyuKanjyoQtyValue").GetComponent<Text>().text = kanjyoList[0];
			GameObject.Find ("CyukyuKanjyoQtyValue").GetComponent<Text>().text = kanjyoList[1];
			GameObject.Find ("JyokyuKanjyoQtyValue").GetComponent<Text>().text = kanjyoList[2];

			//Setting Value on Button
			GameObject.Find ("DoKakyuKanjyo").GetComponent<DoKanjyo>().kanjyoList = kanjyoList;
			GameObject.Find ("DoCyukyuKanjyo").GetComponent<DoKanjyo>().kanjyoList = kanjyoList;
			GameObject.Find ("DoJyokyuKanjyo").GetComponent<DoKanjyo>().kanjyoList = kanjyoList;


		}else if(buttonName == "cyouhei"){
			cyouheiView(ch_type);

		}else if(buttonName == "kunren"){
			GameObject.Find ("popText").GetComponent<Text> ().text ="兵卒訓練";

			string chigyouPath = "Prefabs/Busyo/Kunren";
			GameObject chigyo = Instantiate (Resources.Load (chigyouPath)) as GameObject;
			chigyo.transform.SetParent(GameObject.Find ("board(Clone)").transform);
			chigyo.transform.localScale = new Vector2 (1, 1);
			RectTransform chigyoTransform = chigyo.GetComponent<RectTransform> ();
			chigyoTransform.anchoredPosition = new Vector3 (0, 0, 0);
			chigyo.name = "Kunren";

			//Butai Name
			GameObject.Find ("PopTextButaiName").GetComponent<Text>().text = busyoName + " " + ch_heisyu;
			string chPath = "Prefabs/Player/Unit/" + ch_type;
			GameObject chObj = Instantiate (Resources.Load (chPath)) as GameObject;
			chObj.transform.SetParent(GameObject.Find ("Kunren").transform);
			chObj.transform.localScale = new Vector2 (8, 8);
			
			RectTransform chTransform = chObj.GetComponent<RectTransform> ();
			chTransform.anchoredPosition = new Vector3 (-260, 0, 0);

			//Butai Level
			GameObject.Find ("LvFrom").GetComponent<Text>().text = ch_lv.ToString();
			GameObject.Find ("LvTo").GetComponent<Text>().text = (ch_lv + 1).ToString();

			//Butai Status
			GameObject.Find ("PopHpValue").GetComponent<Text>().text = ch_hp.ToString();
			GameObject.Find ("PopAtkValue").GetComponent<Text>().text = ch_status.ToString();
			GameObject.Find ("PopDfcValue").GetComponent<Text>().text = ch_status.ToString();
			GameObject.Find ("PopButaiNoValue").GetComponent<Text>().text = ch_num.ToString();

			/* Slider Setting*/
			//Required Money
			Entity_ch_exp_mst kunrenMst = Resources.Load ("Data/ch_exp_mst") as Entity_ch_exp_mst;

			int MaxLv = 100; //Max - 1
			int myMoney = PlayerPrefs.GetInt ("money");
			int totalMoney=0;
			List<int> requredMoneyByLv = new List<int>();

			//Slider Initial Setting
			Slider lvSlider = GameObject.Find ("KunrenSlider").GetComponent<Slider>(); 
			lvSlider.minValue = ch_lv + 1;
			lvSlider.value = ch_lv + 1;
			lvSlider.GetComponent<LvSlider>().toLv = GameObject.Find ("LvTo");
			lvSlider.GetComponent<LvSlider>().hp = GameObject.Find ("PopHpValueUp");
			lvSlider.GetComponent<LvSlider>().atk = GameObject.Find ("PopAtkValueUp");
			lvSlider.GetComponent<LvSlider>().dfc = GameObject.Find ("PopDfcValueUp");
			lvSlider.GetComponent<LvSlider>().requiredMoney = GameObject.Find ("RequiredMoneyValue");


			int limitLv=0; 

			//Lv100 Check
			int totalMoneyMax = kunrenMst.param[99].totalMoney;
			if(myMoney >= totalMoneyMax){
				lvSlider.maxValue = 100;
				limitLv = 100;
			}else{
				//Check Limitation of Lv up & Money
				for(int k=ch_lv; k<MaxLv; k++ ){
					int requiredMoney = kunrenMst.param[k].requiredMoney;
					totalMoney = totalMoney + requiredMoney;
					
					if(myMoney < totalMoney){
						//Limitation of Lv up
						//Setup Slider Limitation
						lvSlider.maxValue = k;
						limitLv=k;
						break;
					}
				}
			}

			//Money List
			for(int j=0; j<100;j++ ){
				int totalRequiredMoney = kunrenMst.param[j].totalMoney;
				requredMoneyByLv.Add(totalRequiredMoney);
			}



			//Can Lvup
			if(limitLv!=ch_lv){

				//ChildStatusGet
				List<int> statusByLv = new List<int>();
				Entity_lvch_mst lvMst  = Resources.Load ("Data/lvch_mst") as Entity_lvch_mst;
				int startline = 0;
				if(ch_type=="KB"){
					startline = 0;
				}else if(ch_type=="YR"){
					startline = 1;
				}else if(ch_type=="TP"){
					startline = 2;
				}else if(ch_type=="YM"){
					startline = 3;
				}

				object stslst = lvMst.param[startline];
				Type t = stslst.GetType();

				//for(int i=ch_lv+1; i<limitLv+1;i++){
				for(int i=1; i<limitLv+1;i++){
					String param = "lv" + i;
					FieldInfo f = t.GetField(param);
					int sts = (int)f.GetValue(stslst);
					sts = sts + pa_hp / 2;
					statusByLv.Add(sts);
				}


				lvSlider.GetComponent<LvSlider>().moneyList = requredMoneyByLv;
				lvSlider.GetComponent<LvSlider>().statusList = statusByLv;
				lvSlider.GetComponent<LvSlider>().pa_hp = pa_hp;

				//Initial Setting
				GameObject.Find ("RequiredMoneyValue").GetComponent<Text>().text = requredMoneyByLv[ch_lv].ToString();
				GameObject.Find ("PopHpValueUp").GetComponent<Text>().text = ((statusByLv[ch_lv] - pa_hp/2)*10).ToString();
				GameObject.Find ("PopAtkValueUp").GetComponent<Text>().text = statusByLv[ch_lv].ToString();
				GameObject.Find ("PopDfcValueUp").GetComponent<Text>().text = statusByLv[ch_lv].ToString();
			
			}else{

				//Cannot Level up Case

				//disable slider
				lvSlider.value = ch_lv;
				GameObject.Find ("KunrenSlider").GetComponent<Slider>().enabled = false;

				//Money
				Color shortageColor = new Color (203f / 255f, 0f / 255f, 0f / 255f, 255f / 255f);
				Color greyColor = new Color (0f / 255f, 0f / 255f, 0f / 255f, 121f / 255f);
				GameObject rMoney = GameObject.Find ("RequiredMoneyValue");
				rMoney.GetComponent<Text>().text = totalMoney.ToString();
				rMoney.GetComponent<Text>().color = shortageColor;

				//Lv
				GameObject.Find ("LvTo").GetComponent<Text>().color = greyColor;

				//Next Lv Statu
				Entity_lvch_mst lvMst  = Resources.Load ("Data/lvch_mst") as Entity_lvch_mst;
				int startline = 0;
				if(ch_type=="KB"){
					startline = 0;
				}else if(ch_type=="YR"){
					startline = 1;
				}else if(ch_type=="TP"){
					startline = 2;
				}else if(ch_type=="YM"){
					startline = 3;
				}
				object stslst = lvMst.param[startline];
				Type t = stslst.GetType();

				int nextLv = ch_lv + 1;
				String param = "lv" + nextLv.ToString();
				FieldInfo f = t.GetField(param);
				int sts = (int)f.GetValue(stslst);
				sts = sts + pa_hp / 2;

				GameObject hp = GameObject.Find ("PopHpValueUp");
				GameObject atk = GameObject.Find ("PopAtkValueUp");
				GameObject dfc = GameObject.Find ("PopDfcValueUp");
				hp.GetComponent<Text>().text = ((sts - pa_hp/2)*10).ToString();
				hp.GetComponent<Text>().color = greyColor;
				atk.GetComponent<Text>().text = sts.ToString();
				atk.GetComponent<Text>().color = greyColor;
				dfc.GetComponent<Text>().text = sts.ToString();
				dfc.GetComponent<Text>().color = greyColor;
				GameObject.Find ("GiveKunren").GetComponent<DoKunren>().moneyOK = false;

			}
		}

	}
Esempio n. 32
0
 public virtual void VisitExp(Exp n)
 {
 }
Esempio n. 33
0
        public static List <StatisticUser> GetUserStatisticForLang(DateTime from, DateTime till)
        {
            using (var dbManager = new DbManager("tmresource"))
            {
                var sql = new SqlQuery("res_data as r1");

                sql.SelectCount().Select(new[] { "res_cultures.title", "r1.authorLogin", "sum(length(r2.textvalue))" })
                .InnerJoin("res_data as r2", Exp.And(Exp.EqColumns("r1.fileID", "r2.fileID"), Exp.EqColumns("r1.title", "r2.title")))
                .InnerJoin("res_cultures", Exp.EqColumns("r1.cultureTitle", "res_cultures.title"))
                .Where(!Exp.Eq("r1.flag", 4))
                .Where(!Exp.Eq("r1.flag", 3))
                .Where(!Exp.Eq("r1.authorLogin", "Console"))
                .Where(!Exp.Eq("r1.cultureTitle", "Neutral"))
                .Where(Exp.Ge("r1.timeChanges", from))
                .Where(Exp.Le("r1.timeChanges", till))
                .Where("r2.cultureTitle", "Neutral")
                .GroupBy(new[] { "title", "authorLogin" })
                .OrderBy("title", true)
                .OrderBy("authorLogin", true);

                return(dbManager.ExecuteList(sql).ConvertAll(r => GetUserStatisticFromDB(r)));
            }
        }
Esempio n. 34
0
    Exp MatchExp()
    {
	AlphaToken at;
	Object o1;
	
	switch(((Token)tokens.Peek()).Type){
	case TokenType.NIL:
	    tokens.Dequeue();
	    return new StringExp(String.Empty);          //NIL is represented as an empty string
	case TokenType.NUMBER:
	    return new IntExp(((NumberToken)tokens.Dequeue()).Value);
	case TokenType.STRING:
	    return new StringExp(((StringToken)tokens.Dequeue()).Value);

	case TokenType.ALPHA:
	    at = (AlphaToken)tokens.Dequeue();
	    
	    if (DoVars != null && DoVars.Count != 0){
		o1 = DoVars[at.Name];
		if (o1 != null){
		    return new DoVarExp(at.Name, (int)o1);
		}
	    }
	    
	    if (CurrentVarScope != null && CurrentVarScope.Count != 0){
		o1 = CurrentVarScope[at.Name];
		if (o1 != null){
		    return new VarExp(at.Name, (int)o1);
		}
	    }
	    o1 = GlobalVars[at.Name];
	    
	    if(o1 != null){
		return new GlobalVarExp(at.Name);
	    }
	    Console.WriteLine("Error 6: Undefined Symbol " + at.Name);
	    return null;

	    
	case TokenType.LPAREN:
	    MatchToken(TokenType.LPAREN);
	    Exp e1, e2, e3;
	    Exp [] ea;
	    //ListExp el1, el2, el3;
	    Token o;
	

	    switch(((Token)tokens.Peek()).Type){
	    case TokenType.PLUS:
	    case TokenType.MINUS:
	    case TokenType.MUL:
	    case TokenType.DIVIDE:
		o = (Token)tokens.Dequeue();
		e1 = MatchExp();
		e2 = MatchExp();
		MatchToken(TokenType.RPAREN);
		return new BinopExp(e1, o ,e2);

	    case TokenType.LT:
	    case TokenType.GT:
	    case TokenType.EQ:
	    case TokenType.LE:
	    case TokenType.GE:
		o = (Token)tokens.Dequeue();
		e1 = MatchExp();
		e2 = MatchExp();
		MatchToken(TokenType.RPAREN);
		return new CompareExp(e1, o ,e2);
		
	    case TokenType.CDR:
		tokens.Dequeue();
		e1 = MatchExp();
		MatchToken(TokenType.RPAREN);
		ea = new Exp[1];

		ea[0] = e1;
		return new CallExp("LispRuntime", "Cdr", ea, typeof(CList));
	    
	    case TokenType.CAR:
		tokens.Dequeue();	    
		e1 = MatchExp();
		MatchToken(TokenType.RPAREN);
		return new CarExp(e1);
	
	    case TokenType.CONS:
		tokens.Dequeue();
		e1 = MatchExp();
		e2 = MatchExp();
		MatchToken(TokenType.RPAREN);
		ea = new Exp[2];
		ea[0] = e1;
		ea[1] = e2;
		return new CallExp("LispRuntime", "Cons", ea, typeof(CList));
	    
	    case TokenType.SUBST:
		tokens.Dequeue();
		e1 = MatchExp();
		e2 = MatchExp();
		e3 = MatchExp();
		MatchToken(TokenType.RPAREN);
		ea = new Exp[3];
		ea[0] = e1;
		ea[1] = e2;
		ea[2] = e3;
		return new CallExp("LispRuntime", "Subst", ea, typeof(CList));
		
	    case TokenType.NULL:
		tokens.Dequeue();
		e1 = MatchExp();
		MatchToken(TokenType.RPAREN);
		ea = new Exp[1];
		ea[0] = e1;
		return new CallExp("LispRuntime", "IsNull", ea, typeof(bool));
		
	    case TokenType.ATOM:
		tokens.Dequeue();
		e1 = MatchExp();
		MatchToken(TokenType.RPAREN);
		ea = new Exp[1];
		ea[0] = e1;
		return new CallExp("LispRuntime", "IsAtom", ea, typeof(bool));
		
	    case TokenType.IF:
		tokens.Dequeue();
		e1 = MatchExp();
		e2 = MatchExp();
		e3 = MatchExp();
		MatchToken(TokenType.RPAREN);
		return new IfExp(e1, e2, e3);

	    case TokenType.DO:
		tokens.Dequeue();
		MatchToken(TokenType.LPAREN);
		ExpList el1, el2;
		if (CurrentVarScope == null){
		    Console.WriteLine("Error 13: Do must be present in a Function");
		    success = false;
		    return null;
		}
		
		el1 = MatchDoExpList();
		MatchToken(TokenType.RPAREN);
		//MatchToken(TokenType.LPAREN);
		el2 = MatchDoCondList();
		MatchToken(TokenType.RPAREN);
		return new DoExp(el1, el2);
				
			    
	    case TokenType.SETQ:
		tokens.Dequeue();
		AlphaToken t1 = (AlphaToken)MatchToken(TokenType.ALPHA);
		if(((Token)tokens.Peek()).Type == TokenType.NUMBER){
		    e1 = new IntExp(((NumberToken)tokens.Dequeue()).Value);
		}
		else
		    e1 = MatchExp();
		GlobalVars.Add(t1.Name, typeof(int));
		MatchToken(TokenType.RPAREN);
		return new GlobalVarDef(t1.Name, e1);
	    
	    case TokenType.DEFUN:
		ArrayList param = new ArrayList();
		int count = 0;
		if (CurrentVarScope != null){
		    Console.WriteLine("Error 12: Nested Functions Not Allowed");
		    success = false;
		    return null;
		}
		CurrentVarScope = new Hashtable();
		DoVars = new Hashtable();
		DoVarsCount = 0;
		
		tokens.Dequeue();
		AlphaToken t = (AlphaToken)MatchToken(TokenType.ALPHA);
	    
		MatchToken(TokenType.LPAREN);
	    
		while(((Token)tokens.Peek()).Type == TokenType.ALPHA){
		    param.Add(((AlphaToken)tokens.Dequeue()).Name);
		    CurrentVarScope.Add(param[count], count++);
		}
		MatchToken(TokenType.RPAREN);
		//CurrentVarScope = param;
		Functions.Add(t.Name, count);
	    
		e1 = MatchExp();
		CurrentVarScope = null;
		MatchToken(TokenType.RPAREN);
		return new FunctionDef(t.Name, param, e1);
	    
	    case TokenType.ALPHA:
		at = (AlphaToken)tokens.Dequeue();
		int iparams;
	    
		if( Functions == null || Functions.Count == 0){
		    Console.WriteLine("Error 6: Undefined Symbol " + at.Name);
		    return null;
		}
		else {
		
		    o1 = Functions[at.Name];
		    if (o1 == null){
			Console.WriteLine("Error 6: Undefined Symbol " + at.Name);
			return null;
		    }
		    else {
			iparams = (int)o1;
		    }
		}
		Exp [] eparams = new Exp[iparams];
	    
		for (int i = 0; i < iparams; i++){
		    eparams[i] = MatchExp();
		}

		MatchToken(TokenType.RPAREN);
		return new CallExp(null, at.Name, eparams);
	    
	    default:
		o = null;
		Console.WriteLine("Error 1");
		success = false;
		return null;
	    }
	default:
	    Console.WriteLine("Error 7: Unexpected Token");
	    tokens.Dequeue();
	    success = false;
	    return null;
	    
	}
	
    }
Esempio n. 35
0
        public static IEnumerable <ResWord> GetListResWords(ResCurrent current, string search)
        {
            using (var dbManager = new DbManager("tmresource"))
            {
                var sql = new SqlQuery("res_data rd1")
                          .Select("rd1.title", "rd1.fileid", "rd1.textValue", "rd1.description", "rd1.flag", "rd1.link", "rd2.id", "rd2.flag")
                          .LeftOuterJoin("res_data rd2", Exp.EqColumns("rd1.fileid", "rd2.fileid") & Exp.EqColumns("rd1.title", "rd2.title") & Exp.Eq("rd2.cultureTitle", current.Language.Title))
                          .InnerJoin("res_files rf", Exp.EqColumns("rf.ID", "rd1.fileID"))
                          .Where("rf.moduleName", current.Module.Name)
                          .Where("rf.projectName", current.Project.Name)
                          .Where("rd1.cultureTitle", "Neutral")
                          .Where("rd1.flag != 4")
                          .Where("rd1.resourceType", "text")
                          .OrderBy("rd1.id", true);

                if (!String.IsNullOrEmpty(search))
                {
                    sql.Where(Exp.Like("rd1.textvalue", search));
                }

                return(dbManager.ExecuteList(sql).ConvertAll(r => {
                    var word = GetWord(r);

                    if (r[6] != null)
                    {
                        word.Status = (int)r[7] == 3 ? WordStatusEnum.Changed : WordStatusEnum.Translated;
                    }
                    else
                    {
                        word.Status = WordStatusEnum.Untranslated;
                    }

                    return word;
                }).OrderBy(r => r.ValueFrom));
            }
        }
Esempio n. 36
0
    public void createBusyoStatusView(string busyoId)
    {
        int lv = PlayerPrefs.GetInt (busyoId);
        StatusGet sts = new StatusGet ();
        int hp = sts.getHp (int.Parse (busyoId), lv);
        int atk = sts.getAtk (int.Parse (busyoId), lv);
        int dfc = sts.getDfc (int.Parse (busyoId), lv);
        int spd = sts.getSpd (int.Parse (busyoId), lv);

        int adjHp = hp * 100;
        int adjAtk = atk * 10;
        int adjDfc = dfc * 10;

        GameObject.Find ("LvValue").GetComponent<Text> ().text = lv.ToString ();
        GameObject.Find ("TosotsuValue").GetComponent<Text> ().text = adjHp.ToString ();
        GameObject.Find ("BuyuuValue").GetComponent<Text> ().text = adjAtk.ToString ();
        GameObject.Find ("ChiryakuValue").GetComponent<Text> ().text = adjDfc.ToString ();
        GameObject.Find ("SpeedValue").GetComponent<Text> ().text = spd.ToString ();

        //Exp
        string expId = "exp" + busyoId.ToString ();
        string expString = "";
        int nowExp = PlayerPrefs.GetInt(expId);
        Exp exp = new Exp ();
        int requiredExp= exp.getExpforNextLv(lv);

        expString = nowExp + "/" + requiredExp;
        GameObject.Find ("ExpValue").GetComponent<Text> ().text = expString;

        //Kahou status
        KahouStatusGet kahouSts = new KahouStatusGet ();
        string[] KahouStatusArray =kahouSts.getKahouForStatus (busyoId,adjHp,adjAtk,adjDfc,spd);
        int totalBusyoHp =0;
        for(int i=0;i<KahouStatusArray.Length;i++){
            string status = KahouStatusArray[i];

            if(i==0){
                //Attack
                GameObject.Find ("KahouAtkValue").GetComponent<Text>().text = "+" + status;

            }else if(i==1){
                //HP
                GameObject.Find ("KahouHpValue").GetComponent<Text>().text = "+" + status;
                totalBusyoHp = adjHp + int.Parse(status);
            }else if(i==2){
                //DFC
                GameObject.Find ("KahouDfcValue").GetComponent<Text>().text = "+" + status;

            }else if(i==3){
                //SPD
                GameObject.Find ("KahouSpdValue").GetComponent<Text>().text = "+" + status;
            }
        }

        //Butai Status
        string heiId = "hei" + busyoId.ToString ();
        string chParam = PlayerPrefs.GetString (heiId, "0");

        char[] delimiterChars = {':'};
        string[] ch_list = chParam.Split (delimiterChars);

        string ch_type = ch_list [0];
        int ch_num = int.Parse (ch_list [1]);
        int ch_lv = int.Parse (ch_list [2]);
        float ch_status = float.Parse (ch_list [3]);

        string heisyu = "";
        if (ch_type == "KB") {
            heisyu = "騎馬隊";
        } else if (ch_type == "YR") {
            heisyu = "槍隊";
        } else if (ch_type == "TP") {
            heisyu = "鉄砲隊";
        } else if (ch_type == "YM") {
            heisyu = "弓隊";
        }
        GameObject.Find ("ChildNameValue").GetComponent<Text> ().text = heisyu;
        GameObject.Find ("ChildQtyValue").GetComponent<Text> ().text = ch_num.ToString ();
        GameObject.Find ("ChildLvValue").GetComponent<Text> ().text = ch_lv.ToString ();

        //Jyosyu Handling
        JyosyuHeiryoku jyosyuHei = new JyosyuHeiryoku ();
        float addHei = (float)jyosyuHei.GetJyosyuHeiryoku (busyoId);
        float hei = ch_status * 10;
        string heiText = hei.ToString() + "<size=150><Color=#35D74BFF>+" + addHei + "</Color></size>";
        GameObject.Find ("ChildHeiryokuValue").GetComponent<Text> ().text = heiText;

        float chAtkDfc = ch_status + totalBusyoHp / 200;
        string chAtkDfcString = chAtkDfc.ToString () + "/" + chAtkDfc.ToString ();
        GameObject.Find ("ChildStatusValue").GetComponent<Text> ().text = chAtkDfcString;

        //Child Image
        foreach (Transform n in GameObject.Find ("Img").transform) {
            GameObject.Destroy (n.gameObject);
        }
        string chPath = "Prefabs/Player/Unit/" + ch_type;
        GameObject chObj = Instantiate (Resources.Load (chPath)) as GameObject;
        chObj.transform.SetParent(GameObject.Find ("Img").transform);
        RectTransform chTransform = chObj.GetComponent<RectTransform> ();
        chTransform.anchoredPosition = new Vector3 (-200, -50, 0);
        chTransform.sizeDelta = new Vector2 (40, 40);
        chObj.transform.localScale = new Vector2 (4, 4);

        //Child Status Transfer to Button//Keep busyo name
        GameObject kanjyo = GameObject.Find ("ButtonKanjyo");
        kanjyo.GetComponent<BusyoStatusButton> ().pa_lv = lv;

        GameObject chigyo = GameObject.Find ("ButtonCyouhei");
        chigyo.GetComponent<BusyoStatusButton> ().ch_type = ch_type;
        chigyo.GetComponent<BusyoStatusButton> ().ch_heisyu = heisyu;
        chigyo.GetComponent<BusyoStatusButton> ().ch_num = ch_num;
        chigyo.GetComponent<BusyoStatusButton> ().ch_status = chAtkDfc;
        chigyo.GetComponent<BusyoStatusButton> ().ch_hp = hei;
        chigyo.GetComponent<BusyoStatusButton> ().pa_hp = totalBusyoHp/100;

        GameObject kunren = GameObject.Find ("ButtonKunren");
        kunren.GetComponent<BusyoStatusButton> ().ch_type = ch_type;
        kunren.GetComponent<BusyoStatusButton> ().ch_heisyu = heisyu;
        kunren.GetComponent<BusyoStatusButton> ().ch_lv = ch_lv;
        kunren.GetComponent<BusyoStatusButton> ().ch_status = chAtkDfc;
        kunren.GetComponent<BusyoStatusButton> ().ch_hp = hei ;
        kunren.GetComponent<BusyoStatusButton> ().ch_num = ch_num;
        kunren.GetComponent<BusyoStatusButton> ().pa_hp = totalBusyoHp/100;

        //Parametor Setting
        GameObject.Find ("GameScene").GetComponent<NowOnBusyo>().OnBusyo = busyoId;
    }
Esempio n. 37
0
 public List <Project> GetById(ICollection projectIDs)
 {
     using (var db = new DbManager(DatabaseId))
     {
         return(db.ExecuteList(Query(ProjectsTable).Select(ProjectColumns).Where(Exp.In("id", projectIDs)))
                .ConvertAll(ToProject)
                .ToList());
     }
 }
        public override IEnumerable <Tuple <Feed, object> > GetFeeds(FeedFilter filter)
        {
            var q1 = new SqlQuery("projects_messages d")
                     .Select(DiscussionColumns().Select(d => "d." + d).ToArray())
                     .Select(ProjectColumns().Select(p => "p." + p).ToArray())
                     .Select(CommentColumns().Select(c => "c." + c).ToArray())
                     .InnerJoin("projects_projects p", Exp.EqColumns("p.id", "d.project_id") & Exp.Eq("p.tenant_id", filter.Tenant))
                     .LeftOuterJoin("projects_comments c",
                                    Exp.EqColumns("c.target_uniq_id", "concat('Message_', d.id)") &
                                    Exp.Eq("c.tenant_id", filter.Tenant) & Exp.Eq("c.inactive", 0))
                     .Where("d.tenant_id", filter.Tenant)
                     .Where(Exp.Between("d.create_on", filter.Time.From, filter.Time.To));

            var q2 = new SqlQuery("projects_messages d")
                     .Select(DiscussionColumns().Select(d => "d." + d).ToArray())
                     .Select(ProjectColumns().Select(p => "p." + p).ToArray())
                     .Select(CommentColumns().Select(c => "c." + c).ToArray())
                     .InnerJoin("projects_projects p", Exp.EqColumns("p.id", "d.project_id") & Exp.Eq("p.tenant_id", filter.Tenant))
                     .LeftOuterJoin("projects_comments c",
                                    Exp.EqColumns("c.target_uniq_id", "concat('Message_', d.id)") &
                                    Exp.Eq("c.tenant_id", filter.Tenant) & Exp.Eq("c.inactive", 0))
                     .Where("d.tenant_id", filter.Tenant)
                     .Where(Exp.Between("c.create_on", filter.Time.From, filter.Time.To));

            using (var db = new DbManager(DbId))
            {
                var comments           = db.ExecuteList(q1.Union(q2)).ConvertAll(ToComment);
                var groupedDiscussions = comments.GroupBy(c => c.Discussion.ID);

                return(groupedDiscussions
                       .Select(d => new Tuple <Message, IEnumerable <ProjectComment> >(d.First().Discussion, d))
                       .Select(ToFeed));
            }
        }
Esempio n. 39
0
 public LogicExp(Exp e1, Exp e2, String cmp)
 {
     this.e1 = e1;
     this.e2 = e2;
     this.cmp = cmp;
 }
Esempio n. 40
0
        public List <Project> GetByContactID(int contactId)
        {
            IEnumerable <int> projectIds;

            using (var crmDb = new DbManager("crm"))
            {
                projectIds = crmDb
                             .ExecuteList(Query("crm_projects").Select("project_id").Where("contact_id", contactId))
                             .ConvertAll(r => Convert.ToInt32(r[0]));
            }

            var query = new SqlQuery(ProjectsTable + " p")
                        .Select(ProjectColumns.Select(c => "p." + c).ToArray())
                        .Select(new SqlQuery(MilestonesTable + " m").SelectCount().Where(Exp.EqColumns("m.project_id", "p.id")).Where(Exp.Eq("m.status", MilestoneStatus.Open)))
                        .Select(new SqlQuery(TasksTable + " t").SelectCount().Where(Exp.EqColumns("t.project_id", "p.id")).Where(!Exp.Eq("t.status", TaskStatus.Closed)))
                        .Select(new SqlQuery(ParticipantTable + " pp").SelectCount().Where(Exp.EqColumns("pp.project_id", "p.id") & Exp.Eq("pp.removed", false)))
                        .Where(Exp.In("p.id", projectIds.ToList()))
                        .Where("p.tenant_id", Tenant);

            using (var db = new DbManager(DatabaseId))
            {
                return(db.ExecuteList(query)
                       .Select(r =>
                {
                    var prj = ToProject(r);
                    prj.TaskCount = Convert.ToInt32(r[11]);
                    prj.MilestoneCount = Convert.ToInt32(r[10]);
                    prj.ParticipantCount = Convert.ToInt32(r[12]);
                    return prj;
                }
                               )
                       .ToList());
            }
        }
Esempio n. 41
0
 public NewStmt(String id, Exp exp)
 {
     this.id = id;
     this.exp = exp;
 }
Esempio n. 42
0
        public List <int> GetTaskCount(List <int> projectId, TaskStatus?taskStatus, bool isAdmin)
        {
            var query = new SqlQuery(TasksTable + " t")

                        .Select("t.project_id").SelectCount()
                        .Where(Exp.In("t.project_id", projectId))
                        .Where("t.tenant_id", Tenant)
                        .GroupBy("t.project_id");

            if (taskStatus != null)
            {
                if (taskStatus == TaskStatus.Open)
                {
                    query.Where(!Exp.Eq("t.status", TaskStatus.Closed));
                }
                else
                {
                    query.Where("t.status", TaskStatus.Closed);
                }
            }

            if (!isAdmin)
            {
                query.InnerJoin(ProjectsTable + " p", Exp.EqColumns("t.project_id", "p.id") & Exp.EqColumns("t.tenant_id", "p.tenant_id"))
                .LeftOuterJoin(TasksResponsibleTable + " ptr", Exp.EqColumns("t.tenant_id", "ptr.tenant_id") & Exp.EqColumns("t.id", "ptr.task_id") & Exp.Eq("ptr.responsible_id", CurrentUserID))
                .LeftOuterJoin(ParticipantTable + " ppp", Exp.EqColumns("p.id", "ppp.project_id") & Exp.Eq("ppp.removed", false) & Exp.Eq("ppp.participant_id", CurrentUserID))
                .Where(Exp.Eq("p.private", false) | !Exp.Eq("ptr.responsible_id", null) | (Exp.Eq("p.private", true) & !Exp.Eq("ppp.security", null) & !Exp.Eq("ppp.security & " + (int)ProjectTeamSecurity.Tasks, (int)ProjectTeamSecurity.Tasks)));
            }
            using (var db = new DbManager(DatabaseId))
            {
                var result = db.ExecuteList(query);

                return(projectId.ConvertAll(
                           pid =>
                {
                    var res = result.Find(r => Convert.ToInt32(r[0]) == pid);
                    return res == null ? 0 : Convert.ToInt32(res[1]);
                }
                           ));
            }
        }
Esempio n. 43
0
 public static void RemoveFeedAggregate(DateTime fromTime)
 {
     using (var db = DbManager.FromHttpContext(Constants.FeedDbId))
         using (var command = db.Connection.CreateCommand())
             using (var tx = db.Connection.BeginTransaction(IsolationLevel.ReadUncommitted))
             {
                 command.Transaction    = tx;
                 command.CommandTimeout = 60 * 60; // a hour
                 var dialect = DbRegistry.GetSqlDialect(Constants.FeedDbId);
                 if (dialect.SupportMultiTableUpdate)
                 {
                     command.ExecuteNonQuery("delete from feed_aggregate, feed_users using feed_aggregate, feed_users where id = feed_id and aggregated_date < @date", new { date = fromTime });
                 }
                 else
                 {
                     command.ExecuteNonQuery(new SqlDelete("feed_users").Where(Exp.In("feed_id", new SqlQuery("feed_aggregate").Select("id").Where(Exp.Lt("aggregated_date", fromTime)))), dialect);
                     command.ExecuteNonQuery(new SqlDelete("feed_aggregate").Where(Exp.Lt("aggregated_date", fromTime)), dialect);
                 }
                 tx.Commit();
             }
 }
Esempio n. 44
0
        private static List <FeedResultItem> GetFeedsInternal(FeedApiFilter filter)
        {
            var query = new SqlQuery("feed_aggregate a")
                        .InnerJoin("feed_users u", Exp.EqColumns("a.id", "u.feed_id"))
                        .Select("a.json, a.module, a.author, a.modified_by, a.group_id, a.created_date, a.modified_date, a.aggregated_date")
                        .Where("a.tenant", CoreContext.TenantManager.GetCurrentTenant().TenantId)
                        .Where(
                !Exp.Eq("a.modified_by", SecurityContext.CurrentAccount.ID) &
                Exp.Eq("u.user_id", SecurityContext.CurrentAccount.ID)
                )
                        .OrderBy("a.modified_date", false)
                        .SetFirstResult(filter.Offset)
                        .SetMaxResults(filter.Max);

            if (filter.OnlyNew)
            {
                query.Where(Exp.Ge("a.aggregated_date", filter.From));
            }
            else
            {
                if (1 < filter.From.Year)
                {
                    query.Where(Exp.Ge("a.modified_date", filter.From));
                }
                if (filter.To.Year < 9999)
                {
                    query.Where(Exp.Le("a.modified_date", filter.To));
                }
            }

            if (!string.IsNullOrEmpty(filter.Product))
            {
                query.Where("a.product", filter.Product);
            }
            if (filter.Author != Guid.Empty)
            {
                query.Where("a.modified_by", filter.Author);
            }
            if (filter.SearchKeys != null && filter.SearchKeys.Length > 0)
            {
                var exp = filter.SearchKeys
                          .Where(s => !string.IsNullOrEmpty(s))
                          .Select(s => s.Replace("\\", "\\\\").Replace("%", "\\%").Replace("_", "\\_"))
                          .Aggregate(Exp.False, (cur, s) => cur | Exp.Like("a.keywords", s, SqlLike.AnyWhere));
                query.Where(exp);
            }

            using (var db = DbManager.FromHttpContext(Constants.FeedDbId))
            {
                var news = db
                           .ExecuteList(query)
                           .ConvertAll(r => new FeedResultItem(
                                           Convert.ToString(r[0]),
                                           Convert.ToString(r[1]),
                                           new Guid(Convert.ToString(r[2])),
                                           new Guid(Convert.ToString(r[3])),
                                           Convert.ToString(r[4]),
                                           TenantUtil.DateTimeFromUtc(Convert.ToDateTime(r[5])),
                                           TenantUtil.DateTimeFromUtc(Convert.ToDateTime(r[6])),
                                           TenantUtil.DateTimeFromUtc(Convert.ToDateTime(r[7]))));
                return(news);
            }
        }
Esempio n. 45
0
 public WriteHeapStmt(String id, Exp exp)
 {
     this.id = id;
     this.exp = exp;
 }
Esempio n. 46
0
 public LogicalExp(Exp e1, String op, Exp e2)
 {
     this.e1 = e1;
     this.e2 = e2;
     this.op = op;
 }
Esempio n. 47
0
 public Argument(Exp name, Exp defval, string filename, int start, int end)
     : base(filename, start, end)
 {
     this.name = name;
     this.defval = defval;
 }
 public virtual Exp GetExpression()
 {
     return(Exp.Eq(ContactsTable.Columns.Tenant.Prefix(MAIL_CONTACTS), Tenant)
            & Exp.Eq(ContactsTable.Columns.User.Prefix(MAIL_CONTACTS), User));
 }
Esempio n. 49
0
 public IfStmt(Exp e, IStmt then, IStmt otherwise)
 {
     this.exp = e;
     this.thenStmt = then;
     this.elseStmt = otherwise;
 }
Esempio n. 50
0
 public Condicional(Exp Condicion, LinkedList <NodoAST> Instrucciones)
 {
     this.Condicion         = Condicion;
     this.condInstrucciones = Instrucciones;
 }
Esempio n. 51
0
 private string GenerateBaseClassName(Exp exp)
 {
     return exp.ToString();
 }
Esempio n. 52
0
        public IEnumerable <Tag> GetNewTags(Guid subject, Folder parentFolder, bool deepSearch)
        {
            var folderId     = OneDriveDaoSelector.ConvertId(parentFolder.ID);
            var fakeFolderId = parentFolder.ID.ToString();

            using (var db = GetDb())
            {
                var entryIDs = db.ExecuteList(Query("files_thirdparty_id_mapping")
                                              .Select("hash_id")
                                              .Where(Exp.Like("id", fakeFolderId, SqlLike.StartWith)))
                               .ConvertAll(x => x[0]);

                if (!entryIDs.Any())
                {
                    return(new List <Tag>());
                }

                var sqlQuery = new SqlQuery("files_tag ft")
                               .Select("ft.name",
                                       "ft.flag",
                                       "ft.owner",
                                       "ftl.entry_id",
                                       "ftl.entry_type",
                                       "ftl.tag_count",
                                       "ft.id")
                               .Distinct()
                               .LeftOuterJoin("files_tag_link ftl",
                                              Exp.EqColumns("ft.tenant_id", "ftl.tenant_id") &
                                              Exp.EqColumns("ft.id", "ftl.tag_id"))
                               .Where(Exp.Eq("ft.tenant_id", TenantID) &
                                      Exp.Eq("ftl.tenant_id", TenantID) &
                                      Exp.Eq("ft.flag", (int)TagType.New) &
                                      Exp.In("ftl.entry_id", entryIDs));

                if (subject != Guid.Empty)
                {
                    sqlQuery.Where(Exp.Eq("ft.owner", subject));
                }

                var tags = db.ExecuteList(sqlQuery).ConvertAll(r => new Tag
                {
                    TagName   = Convert.ToString(r[0]),
                    TagType   = (TagType)r[1],
                    Owner     = new Guid(r[2].ToString()),
                    EntryId   = MappingID(r[3]),
                    EntryType = (FileEntryType)r[4],
                    Count     = Convert.ToInt32(r[5]),
                    Id        = Convert.ToInt32(r[6])
                });

                if (deepSearch)
                {
                    return(tags);
                }

                var folderFileIds = new[] { fakeFolderId }
                .Concat(GetChildren(folderId));

                return(tags.Where(tag => folderFileIds.Contains(tag.EntryId.ToString())));
            }
        }
Esempio n. 53
0
        //arglist: (argument ',')* (argument [',']
        //                         |'*' test (',' argument)* [',' '**' test] 
        //                         |'**' test)
        public Application arglist(Exp core, int posStart)
        {
            var args = new List<Argument>();
            var keywords = new List<Argument>();
            Exp stargs = null;
            Exp kwargs = null;
            Token token;
            if (Peek(TokenType.RPAREN, out token))
                return new Application(core, args, keywords, stargs, kwargs, filename, core.Start, token.End);
            for (;;)
            {
                if (PeekAndDiscard(TokenType.OP_STAR))
                {
                    if (stargs != null)
                        throw new NotSupportedException("More than one stargs.");
                    stargs = test();
                }
                else if (PeekAndDiscard(TokenType.OP_STARSTAR))
                {
                    if (kwargs != null)
                        throw new NotSupportedException("More than one kwargs.");
                    kwargs = test();
                }
                else 
                {
                    var arg = argument();
                    if (arg != null)
                        args.Add(arg);
                }

                if (!PeekAndDiscard(TokenType.COMMA, out token))
                    break;
                if (Peek(TokenType.RPAREN, out token))
                    break;
            }
            return new Application(core, args, keywords, stargs, kwargs, filename, posStart, token.End);
        }
Esempio n. 54
0
        public int SaveOrUpdate(TaskTemplate item)
        {
            using (var db = GetDb())
            {
                if (item.ID == 0 && db.ExecuteScalar <int>(Query("crm_task_template").SelectCount().Where(Exp.Eq("id", item.ID))) == 0)
                {
                    item.ID = db.ExecuteScalar <int>(
                        Insert("crm_task_template")
                        .InColumnValue("id", 0)
                        .InColumnValue("title", item.Title)
                        .InColumnValue("category_id", item.CategoryID)
                        .InColumnValue("description", item.Description)
                        .InColumnValue("responsible_id", item.ResponsibleID)
                        .InColumnValue("is_notify", item.isNotify)
                        .InColumnValue("offset", item.Offset.Ticks)
                        .InColumnValue("deadLine_is_fixed", item.DeadLineIsFixed)
                        .InColumnValue("container_id", item.ContainerID)
                        .InColumnValue("create_on", DateTime.UtcNow)
                        .InColumnValue("create_by", ASC.Core.SecurityContext.CurrentAccount.ID)
                        .InColumnValue("last_modifed_on", DateTime.UtcNow)
                        .InColumnValue("last_modifed_by", ASC.Core.SecurityContext.CurrentAccount.ID)
                        .Identity(1, 0, true));
                }
                else
                {
                    db.ExecuteNonQuery(
                        Update("crm_task_template")
                        .Set("title", item.Title)
                        .Set("category_id", item.CategoryID)
                        .Set("description", item.Description)
                        .Set("responsible_id", item.ResponsibleID)
                        .Set("is_notify", item.isNotify)
                        .Set("offset", item.Offset.Ticks)
                        .Set("deadLine_is_fixed", item.DeadLineIsFixed)
                        .Set("container_id", item.ContainerID)
                        .Set("last_modifed_on", DateTime.UtcNow)
                        .Set("last_modifed_by", ASC.Core.SecurityContext.CurrentAccount.ID)
                        .Where("id", item.ID));
                }

                return(item.ID);
            }
        }
Esempio n. 55
0
 public OverflowSubExp(ILineContext context, Exp e1, Exp e2) : base(context, e1, e2)
 {
 }
Esempio n. 56
0
        public TaskTemplate GetNext(int taskID)
        {
            using (var db = GetDb())
                using (var tx = db.BeginTransaction())
                {
                    var sqlResult = db.ExecuteList(
                        Query("crm_task_template_task tblTTT")
                        .Select("tblTT.container_id")
                        .Select("tblTT.sort_order")
                        .LeftOuterJoin("crm_task_template tblTT", Exp.EqColumns("tblTT.tenant_id", "tblTTT.tenant_id") & Exp.EqColumns("tblTT.id", "tblTTT.task_template_id"))
                        .Where(Exp.Eq("tblTTT.task_id", taskID) & Exp.Eq("tblTT.tenant_id", TenantID)));

                    if (sqlResult.Count == 0)
                    {
                        return(null);
                    }

                    var result = db.ExecuteList(GetQuery(Exp.Eq("container_id", sqlResult[0][0]) &
                                                         Exp.Gt("sort_order", sqlResult[0][1]) &
                                                         Exp.Eq("deadLine_is_fixed", false)).SetMaxResults(1)).ConvertAll(
                        row => ToObject(row));

                    db.ExecuteNonQuery(Delete("crm_task_template_task").Where(Exp.Eq("task_id", taskID)));

                    tx.Commit();

                    if (result.Count == 0)
                    {
                        return(null);
                    }

                    return(result[0]);
                }
        }
Esempio n. 57
0
 public ExclamationExp(ILineContext context, Exp e1, Exp e2) : base(context, e1, e2)
 {
 }
Esempio n. 58
0
        public virtual int SaveOrUpdate(TaskTemplateContainer item)
        {
            using (var db = GetDb())
            {
                if (item.ID == 0 && db.ExecuteScalar <int>(Query("crm_task_template_container").SelectCount().Where(Exp.Eq("id", item.ID))) == 0)
                {
                    item.ID = db.ExecuteScalar <int>(
                        Insert("crm_task_template_container")
                        .InColumnValue("id", 0)
                        .InColumnValue("title", item.Title)
                        .InColumnValue("entity_type", (int)item.EntityType)
                        .InColumnValue("create_on", DateTime.UtcNow)
                        .InColumnValue("create_by", ASC.Core.SecurityContext.CurrentAccount.ID)
                        .InColumnValue("last_modifed_on", DateTime.UtcNow)
                        .InColumnValue("last_modifed_by", ASC.Core.SecurityContext.CurrentAccount.ID)
                        .Identity(1, 0, true));
                }
                else
                {
                    db.ExecuteScalar <int>(
                        Update("crm_task_template_container")
                        .Set("title", item.Title)
                        .Set("entity_type", (int)item.EntityType)
                        .Set("last_modifed_on", DateTime.UtcNow)
                        .Set("last_modifed_by", ASC.Core.SecurityContext.CurrentAccount.ID)
                        .Where(Exp.Eq("id", item.ID)));
                }


                return(item.ID);
            }
        }
Esempio n. 59
0
 public RelationalExp(Exp e1, String op, Exp e2)
 {
     this.e1 = e1;
     this.e2 = e2;
     this.op = op;
 }
Esempio n. 60
0
        public IEnumerable <Tag> SaveTags(params Tag[] tags)
        {
            var result = new List <Tag>();

            if (tags == null)
            {
                return(result);
            }

            tags = tags.Where(x => x != null && !x.EntryId.Equals(null) && !x.EntryId.Equals(0)).ToArray();

            if (tags.Length == 0)
            {
                return(result);
            }

            lock (syncRoot)
            {
                using (var DbManager = GetDb())
                    using (var tx = DbManager.BeginTransaction())
                    {
                        var mustBeDeleted = DbManager.ExecuteList(Query("files_tag ft")
                                                                  .Select("ftl.tag_id",
                                                                          "ftl.entry_id",
                                                                          "ftl.entry_type")
                                                                  .Distinct()
                                                                  .InnerJoin("files_tag_link ftl",
                                                                             Exp.EqColumns("ft.tenant_id", "ftl.tenant_id") &
                                                                             Exp.EqColumns("ft.id", "ftl.tag_id"))
                                                                  .Where(Exp.Eq("ft.flag", (int)TagType.New) &
                                                                         Exp.Le("create_on", TenantUtil.DateTimeNow().AddMonths(-3))));

                        foreach (var row in mustBeDeleted)
                        {
                            DbManager.ExecuteNonQuery(Delete("files_tag_link")
                                                      .Where(Exp.Eq("tag_id", row[0]) &
                                                             Exp.Eq("entry_id", row[1]) &
                                                             Exp.Eq("entry_type", row[2])));
                        }

                        DbManager.ExecuteNonQuery(Delete("files_tag").Where(Exp.EqColumns("0", Query("files_tag_link l").SelectCount().Where(Exp.EqColumns("tag_id", "id")))));

                        var createOn = TenantUtil.DateTimeToUtc(TenantUtil.DateTimeNow());

                        var cacheTagId = new Dictionary <String, int>();

                        foreach (var t in tags)
                        {
                            int id;

                            var cacheTagIdKey = String.Join("/", new[] { TenantID.ToString(), t.Owner.ToString(), t.TagName, ((int)t.TagType).ToString(CultureInfo.InvariantCulture) });

                            if (!cacheTagId.TryGetValue(cacheTagIdKey, out id))
                            {
                                id = DbManager.ExecuteScalar <int>(Query("files_tag")
                                                                   .Select("id")
                                                                   .Where("owner", t.Owner.ToString())
                                                                   .Where("name", t.TagName)
                                                                   .Where("flag", (int)t.TagType));

                                if (id == 0)
                                {
                                    var i1 = Insert("files_tag")
                                             .InColumnValue("id", 0)
                                             .InColumnValue("name", t.TagName)
                                             .InColumnValue("owner", t.Owner.ToString())
                                             .InColumnValue("flag", (int)t.TagType)
                                             .Identity(1, 0, true);
                                    id = DbManager.ExecuteScalar <int>(i1);
                                }

                                cacheTagId.Add(cacheTagIdKey, id);
                            }

                            t.Id = id;
                            result.Add(t);

                            var i2 = Insert("files_tag_link")
                                     .InColumnValue("tag_id", id)
                                     .InColumnValue("entry_id", MappingID(t.EntryId, true))
                                     .InColumnValue("entry_type", (int)t.EntryType)
                                     .InColumnValue("create_by", ASC.Core.SecurityContext.CurrentAccount.ID)
                                     .InColumnValue("create_on", createOn)
                                     .InColumnValue("tag_count", t.Count);

                            DbManager.ExecuteNonQuery(i2);
                        }

                        tx.Commit();
                    }
            }

            return(result);
        }