Esempio n. 1
0
        public override MessageRecorder <bool> Create(Customer model)
        {
            var r = new MessageRecorder <bool>();

            model.CreatedAt = Now;
            model.CreatedBy = AccountNo;
            using (var conn = ConnectionManager.Open())
            {
                var trans = conn.BeginTransaction();
                var query = new Criteria <Customer>()
                            .Where(m => m.No, Op.Eq, model.No)
                            .Or(m => m.Name, Op.Eq, model.Name)
                            .Desc(m => m.No);
                if (conn.Exists(query))
                {
                    trans.Rollback();
                    return(r.Error("保存失败"));
                }
                var effectedCount = conn.Insert(model, trans);
                if (effectedCount == -1)
                {
                    trans.Rollback();
                    return(r.Error("保存失败"));
                }
                //var r2 = conn.Insert(model.Customers);
                //var count = model.Customers.Count;
                //if (r2 != count)
                //{
                //    trans.Rollback();
                //    return r.Error("保存失败");
                //}
                trans.Commit();
            }
            return(r.SetValue(!r.HasError));
        }
Esempio n. 2
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public override MessageRecorder <bool> Create(DevRoom model)
        {
            var r = new MessageRecorder <bool>();

            model.CreatedAt = Now;
            model.CreatedBy = AccountNo;
            using (var conn = ConnectionManager.Open())
            {
                var trans = conn.BeginTransaction();
                var query = new Criteria <DevRoom>()
                            .Where(m => m.No, Op.Eq, model.No)
                            .Or(m => m.Name, Op.Eq, model.Name)
                            .Desc(m => m.No);
                if (conn.Exists(query))
                {
                    trans.Rollback();
                    return(r.Error("保存失败"));
                }
                var effectedCount = conn.Insert(model, trans);
                if (effectedCount == -1)
                {
                    trans.Rollback();
                    return(r.Error("保存失败"));
                }
                trans.Commit();
            }
            r.Append(AccessoryService.ClearExpiration(model.Pic));
            return(r.SetValue(!r.HasError));
        }
