Exemplo n.º 1
0
        public GetSelectHouseInfoResult Post(GetSelectHouseInfoRequestModel req)
        {
            Logger.LogDebug("GetSelectHouseInfo Request:" + JsonHelper.SerializeObject(req), "GetSelectHouseInfoController", "Post");
            var ret = new GetSelectHouseInfoResult()
            {
                Code   = 0,
                ErrMsg = ""
            };

            try
            {
                if (_projectBLL.GetModels(x => x.ID == req.ProjectID).FirstOrDefault() == null)
                {
                    ret.Code   = 201;
                    ret.ErrMsg = "项目ID不存在!";
                }
                if (_subscriberBLL.GetModels(x => x.ID == req.SubscriberID).FirstOrDefault() == null)
                {
                    ret.Code   = 202;
                    ret.ErrMsg = "认购人ID不存在!";
                }
                else
                {
                    var selectResult = _selectionBLL.GetModels(x => x.ProjectID == req.ProjectID && x.SubscriberID == req.SubscriberID).FirstOrDefault();
                    if (selectResult != null)
                    {
                        var _hs       = _houseBLL.GetModels(x => x.ID == selectResult.HouseID).FirstOrDefault();
                        var houseInfo = new HouseAndEstateEntity()
                        {
                            HouseEstateName     = _hs.HouseEstate.Name,
                            SerialNumber        = _hs.SerialNumber,
                            Group               = _hs.HouseGroup.Name,
                            Block               = _hs.Block,
                            Building            = _hs.Building,
                            Unit                = _hs.Unit,
                            RoomNumber          = _hs.RoomNumber,
                            Toward              = _hs.Toward,
                            RoomType            = _hs.RoomType.Name,
                            EstimateBuiltUpArea = _hs.EstimateBuiltUpArea,
                            EstimateLivingArea  = _hs.EstimateLivingArea,
                            AreaUnitPrice       = _hs.AreaUnitPrice,
                            TotalPrice          = _hs.TotalPrice
                        };
                        ret.HouseInfo = houseInfo;
                    }
                    else
                    {
                        ret.Code   = 203;
                        ret.ErrMsg = "该认购人未在该项目中选房!";
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.LogException("获取选房详情发生", "GetSelectHouseInfoController", "Post", ex);
                ret.Code   = 999;
                ret.ErrMsg = ex.Message;
            }
            return(ret);
        }
        public GetSubscriberSelectionHistoryResultEntity Post(GetSubscriberSelectionHistoryRequestModel req)
        {
            Logger.LogDebug("GetSubscriberSelectionHistory Request:" + JsonHelper.SerializeObject(req), "GetSubscriberSelectionHistoryController", "Post");
            var ret = new GetSubscriberSelectionHistoryResultEntity()
            {
                Code   = 0,
                ErrMsg = ""
            };

            try
            {
                //if(_projectBLL.GetModels(x => x.ID == req.ProjectID).FirstOrDefault() == null)
                //{
                //    ret.code = 201;
                //    ret.ErrMsg = "项目ID不存在!";
                //}
                if (_subscriberBLL.GetModels(x => x.ID == req.SubscriberID).FirstOrDefault() == null)
                {
                    ret.Code   = 202;
                    ret.ErrMsg = "认购人ID不存在!";
                }
                else
                {
                    //var _proList = _subscriberProjectMapBLL.GetModels(x => x.SubscriberID == req.SubscriberID).ToList();
                    //var _selectionList = _selectionBLL.GetModels(x => x.SubscriberID == req.SubscriberID).ToList();
                    //var _noticeList = _noticeBLL.GetModels(x => x.ShakingNumberResult.SubscriberProjectMapping.SubscriberID == req.SubscriberID).ToList();

                    //var _historyList = new List<SubscriberSelectionEntity>();
                    //foreach(var pro in _proList)
                    //{
                    //    var _shakingNumber = _shakingNumberBLL.GetModels(x => x.SubscriberProjectMappingID == pro.ID).FirstOrDefault();
                    //    var _notice = _noticeList.FirstOrDefault(x => x.ShakingNumberResult.SubscriberProjectMappingID == pro.ID);
                    //    var _selection = _selectionList.FirstOrDefault(x => x.SubscriberID == pro.SubscriberID && x.ProjectID == pro.ProjectID);

                    //    var _history = new SubscriberSelectionEntity()
                    //    {
                    //        ProjectID = pro.ProjectID,
                    //        ProjectNumber = pro.Project.Number,
                    //        ProjectName = pro.Project.Name,
                    //        NoticeStatus = _notice != null ? _notice.ResultType : 0,
                    //        AuthStatus = _shakingNumber == null ? 0 : (_shakingNumber.IsAuthorized ? 1 : 0),
                    //        SelectionStatus = _selection != null ? 1 : 0,
                    //        ConfirmStatus = _selection != null ? (_selection.IsConfirm ? 1 : 0) : 0,
                    //        ShakingResultID = _shakingNumber == null ? 0 : _shakingNumber.ID
                    //    };
                    //    _historyList.Add(_history);
                    //}
                    //ret.SelectionList = _historyList;
                    ret.SelectionList = _selectionBLL.GetSubscriberSelectionRecord(req.SubscriberID);
                }
            }
            catch (Exception ex)
            {
                Logger.LogException("获取认购人认购历史时发生异常!", "GetSubscriberSelectionHistoryController", "Post", ex);
                ret.Code   = 999;
                ret.ErrMsg = ex.Message;
            }
            return(ret);
        }
        private Subscriber GetSubscriberBySPMId(int spmId)
        {
            Subscriber result = new Subscriber();
            var        smInfo = _subscriberProjectMappingBLL.GetModels(sm => sm.ID == spmId).FirstOrDefault();

            if (smInfo != null)
            {
                result = _subscriberBLL.GetModels(s => s.ID == smInfo.SubscriberID).FirstOrDefault();
            }
            else
            {
                result = null;
            }
            return(result);
        }
        public GetSubscriberResultEntity Post(GetSubscriberRequestModel req)
        {
            Logger.LogDebug("GetAllSubscribers Request:" + JsonHelper.SerializeObject(req), "GetAllSubscribersController", "Post");
            var ret = new GetSubscriberResultEntity()
            {
                Code   = 0,
                ErrMsg = ""
            };

            try
            {
                //if(_projectBLL.GetModels(x => x.ID == req.ProjectID).FirstOrDefault() == null)
                //{
                //    ret.code = 201;
                //    ret.ErrMsg = "项目ID不存在!";
                //}
                //else
                //{
                //var _dbSubList = _subscriberBLL.GetModelsByPage(req.PageSize, req.PageIndex, true, x => x.ID, x => x.ProjectID == req.ProjectID).ToList();
                var _dbSubList = _subscriberBLL.GetModelsByPage(req.PageSize, req.PageIndex, true, x => x.ID, x => 1 == 1).ToList();
                var _subList   = new List <SubscriberEntity>();
                foreach (var _dbSub in _dbSubList)
                {
                    var _sub = new SubscriberEntity()
                    {
                        ID             = _dbSub.ID,
                        Name           = _dbSub.Name,
                        IdentityNumber = _dbSub.IdentityNumber,
                        Telephone      = _dbSub.Telephone,
                        Address        = _dbSub.Address,
                        ZipCode        = _dbSub.ZipCode,
                        MaritalStatus  = _dbSub.MaritalStatus,
                        ResidenceArea  = _dbSub.ResidenceArea,
                        WorkArea       = _dbSub.WorkArea,
                    };
                    _subList.Add(_sub);
                }
                ret.SubscriberList = _subList;
                ret.RecordCount    = _subscriberBLL.GetModels(x => 1 == 1).Count();
                //}
            }
            catch (Exception ex)
            {
                Logger.LogException("获取认购人时发生异常", "GetSubscribersController", "Post", ex);
            }
            return(ret);
        }
Exemplo n.º 5
0
        public BaseResultEntity Post(ImportSubscriberRequestEntity req)
        {
            Logger.LogDebug("ImportSubscriber Request:" + JsonHelper.SerializeObject(req), "ImportSubscriberController", "Post");
            BaseResultEntity ret = new BaseResultEntity()
            {
                Code   = 0,
                ErrMsg = ""
            };

            try
            {
                #region 请求数据校验
                var _pro = _projectBLL.GetModels(x => x.ID == req.ProjectID).FirstOrDefault();
                if (_pro == null)
                {
                    ret.Code   = 401;
                    ret.ErrMsg = "项目ID不存在!";
                    return(ret);
                }
                else if (req.ProjectGroup == null)
                {
                    ret.Code   = 402;
                    ret.ErrMsg = "项目分组不能为空!";
                    return(ret);
                }
                foreach (var shake in req.ShakingNumberList)
                {
                    if (shake.ShakingNumber == null)
                    {
                        ret.Code   = 403;
                        ret.ErrMsg = "摇号编号不能为空!";
                        return(ret);
                    }
                    if (shake.Subscriber == null)
                    {
                        ret.Code   = 404;
                        ret.ErrMsg = "摇号编号为" + shake.ShakingNumber + "的认购人信息不能为空!";
                        return(ret);
                    }
                    if (shake.ShakingNumberSequance <= 0)
                    {
                        ret.Code   = 405;
                        ret.ErrMsg = "摇号编号为" + shake.ShakingNumber + "摇号序号不能为空或小于1!";
                        return(ret);
                    }
                    if (shake.SelectHouseSequance <= 0)
                    {
                        ret.Code   = 405;
                        ret.ErrMsg = "摇号编号为" + shake.ShakingNumber + "选房序号不能为空或小于1!";
                        return(ret);
                    }
                    if (shake.Subscriber.Name == null || shake.Subscriber.IdentityNumber == null || shake.Subscriber.Telephone == null || shake.Subscriber.Address == null || shake.Subscriber.MaritalStatus == null || shake.Subscriber.ZipCode == null || shake.Subscriber.ResidenceArea == null || shake.Subscriber.WorkArea == null)
                    {
                        ret.Code   = 406;
                        ret.ErrMsg = "摇号编号为" + shake.ShakingNumber + "认购人信息不完整!";
                        return(ret);
                    }
                }
                #endregion

                #region 创建项目分组
                int _projectGroupID = 0;
                try
                {
                    if (_projectGroupBLL.GetModels(x => x.ProjectID == req.ProjectID && x.ProjectGroupName == req.ProjectGroup).FirstOrDefault() == null) //项目分组不存在
                    {
                        var _progrp = new ProjectGroup()
                        {
                            ProjectID        = req.ProjectID,
                            ProjectGroupName = req.ProjectGroup,
                            CreateTime       = DateTime.Now,
                            LastUpdate       = DateTime.Now
                        };
                        _projectGroupBLL.Add(_progrp);
                    }
                    _projectGroupID = _projectGroupBLL.GetModels(x => x.ProjectID == req.ProjectID && x.ProjectGroupName == req.ProjectGroup).FirstOrDefault().ID;
                }
                catch (Exception ex)
                {
                    Logger.LogException("创建项目分组时发生异常!", "ImportSubscriberController", "Post", ex);
                    ret.Code   = 999;
                    ret.ErrMsg = ex.Message;
                    return(ret);
                }
                #endregion

                var _subList      = new List <Subscriber>();
                var _existSubList = new List <Subscriber>();
                var _familyList   = new List <SubscriberFamilyMemberEntity>();
                var _shakeList    = new List <ShakingNumberResult>();
                #region 创建认购人
                var _dbSubList = _subscriberBLL.GetModels(x => 1 == 1).ToList();
                foreach (var shake in req.ShakingNumberList)
                {
                    try
                    {
                        var _sub = _dbSubList.FirstOrDefault(x => x.IdentityNumber == shake.Subscriber.IdentityNumber);
                        if (_sub == null)  //认购人不存在
                        {
                            var _subscriber = new Subscriber()
                            {
                                Name               = shake.Subscriber.Name,
                                IdentityNumber     = shake.Subscriber.IdentityNumber,
                                Telephone          = shake.Subscriber.Telephone,
                                Address            = shake.Subscriber.Address,
                                ZipCode            = shake.Subscriber.ZipCode,
                                MaritalStatus      = shake.Subscriber.MaritalStatus,
                                ResidenceArea      = shake.Subscriber.ResidenceArea,
                                WorkArea           = shake.Subscriber.WorkArea,
                                FamilyMemberNumber = shake.FamilyMemberList == null ? 0 : shake.FamilyMemberList.Count(),
                                CreateTime         = DateTime.Now,
                                LastUpdate         = DateTime.Now
                            };
                            _subList.Add(_subscriber);

                            if (shake.FamilyMemberList != null && shake.FamilyMemberList.Count() > 0)
                            {
                                _familyList.AddRange(shake.FamilyMemberList);
                            }
                        }
                        else
                        {
                            _existSubList.Add(_sub);
                        }
                    }
                    catch (Exception ex)
                    {
                        Logger.LogException("创建摇号编号为" + shake.ShakingNumber + "的认购人时发生异常!", "ImportSubscriberController", "Post", ex);
                        ret.Code   = 999;
                        ret.ErrMsg = ex.Message;
                        return(ret);
                    }
                }
                _subscriberBLL.AddRange(_subList);
                #endregion

                #region 创建认购人家庭成员
                var _ttlSubList   = _subscriberBLL.GetModels(x => 1 == 1).ToList();
                var _dbFamilyList = new List <SubscriberFamilyMember>();
                foreach (var family in _familyList)
                {
                    try
                    {
                        var _sub = _ttlSubList.FirstOrDefault(x => x.IdentityNumber == family.SubscriberIdentityNumber);
                        if (_sub != null)
                        {
                            var _fam = new SubscriberFamilyMember()
                            {
                                SubscriberID   = _sub.ID,
                                Name           = family.Name,
                                IdentityNumber = family.IdentityNumber,
                                Relationship   = family.Relationship,
                                Area           = family.Area,
                                CreateTime     = DateTime.Now,
                                LastUpdate     = DateTime.Now
                            };
                            _dbFamilyList.Add(_fam);
                        }
                    }
                    catch (Exception ex)
                    {
                        _subscriberBLL.DeleteRange(_subList);  //回滚新建认购人
                        Logger.LogException("创建身份证为" + family.IdentityNumber + "的认购人家庭成员时发生异常!", "ImportSubscriberController", "Post", ex);
                        ret.Code   = 999;
                        ret.ErrMsg = ex.Message;
                        return(ret);
                    }
                }
                _subscriberFamilyBLL.AddRange(_dbFamilyList);
                #endregion

                #region 创建认购人项目关联关系
                var _subProMapList = new List <SubscriberProjectMapping>();
                foreach (var sub in _subList)//添加新认购人Mapping
                {
                    var _subProMap = new SubscriberProjectMapping()
                    {
                        SubscriberID = sub.ID,
                        ProjectID    = req.ProjectID,
                        CreateTime   = DateTime.Now,
                        LastUpdate   = DateTime.Now
                    };
                    _subProMapList.Add(_subProMap);
                }

                var _existSubMap = _subscriberProjectMapBLL.GetModels(x => x.ProjectID == req.ProjectID).ToList();
                foreach (var sub in _existSubList)//添加已存在认购人Mapping
                {
                    if (!_existSubMap.Any(x => x.SubscriberID == sub.ID))
                    {
                        var _subProMap = new SubscriberProjectMapping()
                        {
                            SubscriberID = sub.ID,
                            ProjectID    = req.ProjectID,
                            CreateTime   = DateTime.Now,
                            LastUpdate   = DateTime.Now
                        };
                        _subProMapList.Add(_subProMap);
                    }
                }
                _subProMapList.OrderBy(x => x.SubscriberID);
                _subscriberProjectMapBLL.AddRange(_subProMapList);
                #endregion

                #region 创建摇号结果
                var _dbSubProMap         = _subscriberProjectMapBLL.GetModels(x => x.ProjectID == req.ProjectID).ToList();
                var _existShakingList    = _shakingNumberBLL.GetModels(x => x.ProjectGroup.ProjectID == req.ProjectID).ToList();
                var _dbshakingNumberList = new List <ShakingNumberResult>();
                foreach (var shake in req.ShakingNumberList)
                {
                    try
                    {
                        var _subProMap = _dbSubProMap.FirstOrDefault(x => x.Subscriber.IdentityNumber == shake.Subscriber.IdentityNumber);
                        if (_subProMap != null && _projectGroupID != 0 && !_existShakingList.Any(x => x.SubscriberProjectMapping.Subscriber.IdentityNumber == shake.Subscriber.IdentityNumber))
                        {
                            var _shake = new ShakingNumberResult()
                            {
                                ProjectGroupID             = _projectGroupID,
                                SubscriberProjectMappingID = _subProMap.ID,
                                ShakingNumberSequance      = shake.ShakingNumberSequance,
                                SelectHouseSequance        = shake.SelectHouseSequance,
                                ShakingNumber = shake.ShakingNumber,
                                NoticeTime    = 0,
                                IsError       = false,
                                IsContacted   = false,
                                IsCallBack    = false,
                                IsMessageSend = false,
                                CreateTime    = DateTime.Now,
                                LastUpdate    = DateTime.Now
                            };
                            _dbshakingNumberList.Add(_shake);
                        }
                    }
                    catch (Exception ex)
                    {
                        _subscriberProjectMapBLL.DeleteRange(_subProMapList);  //回滚新建认购人项目关联
                        Logger.LogException("创建摇号编号为" + shake.ShakingNumber + "的摇号结果时发生异常!", "ImportSubscriberController", "Post", ex);
                        ret.Code   = 999;
                        ret.ErrMsg = ex.Message;
                        return(ret);
                    }
                }
                _shakingNumberBLL.AddRange(_dbshakingNumberList);
                #endregion
            }
            catch (Exception ex)
            {
                Logger.LogException("导入认购人和摇号信息时发生异常!", "ImportSubscriberController", "Post", ex);
                ret.Code   = 999;
                ret.ErrMsg = ex.Message;
            }
            return(ret);
        }
Exemplo n.º 6
0
        public GetHouseEstateDetailsResultEntity Post(GetHouseEstateDetailsRequestModel req)
        {
            var ret = new GetHouseEstateDetailsResultEntity()
            {
                Code   = 0,
                ErrMsg = "",
                Houses = new List <HouseInfo>()
            };

            try
            {
                if (req.HouseEstateId <= 0 || req.ProjectId <= 0)
                {
                    ret.Code   = 401;
                    ret.ErrMsg = "入参无效。";
                }
                else
                {
                    var houses = _houseBLL.GetModels(h => h.ProjectID == req.ProjectId && h.HouseEstateID == req.HouseEstateId && h.Building == req.BuildingId).ToList();

                    houses.ForEach(h =>
                    {
                        var houseInfo      = new HouseInfo();
                        houseInfo.Building = h.Building;
                        houseInfo.Unit     = h.Unit;

                        var subscriberInfo    = _subscriberBLL.GetModels(i => i.ID == h.SubscriberID).FirstOrDefault();
                        string subscriberName = string.Empty;
                        if (subscriberInfo != null)
                        {
                            subscriberName = subscriberInfo.Name;
                        }

                        var groupInfo    = _houseGroupBLL.GetModels(g => g.ID == h.GroupID).FirstOrDefault();
                        string groupName = string.Empty;
                        if (groupInfo != null)
                        {
                            groupName = groupInfo.Name;
                        }

                        var roomTypeInfo = _roomTypeBLL.GetModels(r => r.ID == h.RoomTypeID).FirstOrDefault();
                        string roomType  = string.Empty;
                        if (roomTypeInfo != null)
                        {
                            roomType = roomTypeInfo.Name;
                        }
                        houseInfo.HouseDetail = new Model.HouseEntity()
                        {
                            AreaUnitPrice       = h.AreaUnitPrice,
                            Block               = h.Block,
                            Building            = h.Building,
                            EstimateBuiltUpArea = h.EstimateBuiltUpArea,
                            EstimateLivingArea  = h.EstimateLivingArea,
                            Group               = groupName,
                            HouseID             = h.ID,
                            RoomNumber          = h.RoomNumber,
                            RoomType            = roomType,
                            SerialNumber        = h.SerialNumber,
                            SubscriberID        = h.SubscriberID,
                            SubscriberName      = subscriberName,
                            TotalPrice          = h.TotalPrice,
                            Toward              = h.Toward,
                            Unit = h.Unit
                        };
                        ret.Houses.Add(houseInfo);
                    });
                }
            }
            catch (Exception ex)
            {
                Logger.LogException("获取楼盘明细信息时发生异常!", "GetHouseEstateDetailsController", "Post", ex);
                ret.Code   = 999;
                ret.ErrMsg = ex.Message;
            }

            return(ret);
        }