示例#1
0
        /// <summary>
        /// Create Bank Account
        /// </summary>
        /// <param name="accounttype">enum AccountType</param>
        /// <param name="amount">double amount</param>
        /// <returns>returns the account number</returns>
        public Guid CreateBankAccount(string personName, AccountType accounttype, decimal amount = 0)
        {
            var     personId = CreateOrReturnPerson(personName);
            Account a;
            var     id = Guid.NewGuid().ToString();

            switch (accounttype)
            {
            case AccountType.CheckingsAcccount:
                InsertOrUpdate.CheckingsAccount(personId, amount);
                var checkings = Get.CheckingsAccount(personId);
                a = new CheckingsAccount(checkings.AccountId, checkings.Amount);
                _accounts.Add(a);
                return(a.AccountNumber);

            case AccountType.SavingsAccount:
                InsertOrUpdate.SavingsAccount(personId, amount);
                var savings = Get.SavingsAccount(personId);
                a = new SavingsAccount(savings.AccountId, savings.Amount, savings.Interest);
                _accounts.Add(a);
                return(a.AccountNumber);

            default:
                return(Guid.Empty);
            }
        }
示例#2
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (operationCase_ == OperationOneofCase.Insert)
            {
                hash ^= Insert.GetHashCode();
            }
            if (operationCase_ == OperationOneofCase.Update)
            {
                hash ^= Update.GetHashCode();
            }
            if (operationCase_ == OperationOneofCase.InsertOrUpdate)
            {
                hash ^= InsertOrUpdate.GetHashCode();
            }
            if (operationCase_ == OperationOneofCase.Replace)
            {
                hash ^= Replace.GetHashCode();
            }
            if (operationCase_ == OperationOneofCase.Delete)
            {
                hash ^= Delete.GetHashCode();
            }
            hash ^= (int)operationCase_;
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
示例#3
0
        public void MergeFrom(Mutation other)
        {
            if (other == null)
            {
                return;
            }
            switch (other.OperationCase)
            {
            case OperationOneofCase.Insert:
                if (Insert == null)
                {
                    Insert = new global::Google.Cloud.Spanner.V1.Mutation.Types.Write();
                }
                Insert.MergeFrom(other.Insert);
                break;

            case OperationOneofCase.Update:
                if (Update == null)
                {
                    Update = new global::Google.Cloud.Spanner.V1.Mutation.Types.Write();
                }
                Update.MergeFrom(other.Update);
                break;

            case OperationOneofCase.InsertOrUpdate:
                if (InsertOrUpdate == null)
                {
                    InsertOrUpdate = new global::Google.Cloud.Spanner.V1.Mutation.Types.Write();
                }
                InsertOrUpdate.MergeFrom(other.InsertOrUpdate);
                break;

            case OperationOneofCase.Replace:
                if (Replace == null)
                {
                    Replace = new global::Google.Cloud.Spanner.V1.Mutation.Types.Write();
                }
                Replace.MergeFrom(other.Replace);
                break;

            case OperationOneofCase.Delete:
                if (Delete == null)
                {
                    Delete = new global::Google.Cloud.Spanner.V1.Mutation.Types.Delete();
                }
                Delete.MergeFrom(other.Delete);
                break;
            }

            _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }
 public FrmSalesMasterPop(InsertOrUpdate iu, string id)
 {
     InitializeComponent();
     InsertOrUpdate = Convert.ToInt32(iu);
     SalesID        = id;
 }
 public FrmSalesMasterPop(InsertOrUpdate iu)
 {
     InitializeComponent();
     InsertOrUpdate = Convert.ToInt32(iu);
 }
 public FrmShiftPop(InsertOrUpdate iu, string id)
 {
     InitializeComponent();
     InsertOrUpdate = Convert.ToInt32(iu);
     ShiftCode      = id;
 }