Esempio n. 3
0
        /// <summary>
        /// 根据经纪人编号获取所有楼盘信息
        /// </summary>
        /// <param name="brokerNo">经纪人编号</param>
        /// <returns></returns>
        public MessageRecorder <IList <Project> > GetHouseByBrokerNo(string brokerNo)
        {
            var r = new MessageRecorder <IList <Project> >()
            {
                Value = new List <Project>()
            };

            if (string.IsNullOrEmpty(brokerNo))
            {
                return(r.Error("请指定经纪人"));
            }

            using (var conn = ConnectionManager.Open())
            {
                var refQuery = new Criteria <HouseBrokerRef>()
                               .Where(m => m.BrokerNo, Op.Eq, brokerNo)
                               .Asc(m => m.CreatedAt);
                var proNos = conn.Query(refQuery).Select(m => m.ProjectNo).ToList();
                if (proNos.IsNullOrEmpty())
                {
                    return(r);
                }

                var projectList = new Criteria <Project>()
                                  .And(m => m.No, Op.In, proNos);
                var list = conn.Query(projectList);
                return(r.SetValue(list));
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public override MessageRecorder <bool> Create(HouseBrokerRef model)
        {
            var r = new MessageRecorder <bool>();

            model.CreatedAt = Now;
            model.CreatedBy = AccountNo;
            using (var conn = ConnectionManager.Open())
            {
                var trans = conn.BeginTransaction();
                var query = new Criteria <HouseBrokerRef>()
                            .Where(m => m.BrokerNo, Op.Eq, model.BrokerNo)
                            .And(m => m.ProjectNo, Op.Eq, model.ProjectNo);
                if (conn.Exists(query))
                {
                    trans.Rollback();
                    return(r.Error("保存失败"));
                }
                var effectedCount = conn.Insert(model, trans);
                if (effectedCount == -1)
                {
                    trans.Rollback();
                    return(r.Error("保存失败"));
                }
                trans.Commit();
            }
            return(r.SetValue(!r.HasError));
        }
Esempio n. 5
0
        /// <summary>
        /// 根据经纪人编号查询所属公司信息
        /// </summary>
        /// <returns></returns>
        public MessageRecorder <BrokerageFirm> GetByNo(string brokerNo)
        {
            var r = new MessageRecorder <BrokerageFirm>();

            if (string.IsNullOrEmpty(brokerNo))
            {
                return(r.Error("经纪人编号无效!"));
            }
            using (var conn = ConnectionManager.Open())
            {
                var brokerQuery = new Criteria <Broker>()
                                  .Where(m => m.No, Op.Eq, brokerNo)
                                  .Desc(m => m.No);
                var broker = conn.Get(brokerQuery);
                if (broker == null)
                {
                    return(r.Error("程序错误,请重新登录后重试!"));
                }
                var firmQuery = new Criteria <BrokerageFirm>()
                                .Where(m => m.FirmNo, Op.Eq, broker.FirmNo)
                                .Desc(m => m.FirmNo);
                var firm = conn.Get(firmQuery);
                if (firm == null)
                {
                    r.SetValue(new BrokerageFirm());
                }
                r.SetValue(firm);
                return(r);
            }
        }
Esempio n. 6
0
        public MessageRecorder <bool> Delete(long[] ids)
        {
            var mr = new MessageRecorder <bool>();

            using (var conn = ConnectionManager.Open())
            {
                var trans = conn.BeginTransaction();

                var query = new Criteria <Account>()
                            .Where(m => m.Id, Op.In, ids)
                            .And("`no` NOT IN (SELECT `AccountNo` FROM `base_account_role_ref` WHERE `RoleNo` NOT IN('BranchAdmin', 'BranchStaff'))");
                var models = conn.Query(query);

                var isOk = models.All(m => conn.Delete(m, trans));
                if (isOk)
                {
                    trans.Commit();

                    foreach (var model in models)
                    {
                        mr.Append(AccessoryService.DeleteObject(model.Photo));
                    }
                    mr.SetValue(!mr.HasError);
                }
                else
                {
                    trans.Rollback();
                }
                return(mr);
            }
        }
Esempio n. 7
0
        public MessageRecorder <Account> GetAccountByMobileNo(string mobileNo)
        {
            var r = new MessageRecorder <Account>();

            if (string.IsNullOrEmpty(mobileNo))
            {
                return(r.Error("请输入手机号码"));
            }
            using (var conn = ConnectionManager.Open())
            {
                var query = new Criteria <Account>()
                            .Or(m => m.Phone, Op.Eq, mobileNo)
                            .Or(m => m.Phone2, Op.Eq, mobileNo)
                            .Or(m => m.Phone3, Op.Eq, mobileNo)
                            .Limit(1);
                var model = conn.Query(query).FirstOrDefault();
                if (model != null)
                {
                    var roleQuery = new Criteria <AccountRoleRef>()
                                    .Where(m => m.AccountNo, Op.Eq, model.No);
                    model.RoleRefs = conn.Query(roleQuery);
                }
                return(r.SetValue(model));
            }
        }
Esempio n. 8
0
        public override MessageRecorder <bool> Update(Branch model)
        {
            var r = new MessageRecorder <bool>();

            model.UpdatedAt = Now;
            model.UpdatedBy = AccountNo;

            using (var conn = ConnectionManager.Open())
            {
                var trans = conn.BeginTransaction();

                var query = new Criteria <Branch>()
                            .Where(m => m.No, Op.Eq, model.No)
                            .Or(m => m.Name, Op.Eq, model.Name)
                            .And(m => m.Id, Op.NotEq, model.Id);
                if (conn.Exists(query))
                {
                    trans.Rollback();
                    return(r.Error("编号或者名称重复"));
                }

                var effectedCount = conn.Update(model, trans);
                if (!effectedCount)
                {
                    trans.Rollback();
                    return(r.Error("保存失败"));
                }

                trans.Commit();
                return(r.SetValue(true));
            }
        }
Esempio n. 9
0
        public static MessageRecorder <bool> Delete <TModel>(long[] ids)
            where TModel : class
        {
            var r = new MessageRecorder <bool>();

            if (ids.IsNullOrEmpty())
            {
                return(r.Error("ids没有指定值"));
            }

            Register <TModel>();

            using (var conn = ConnectionManager.Open())
            {
                var trans = conn.BeginTransaction();

                var models = conn.Query <TModel>(
                    $"SELECT * FROM `{NamingHelper.MapClassToTable(typeof (TModel).FullName)}` WHERE `id` in ({string.Join(",", ids)})");
                if (models.IsNullOrEmpty())
                {
                    return(r.SetValue(true).Info("已被删除"));
                }

                trans.Commit();
                return(r.SetValue(true).Info("删除成功"));
            }
        }
Esempio n. 10
0
        public override MessageRecorder <bool> Create(Developer model)
        {
            var r = new MessageRecorder <bool>();

            model.CreatedAt = Now;
            model.CreatedBy = AccountNo;

            using (var conn = ConnectionManager.Open())
            {
                var trans = conn.BeginTransaction();

                var query = new Criteria <Developer>()
                            .Where(m => m.No, Op.Eq, model.No)
                            .Or(m => m.Name, Op.Eq, model.Name);
                if (conn.Exists(query))
                {
                    trans.Rollback();
                    return(r.Error("编号或者名称重复"));
                }

                var effectedCount = conn.Insert(model, trans);
                if (effectedCount == -1)
                {
                    trans.Rollback();
                    return(r.Error("保存失败"));
                }

                trans.Commit();
                return(r.SetValue(true));
            }
        }
Esempio n. 11
0
 public void StopRecording()
 {
     msgRecorder = null;
     if (GameGUI.Inst.guiLayer != null)
     {
         GameGUI.Inst.guiLayer.SendGuiLayerRecordingStop();
     }
 }
Esempio n. 12
0
        public IHttpActionResult GetFirmAll()
        {
            var r       = new MessageRecorder <IList <BrokerageFirm> >();
            var u       = Request.GetQueryString("u");
            var service = new BrokerageFirmService(u);

            r.SetValue(service.GetAll());
            return(Ok(r));
        }
Esempio n. 13
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public override MessageRecorder <bool> Update(Project model)
        {
            var r = new MessageRecorder <bool>();

            model.CreatedAt = Now;
            model.CreatedBy = AccountNo;
            string oldKey;

            using (var conn = ConnectionManager.Open())
            {
                var trans = conn.BeginTransaction();
                var query = new Criteria <Project>()
                            .Where(m => m.No, Op.Eq, model.No)
                            .Or(m => m.Name, Op.Eq, model.Name)
                            .And(m => m.Id, Op.NotEq, model.Id);
                if (conn.Exists(query))
                {
                    trans.Rollback();
                    return(r.Error("编号或者名称重复"));
                }
                var obj = new Criteria <Project>()
                          .Where(m => m.Id, Op.Eq, model.Id)
                          .Select(m => m.AddrPic);
                oldKey = conn.ExecuteScalarEx <string>(obj.ToSelectSql());

                var effectedCount = conn.Update(model, trans);
                if (!effectedCount)
                {
                    trans.Rollback();
                    return(r.Error("保存失败"));
                }

                foreach (var projectInfo in model.ProjectInfos)
                {
                    projectInfo.UpdatedAt = Now;
                    projectInfo.UpdatedBy = AccountNo;
                    projectInfo.DpNo      = model.No;
                }


                var effectedCount2 = conn.Update(model.ProjectInfos, trans);
                if (!effectedCount2)
                {
                    trans.Rollback();
                    return(r.Error("保存失败"));
                }

                trans.Commit();
            }
            if (!Equals(oldKey, model.AddrPic))
            {
                r.Append(AccessoryService.DeleteObject(oldKey));
                r.Append(AccessoryService.ClearExpiration(model.AddrPic));
            }
            return(r.SetValue(!r.HasError));
        }
Esempio n. 14
0
        public virtual MessageRecorder <bool> Create(TModel model)
        {
            var r = new MessageRecorder <bool>();

            using (var conn = ConnectionManager.Open())
            {
                var effectedCount = conn.Insert(model);
                return(r.SetValue(effectedCount > -1));
            }
        }
Esempio n. 15
0
        public IHttpActionResult SetFirm()
        {
            var r       = new MessageRecorder <IList <BrokerageFirm> >();
            var u       = Request.GetQueryString("u");
            var n       = Request.GetQueryString("n");
            var service = new BrokerService();
            var a       = service.UpdateFirm(u, n);

            return(Ok(a));
        }
Esempio n. 16
0
        /// <summary>
        /// 删除账号
        /// </summary>
        /// <param name="no"></param>
        /// <param name="projectNo"></param>
        /// <returns></returns>
        public MessageRecorder <bool> Remove(string no, string projectNo)
        {
            var mr = new MessageRecorder <bool>();

            if (string.IsNullOrEmpty(no))
            {
                return(mr.Error("请指定账号"));
            }
            if (string.IsNullOrEmpty(projectNo))
            {
                return(mr.Error("请指定楼盘编号号"));
            }

            using (var conn = ConnectionManager.Open())
            {
                var trans = conn.BeginTransaction();

                var accountQuery = new Criteria <PropertyAdvisor>()
                                   .Where(m => m.No, Op.Eq, no)
                                   .And(m => m.ProjectNo, Op.Eq, projectNo);
                var account = conn.Get(accountQuery);

                if (account != null)
                {
                    var effectedCount1 = conn.Delete(account, trans);
                    if (!effectedCount1)
                    {
                        trans.Rollback();
                        return(mr.Error("删除失败"));
                    }
                }

                var query = new Criteria <PropertyAdvisor>()
                            .Where(m => m.No, Op.Eq, no)
                            .Desc(m => m.No)
                            .Limit(1);
                if (!conn.Exists(query))
                {
                    var q1 = new Criteria <AccountRoleRef>()
                             .Where(m => m.AccountNo, Op.Eq, no)
                             .And(m => m.BranchNo, Op.Eq, "420100")
                             .And(m => m.RoleNo, Op.Eq, "PropertyStaff");
                    var r2 = conn.Execute(q1.ToDeleteSql(), null, trans);
                    if (r2 == -1)
                    {
                        trans.Rollback();
                        return(mr.Error("账户已经存在,不能重复创建"));
                    }
                }

                trans.Commit();

                return(mr.SetValue(true));
            }
        }
Esempio n. 17
0
        public MessageRecorder <IList <Customer> > GetAllCustomer()
        {
            var r           = new MessageRecorder <IList <Customer> >();
            var customerAll = GetAll();

            if (!customerAll.Any())
            {
                return(r.Error("没有客户信息"));
            }
            return(r.SetValue(customerAll));
        }
Esempio n. 18
0
        /// <summary>
        /// 获取所有经纪人与房源关系信息
        /// </summary>
        /// <returns></returns>
        public MessageRecorder <IList <HouseBrokerRef> > GetAllHouse()
        {
            var r          = new MessageRecorder <IList <HouseBrokerRef> >();
            var projectAll = GetAll();

            if (!projectAll.Any())
            {
                return(r.Error("没有任何房源!"));
            }
            return(r.SetValue(projectAll));
        }
Esempio n. 19
0
        /// <summary>
        /// 返回成功结果
        /// </summary>
        /// <typeparam name="TModel">模型泛型</typeparam>
        /// <param name="model">消息记录模型实例</param>
        /// <param name="func">消息记录模型转换函数</param>
        /// <returns></returns>
        public IHttpActionResult Ok <TModel>(MessageRecorder <TModel> model, Func <TModel, object> func = null)
        {
            var obj = new Dictionary <string, object>
            {
                { "HasError", model.HasError },
                { "Errors", model.Errors.Select(m => m.Message).ToList() },
                { "Model", model.Value == null ? null : func?.Invoke(model.Value) ?? model.Value }
            };

            return(Ok(obj));
        }
Esempio n. 20
0
        /// <summary>
        /// 检查账户是否存在
        /// </summary>
        /// <param name="username"></param>
        /// <returns></returns>
        public MessageRecorder <bool> IsExists(string username)
        {
            var r = new MessageRecorder <bool>();

            if (string.IsNullOrEmpty(username))
            {
                return(r.Error("请输入账户名"));
            }
            var account = GetAll().FirstOrDefault(m => m.ValidNos.Contains(username));

            return(r.SetValue(account != null));
        }
Esempio n. 21
0
        public IHttpActionResult GetHouseById(string id)
        {
            var mr = new MessageRecorder <Project>();

            if (id.IsNullOrEmpty())
            {
                return(Ok(mr.Error("楼盘编号无效")));
            }

            var service = new ProjectService();
            var r       = service.GetByNo(id);

            return(Ok(mr.SetValue(r)));
        }
Esempio n. 22
0
        /// <summary>
        /// 上传一个新文件
        /// </summary>
        public MessageRecorder <bool> PutObject(string key, string file, ObjectMetadata om = null)
        {
            var r = new MessageRecorder <bool>();

            try
            {
                _client.PutObject(BucketName, key, file, om);
                return(r.Info("上传文件成功").SetValue(true));
            }
            catch (Exception ex)
            {
                return(r.Error($"上传文件失败. 原因:{ex.Message}"));
            }
        }
Esempio n. 23
0
        /// <summary>
        /// 设置存储空间ACL的值
        /// </summary>
        public MessageRecorder <bool> SetBucketAcl(CannedAccessControlList cac)
        {
            var r = new MessageRecorder <bool>();

            try
            {
                _client.SetBucketAcl(BucketName, cac);
                return(r.Info("设置存储空间权限成功").SetValue(true));
            }
            catch (Exception ex)
            {
                return(r.Error($"设置存储空间权限失败. 原因:{ex.Message}"));
            }
        }
Esempio n. 24
0
        /// <summary>
        /// 获取元数据
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public MessageRecorder <ObjectMetadata> GetObjectMetadata(string key)
        {
            var r = new MessageRecorder <ObjectMetadata>();

            try
            {
                r.Value = _client.GetObjectMetadata(BucketName, key);
                return(r.Info("获取文件元数据成功"));
            }
            catch (Exception ex)
            {
                return(r.Error($"获取文件元数据失败. 原因:{ex.Message}"));
            }
        }
Esempio n. 25
0
        /// <summary>
        /// 删除文件
        /// </summary>
        public MessageRecorder <bool> DeleteObject(string key)
        {
            var r = new MessageRecorder <bool>();

            try
            {
                _client.DeleteObject(BucketName, key);
                return(r.Info("删除文件成功").SetValue(true));
            }
            catch (Exception ex)
            {
                return(r.Error($"删除文件失败. 原因:{ex.Message}"));
            }
        }
Esempio n. 26
0
        public IHttpActionResult Get()
        {
            var m  = Request.GetQueryString("m");
            var mr = new MessageRecorder <bool>();
            //TODO 更新本周推客数量、活跃客户数、成交金额
            var now = DateTime.Now;

            return(Ok(mr, n => new
            {
                TuikeAmount = 0 + now.Hour * 100 + now.Minute,
                ActiveCustomer = now.Hour * 100 + +now.Minute * 2 + now.Second,
                TotalSales = now.Hour * 200 + +now.Minute * 50 + now.Second * 10,
                AlertCount = now.Minute % 10
            }));
        }
Esempio n. 27
0
        /// <summary>
        /// 获取存储空间ACL的值
        /// </summary>
        public MessageRecorder <IList <Permission> > GetBucketAcl()
        {
            var r = new MessageRecorder <IList <Permission> >();

            try
            {
                var result = _client.GetBucketAcl(BucketName);
                r.Value = result.Grants.Select(m => m.Permission).ToList();
                return(r);
            }
            catch (Exception ex)
            {
                return(r.Error($"获取存储空间权限失败. 原因:{ex.Message}"));
            }
        }
Esempio n. 28
0
        /// <summary>
        /// 上传附件
        /// </summary>
        /// <param name="request">HttpRequest</param>
        /// <param name="inputName">获取指定Input控件的文件</param>
        /// <returns>上传结果信息</returns>
        public static MessageRecorder <IList <string> > Upload(
            HttpRequestBase request,
            string inputName = null)
        {
            var mr = new MessageRecorder <IList <string> > {
                Value = new List <string>()
            };
            var service = new AliyunOssService();

            for (var i = 0; i < request.Files.Count; i++)
            {
                var upload = request.Files.AllKeys[i];
                //如果指定了Input名称,则寻找对应的Input执行上传操作
                if (Equals(upload, inputName))
                {
                    continue;
                }

                var file = request.Files[i];
                if (file == null)
                {
                    continue;
                }
                if (file.ContentLength <= 0)
                {
                    continue;
                }

                // Uploaded file
                // Use the following properties to get file's name, size and MIMEType
                //int fileSize = file.ContentLength;
                //string fileName = file.FileName;
                //string mimeType = file.ContentType;

                var metadata = new ObjectMetadata
                {
                    ExpirationTime     = DateTime.Now.AddDays(1),
                    ContentLength      = file.InputStream.Length,
                    ContentType        = file.ContentType,
                    ContentDisposition = file.FileName
                };
                var key = Guid.NewGuid().ToString("N");
                var mr2 = service.PutObject(key, file.InputStream, metadata);
                mr.Append(mr2);
                mr.Value.Add(key);
            }
            return(mr);
        }
Esempio n. 29
0
        public static MessageRecorder <TModel> Load <TModel>(long id)
            where TModel : class
        {
            var r = new MessageRecorder <TModel>();

            Register <TModel>();

            using (var conn = ConnectionManager.Open())
            {
                var model = conn.Get <TModel>(id);
                //var model = conn.Query<TModel>(
                //    $"SELECT * FROM `{NamingHelper.MapClassToTable(typeof(TModel).FullName)}` WHERE `id` = {id}")
                //    .FirstOrDefault();
                return(r.SetValue(model));
            }
        }
Esempio n. 30
0
 public void Init(string recordingFilename, bool ignoreMessages = true, bool recordMyActions = true)
 {
     mIgnoreMessages  = ignoreMessages;
     mRecordMyActions = recordMyActions;
     if (recordingFilename == "")
     {
         recordingFilename = MessageRecorder.GetDefaultFileName();
     }
     mRecordingFilename = System.IO.Path.GetFullPath(recordingFilename);
     DataMessageManager.Inst.StartRecording(recordingFilename, mIgnoreMessages);
     if (GameManager.InBatchMode())
     {
         InvokeRepeating("InactivityCheck", 0, 0.1f * minInactivityTimeForFile);
         InvokeRepeating("KeepAlive", 20, 4 * 60);
     }
 }