Ejemplo n.º 1
0
        override public void LoadCSV(string filename)
        {
            OwnerDB.BeginTransaction();

            using (var reader = new System.IO.StreamReader(filename, System.Text.Encoding.GetEncoding("shift_jis"))) {
                string line;
                Row    row = new Row(this);

                while ((line = reader.ReadLine()) != null)
                {
                    string[] token = line.Split('\t');
                    row.Set("keiri_kubun", CSVParser.ReadInt(token[1]));
                    row.Set("nenndo", CSVParser.ReadDate(token[2]));
                    row.Set("kamoku_id", CSVParser.ReadInt(token[3]));
                    row.Set("zenki_kurikoshi_gaku", CSVParser.ReadAmount(token[4]));
                    row.Set("taisyaku_kubun", CSVParser.ReadString(token[5]));
                    this.Insert(row);
                }
            }

            OwnerDB.CommitTransaction();
        }
Ejemplo n.º 2
0
        // 指定月の伝票番号を設定しなおす
        public void RenumberDenpyouBangou(DateTime targetMonth, bool sortWithKaikeiTanni)
        {
            OwnerDB.BeginTransaction();

            string kaikeiKubun = sortWithKaikeiTanni ? "kaikei_kubun, " : "";
            string select_sql  = string.Format("where kihyoubi_gengou='{0}' and kihyoubi_year={1} and kihyoubi_month={2} " +
                                               "order by {3} kihyoubi, denpyou_renban, id",
                                               helper.Converter.DateTimeToWarekiGengou(targetMonth),
                                               helper.Converter.DateTimeToWarekiYear(targetMonth),
                                               targetMonth.Month,
                                               kaikeiKubun);

            int    renban = 0;
            string prevOriginalDenpyouBangou = null;

            foreach (var row in this.Select(select_sql))
            {
                if (row.IsNull("kihyoubi"))
                {
                    continue;
                }
                string originalDenpyouBangou = row.GetStr("denpyou_bangou", "");
                if (prevOriginalDenpyouBangou != originalDenpyouBangou)
                {
                    renban++;
                }
                this.SetColumnValue(row, "denpyou_renban", renban);
                string bangou = this.FormatDenpyouBangou(row.GetDate("kihyoubi").Value, renban);
                row.Set("denpyou_bangou_cache", bangou);
                row.Set("denpyou_bangou", bangou);
                this.Update(row);

                prevOriginalDenpyouBangou = originalDenpyouBangou;
            }

            OwnerDB.CommitTransaction();
        }