示例#7
0
        /// <summary>
        /// SqlSugar的功能介绍
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            //设置执行的DEMO
            string switchOn = "select";
            IDemos demo     = null;

            switch (switchOn)
            {
            /****************************基本功能**************************************/
            //查询
            case "select": demo = new Select(); break;

            //删除
            case "delete": demo = new Delete(); break;

            //插入
            case "insert": demo = new Insert(); break;

            //插入或者更新
            case "insertorupdate": demo = new InsertOrUpdate(); break;

            //更新
            case "update": demo = new Update(); break;

            //基层函数的用法
            case "ado": demo = new Ado(); break;

            //事务
            case "tran": demo = new Tran(); break;

            //创建实体函数
            case "createclass": demo = new CreateClass(); break;
            //T4生成 http://www.cnblogs.com/sunkaixuan/p/5751503.html

            //日志记录
            case "log": demo = new Log(); break;

            //枚举支持
            case "enum": demo = new EnumDemo(); break;



            /****************************实体映射**************************************/
            //自动排除非数据库列
            case "ignoreerrorcolumns": demo = new IgnoreErrorColumns(); break;

            //别名表
            case "mappingtable": demo = new MappingTable(); break;

            //别名列
            case "mappingcolumns": demo = new MappingColumns(); break;

            //通过属性的方法设置别名表和别名字段
            case "attributesmapping": demo = new AttributesMapping(); break;



            /****************************业务应用**************************************/
            //过滤器
            case "filter": demo = new Filter(); break;

            //过滤器2
            case "filter2": demo = new Filter2(); break;

            //流水号功能
            case "serialnumber": demo = new SerialNumber(); break;

            //配置与实例的用法
            case "initconfig": demo = new InitConfig(); break;

            //读写分离
            case "masterslave": demo = new MasterSlave(); break;

            /****************************支持**************************************/
            //公开函数数
            case "pubmethod": demo = new PubMethod(); break;

            //设置ToJson的日期格式
            case "serializerdateformat": demo = new SerializerDateFormat(); break;



            /****************************测试用例**************************************/
            case "test": demo = new Test(); break;

            default: Console.WriteLine("switchOn的值错误,请输入正确的 case"); break;
            }
            //执行DEMO
            demo.Init();

            //更多例子请查看API
            //http://www.cnblogs.com/sunkaixuan/p/5654695.html
            Console.WriteLine("执行成功请关闭窗口");
            Console.ReadKey();
        }
示例#8
0
        /// <summary>
        /// Persist (insert or update) an entity.
        /// </summary>
        /// <param name="entity">The entity to be persisted.</param>
        public void Persist(object entity)
        {
            var EntityType = entity.GetType();
            var ClassName  = EntityType.FullName;

            Log.Debug("Persist " + ClassName);

            qGen.IStatement InsertOrUpdate;

            var ClassMetadata = this.MetadataFactory.GetMetadataForClass(EntityType);

            var PrePersistEvt = ClassMetadata.Events.GetByType(EventTypes.PrePersist);

            if (PrePersistEvt != null)
            {
                PrePersistEvt.MethodInfo.Invoke(entity, null);
            }

            if (ClassMetadata.ObjectInfo.IdentifierHasValue(entity))
            {
                InsertOrUpdate             = new qGen.Update(ClassMetadata.TableName);
                InsertOrUpdate.WhereClause = new qGen.Where();
                foreach (var Col in ClassMetadata.Columns.GetIdColumns())
                {
                    InsertOrUpdate.WhereClause.AddWithValue(Col.Name, ClassMetadata.ObjectInfo.GetColumnValue(entity, Col));
                }
            }
            else
            {
                InsertOrUpdate = new qGen.Insert(ClassMetadata.TableName);
            }

            foreach (var Col in ClassMetadata.Columns)
            {
                if (Col.GeneratedValueStategy == GeneratedValueStategies.None)
                {
                    object ColValue;

                    if (Col.AssociationMetada != null && Col.AssociationMetada.AssociationType != AssociationTypes.None)
                    {
                        // Association column. Get value from property on the other side
                        object OtherEndEntity = ClassMetadata.ObjectInfo.GetColumnValue(entity, Col);
                        if (OtherEndEntity == null)
                        {
                            ColValue = null;
                        }
                        else
                        {
                            ColValue = Col.AssociationMetada.OtherEndClass.ObjectInfo.GetColumnValue(OtherEndEntity, Col.AssociationMetada.OtherEndColumn);
                        }
                    }
                    else
                    {
                        // Regular member-to-column value
                        ColValue = ClassMetadata.ObjectInfo.GetColumnValue(entity, Col);
                    }

                    InsertOrUpdate.ColumnValues.AddWithValue(Col.Name, ColValue);
                }
            }

            Log.Debug(InsertOrUpdate.ToString());
            this.Connection.ExecuteNonQuery(InsertOrUpdate);

            if (InsertOrUpdate is qGen.Insert)
            {
                foreach (var Col in ClassMetadata.Columns)
                {
                    if (Col.GeneratedValueStategy == GeneratedValueStategies.DbGenerated)
                    {
                        var Id = this.Connection.GetLastInsertId();
                        ClassMetadata.ObjectInfo.SetColumnValue(entity, Col, Id);
                        Log.Debug("Last insert id: " + Id.ToString());
                        break;
                    }
                }
            }

            var PostPersistEvt = ClassMetadata.Events.GetByType(EventTypes.PostPersist);

            if (PostPersistEvt != null)
            {
                PostPersistEvt.MethodInfo.Invoke(entity, null);
            }
        }
示例#9
0
 public FrmMaterialCostPop(InsertOrUpdate iu, string id)
 {
     InitializeComponent();
     InsertOrUpdate = Convert.ToInt32(iu);
     MCCode         = id;
 }
示例#10
0
 public FrmMaterialCostPop(InsertOrUpdate iu)
 {
     InitializeComponent();
     InsertOrUpdate = Convert.ToInt32(iu);
 }