Ejemplo n.º 3
0
        public override bool SetColumnValue(Row row, string column, object val)
        {
            //System.Diagnostics.Debug.WriteLine("set column value:" + column + " value:" + val.ToString());

            if (!base.SetColumnValue(row, column, val))
            {
                return(false);
            }

            // 他のカラムを連動して変更
            if (column == "kihyoubi_gengou" || column == "kihyoubi_year" || column == "kihyoubi_month" || column == "kihyoubi_day")
            {
                DateTime?date = helper.Converter.ObjToDateTime(row.Get("kihyoubi_gengou"), row.Get("kihyoubi_year"), row.Get("kihyoubi_month"), row.Get("kihyoubi_day"));
                SetColumnValue(row, "kihyoubi", date);
            }
            else if (column == "kihyoubi")
            {
                if (!row.IsNull(column))
                {
                    DateTime date           = row.GetDate(column).Value;
                    string   denpyou_bangou = row.GetStr("denpyou_bangou_cache");
                    if (denpyou_bangou.Length >= 5 && denpyou_bangou.Substring(0, 5) == helper.Converter.DateTimeToWarekiStr(date).Replace("/", "").Substring(0, 5))
                    {
                    }
                    else
                    {
                        int renban = this.GetNextDenpyouRenban(date.Year, date.Month);
                        row.Set("denpyou_renban", renban);
                        SetColumnValue(row, "denpyou_bangou_cache", this.FormatDenpyouBangou(date, renban));
                    }
                }
            }
            else if (column == "denpyou_bangou_cache")
            {
                row.Set("editing", true);
            }
            else if (column == "karikata_hojo_seiri")
            {
                Row kamoku = (OwnerDB.Table(MTKanjouKamoku.TABLE_NAME) as MTKanjouKamoku).GetRowFromCodeCacheByTopParent(
                    (int)row.GetLong("karikata_kamoku_id", -2),                 //科目IDが設定されていないときは補助IDも設定しない
                    helper.Converter.ObjToString(val));
                if (kamoku != null && !kamoku.IsNull("id"))
                {
                    row.Set("karikata_hojo_id", kamoku.GetLong("id", -1));
                }
                else
                {
                    row.Set("karikata_hojo_id", null);
                }
            }
            else if (column == "kashikata_hojo_seiri")
            {
                Row kamoku = (OwnerDB.Table(MTKanjouKamoku.TABLE_NAME) as MTKanjouKamoku).GetRowFromCodeCacheByTopParent(
                    (int)row.GetLong("kashikata_kamoku_id", -2),                 //科目IDが設定されていないときは補助IDも設定しない
                    helper.Converter.ObjToString(val));
                if (kamoku != null && !kamoku.IsNull("id"))
                {
                    row.Set("kashikata_hojo_id", kamoku.GetLong("id", -1));
                }
                else
                {
                    row.Set("kashikata_hojo_id", null);
                }
            }
            else if (column == "tekiyou_id")  /* 摘要を入力したときのみコメントを更新
                                               * int? key = helper.Converter.ObjToIntObj(val);
                                               * if (key != null && (db_.Table(models.db.MTTekiyou.TABLE_NAME) as models.db.MTTekiyou).RowCache.ContainsKey(key.Value)) {
                                               * var tekiyou = (db_.Table(models.db.MTTekiyou.TABLE_NAME) as models.db.MTTekiyou).RowCache[key.Value];
                                               * if (tekiyou != null) {
                                               * row.Set("comment", tekiyou.GetStr("tekiyou_mei"));
                                               * }
                                               * }*/
            {
            }
            else if (column == "karikata_kamoku_code")
            {
                if (val == null)
                {
                    row.Set("karikata_kamoku_id", null);
                    row.Set("karikata_hojo_id", null);
                    row.Set("karikata_hojo_seiri", null);
                }
                else
                {
                    Row kamoku = (OwnerDB.Table(MTKanjouKamoku.TABLE_NAME) as MTKanjouKamoku).GetRowFromCodeCache(
                        -1, helper.Converter.ObjToString(val));
                    if (kamoku != null)
                    {
                        row.Set("karikata_kamoku_id", kamoku.Get("id"));
                        this.SetColumnValue(row, "karikata_hojo_seiri", row.GetStr("karikata_hojo_seiri"));
                    }
                    else
                    {
                        row.Set("karikata_kamoku_id", null);
                        row.Set("karikata_hojo_id", null);
                    }
                }
            }
            else if (column == "kashikata_kamoku_code")
            {
                if (val == null)
                {
                    row.Set("kashikata_kamoku_id", null);
                    row.Set("kashikata_hojo_id", null);
                    row.Set("kashikata_hojo_seiri", null);
                }
                else
                {
                    Row kamoku = (OwnerDB.Table(MTKanjouKamoku.TABLE_NAME) as MTKanjouKamoku).GetRowFromCodeCache(
                        -1, helper.Converter.ObjToString(val));
                    if (kamoku != null)
                    {
                        row.Set("kashikata_kamoku_id", kamoku.Get("id"));
                        this.SetColumnValue(row, "kashikata_hojo_seiri", row.GetStr("kashikata_hojo_seiri"));
                    }
                    else
                    {
                        row.Set("kashikata_kamoku_id", null);
                        row.Set("kashikata_hojo_id", null);
                    }
                }
            }

            return(true);
        }
Ejemplo n.º 4
0
 public void UpdateEditingRows()
 {
     OwnerDB.ExecuteNonQuery("update " + TableName + " set denpyou_bangou = denpyou_bangou_cache, editing=0 where editing <> 0");
 }
Ejemplo n.º 5
0
        public static void updateOwner(int ownNum, string fName, string lName, string _street, string _city, string _province, string _postalCode, string _phone, string _email, string _emerFName, string _emerLName, string _emerPhone)
        {
            OwnerDB ownDB = new OwnerDB();

            ownDB.updateOwnerDB(ownNum, fName, lName, _street, _city, _province, _postalCode, _phone, _email, _emerFName, _emerLName, _emerPhone);
        }
Ejemplo n.º 6
0
        public static void addOwner(string fName, string lName, string _street, string _city, string _province, string _postalCode, string _phone, string _email, string _emerFName, string _emerLName, string _emerPhone)
        {
            OwnerDB ownDB = new OwnerDB();

            ownDB.addOwnerDB(fName, lName, _street, _city, _province, _postalCode, _phone, _email, _emerFName, _emerLName, _emerPhone);
        }