public BuildingRequest SaveAsync(BuildingRequest cls)
 {
     try
     {
         cls.Modified = DateTime.Now;
         var headers = Request.Headers?.ToList();
         if (headers == null || headers.Count <= 0)
         {
             return(null);
         }
         var guid = Request.Headers.GetValues("cusGuid").FirstOrDefault();
         if (string.IsNullOrEmpty(guid))
         {
             return(null);
         }
         var cusGuid = Guid.Parse(guid);
         if (!Assistence.CheckCustomer(cusGuid))
         {
             return(null);
         }
         db.BuildingRequests.AddOrUpdate(cls);
         db.SaveChanges();
         Assistence.SaveLog(cusGuid, cls.Guid, EnTemp.Requests);
         return(cls);
     }
     catch (Exception ex)
     {
         WebErrorLog.ErrorInstence.StartErrorLog(ex);
         return(null);
     }
 }
Exemple #2
0
 protected internal virtual void OnBuildingRequest(object sender, IBuildingRequestEventArgs <TService> e)
 {
     if (!Enabled)
     {
         return;
     }
     BuildingRequest?.Invoke(sender, e);
 }
        public async Task <IActionResult> AddBuilding([FromBody] BuildingRequest building)
        {
            var userId        = Convert.ToInt32(HttpContext.Items["User"]);
            var name          = building.Name;
            var numberOfUnits = building.NumberOfUnits;
            var address       = building.Address;
            var buildingId    = await _baseInfoApplicationService.CreateBuildingAsync(name, numberOfUnits, address);

            await _baseInfoApplicationService.CreateAdminAsync(userId, buildingId);

            return(Ok(buildingId));
        }
Exemple #4
0
        /// <summary>
        /// 新增楼盘信息
        /// </summary>
        /// <param name="buildingRequest">请求实体</param>
        /// <param name="cancellationToken">验证</param>
        /// <returns></returns>
        public virtual async Task <BuildingResponse> CreateAsync(BuildingRequest buildingRequest, CancellationToken cancellationToken = default(CancellationToken))
        {
            var old = await _ibuildingStore.GetAsync(a => a.Where(b => b.Longitude == buildingRequest.Longitude && b.Latitude == buildingRequest.Latitude && b.BuildingName == buildingRequest.BuildingName));

            if (old != null)
            {
                return(null);
            }
            var building = _mapper.Map <Building>(buildingRequest);

            building.CreateTime = DateTime.Now;
            var response = await _ibuildingStore.CreateAsync(building, cancellationToken);

            return(_mapper.Map <BuildingResponse>(response));
        }
        public IActionResult Delete(BuildingRequest request)
        {
            Answer answer = new Answer();

            try
            {
                _buildingService.Delete(request);
                answer.Successful = true;
            }
            catch (Exception err)
            {
                answer.Message = err.Message;
            }

            return(Ok(answer));
        }
        /// <summary>
        /// Gets the buildings.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public BuildingResponse GetBuildings(BuildingRequest request)
        {
            var response = new BuildingResponse();

            if (request.LoadOptions.Contains("Buildings"))
            {
                response.Buildings = request.LoadOptions.Contains("IsActive")
                                                ? BuildingDao.GetBuildingsByActive(true)
                                                : BuildingDao.GetBuildings();
            }
            if (request.LoadOptions.Contains("Building"))
            {
                response.Building = BuildingDao.GetBuilding(request.BuildingId);
            }

            return(response);
        }
        public void Delete(BuildingRequest request)
        {
            using (MultifamilyPropertyContext db = new MultifamilyPropertyContext())
            {
                var building = db.Building.Find(request.Id);

                try
                {
                    building.Active          = false;
                    db.Entry(building).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
                    db.SaveChanges();
                }
                catch (Exception err)
                {
                    throw new Exception(err.Message);
                }
            }
        }
Exemple #8
0
        public virtual async Task <BuildingResponse> CreateAsync(string userId, BuildingRequest buildingRequest, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (buildingRequest == null)
            {
                throw new ArgumentNullException(nameof(buildingRequest));
            }

            var buildings = _mapper.Map <Buildings>(buildingRequest);

            buildings.CreateUser = userId;
            buildings.CreateTime = DateTime.Now;
            if (await _ipermissionExpansionManager.HavePermission(userId, "OnSiteRoles"))
            {
                buildings.ResidentUser1 = userId;
            }
            await _buildingsStore.CreateAsync(buildings, cancellationToken);

            return(_mapper.Map <BuildingResponse>(buildings));
        }
        public void Add(BuildingRequest request)
        {
            using (MultifamilyPropertyContext db = new MultifamilyPropertyContext())
            {
                var building = new Building();

                try
                {
                    building.IdResidentialComplex = request.IdResidentialComplex;
                    building.Name = request.Name;

                    db.Building.Add(building);
                    db.SaveChanges();
                }
                catch (Exception err)
                {
                    throw new Exception(err.Message);
                }
            }
        }
Exemple #10
0
        public virtual async Task UpdateAsync(string userId, string id, BuildingRequest buildingRequest, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (buildingRequest == null)
            {
                throw new ArgumentNullException(nameof(buildingRequest));
            }
            var building = await _buildingsStore.GetAsync(a => a.Where(b => b.Id == id && !b.IsDeleted));

            if (building == null)
            {
                return;
            }
            var newBuilding = _mapper.Map <Buildings>(buildingRequest);

            newBuilding.IsDeleted  = building.IsDeleted;
            newBuilding.CreateTime = building.CreateTime;
            newBuilding.CreateUser = building.CreateUser;
            newBuilding.UpdateTime = DateTime.Now;
            newBuilding.UpdateUser = userId;
            await _buildingsStore.UpdateAsync(newBuilding, cancellationToken);
        }
Exemple #11
0
        public async Task <ResponseMessage <BuildingResponse> > CreateBuilding([FromBody] BuildingRequest buildingRequest)
        {
            ResponseMessage <BuildingResponse> response = new ResponseMessage <BuildingResponse>();

            if (!ModelState.IsValid)
            {
                response.Code    = ResponseCodeDefines.ModelStateInvalid;
                response.Message = ModelState.GetAllErrors();
                Logger.LogWarning($"新增评论(CreateBuilding)模型验证失败:\r\n{response.Message ?? ""},\r\n请求参数为:\r\n" + (buildingRequest != null ? JsonHelper.ToJson(buildingRequest) : ""));
                return(response);
            }
            try
            {
                response.Extension = await _buildingManager.CreateAsync(buildingRequest, HttpContext.RequestAborted);
            }
            catch (Exception e)
            {
                response.Code    = ResponseCodeDefines.ServiceError;
                response.Message = e.Message;
                Logger.LogError($"新增评论(CreateBuilding)请求失败:\r\n{response.Message ?? ""},\r\n请求参数为:\r\n" + (buildingRequest != null ? JsonHelper.ToJson(buildingRequest) : ""));
            }
            return(response);
        }
        /// <summary>
        /// Sets the buildings.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public BuildingResponse SetBuildings(BuildingRequest request)
        {
            var response = new BuildingResponse();

            var buildingEntity = request.Building;

            if (request.Action != PersistType.Delete)
            {
                if (!buildingEntity.Validate())
                {
                    foreach (string error in buildingEntity.ValidationErrors)
                    {
                        response.Message += error + Environment.NewLine;
                    }
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }
            }
            try
            {
                if (request.Action == PersistType.Insert)
                {
                    var buildingByCode = BuildingDao.GetBuildingsByBuildingCode(buildingEntity.BuildingCode);
                    if (buildingByCode != null && buildingByCode.Count > 0)
                    {
                        response.Acknowledge = AcknowledgeType.Failure;
                        response.Message     = @"Mã thuê nhà " + buildingEntity.BuildingCode + @" đã tồn tại !";
                        return(response);
                    }

                    AutoNumberListDao.UpdateIncreateAutoNumberListByValue("Building");
                    buildingEntity.BuildingId = BuildingDao.InsertBuilding(buildingEntity);
                    if (buildingEntity.BuildingId == 0)
                    {
                        response.Acknowledge  = AcknowledgeType.Failure;
                        response.RowsAffected = 0;
                        return(response);
                    }
                    response.Message = null;
                }
                else if (request.Action == PersistType.Update)
                {
                    var buildingByCode = BuildingDao.GetBuildingsByBuildingCode(buildingEntity.BuildingCode);
                    if (buildingByCode != null && buildingByCode.Count > 0)
                    {
                        if (buildingByCode.Where(w => w.BuildingId != buildingEntity.BuildingId).Count() > 0)
                        {
                            response.Acknowledge = AcknowledgeType.Failure;
                            response.Message     = @"Mã thuê nhà " + buildingByCode.FirstOrDefault().BuildingCode + @" đã tồn tại !";
                            return(response);
                        }
                    }

                    response.Message = BuildingDao.UpdateBuilding(buildingEntity);
                    if (response.Message != null)
                    {
                        response.Acknowledge  = AcknowledgeType.Failure;
                        response.RowsAffected = 0;
                        return(response);
                    }
                }
                else
                {
                    var buildingForUpdate = BuildingDao.GetBuilding(request.BuildingId);
                    response.Message = BuildingDao.DeleteBuilding(buildingForUpdate);
                    if (response.Message != null)
                    {
                        response.Acknowledge  = AcknowledgeType.Failure;
                        response.RowsAffected = 0;
                        return(response);
                    }
                }
            }
            catch (Exception ex)
            {
                response.Acknowledge = AcknowledgeType.Failure;
                response.Message     = ex.Message;
                return(response);
            }
            response.BuildingId  = buildingEntity != null ? buildingEntity.BuildingId : 0;
            response.Acknowledge = AcknowledgeType.Success;

            return(response);
        }
        public async Task <ResponseMessage> PutBuildingsCommission(UserInfo user, [FromRoute] string buildingId, [FromBody] BuildingRequest buildingRequest)
        {
            Logger.Trace($"用户{user?.UserName ?? ""}({user?.Id ?? ""})保存楼盘佣金方案(PutBuildingsCommission):\r\n请求参数为:\r\n" + (buildingRequest != null ? JsonHelper.ToJson(buildingRequest) : ""));

            ResponseMessage response = new ResponseMessage();

            if (!ModelState.IsValid || buildingRequest.Id != buildingId)
            {
                response.Code    = ResponseCodeDefines.ModelStateInvalid;
                response.Message = ModelState.GetAllErrors();
                Logger.Warn($"用户{user?.UserName ?? ""}({user?.Id ?? ""})保存楼盘佣金方案(PutBuildingsCommission)模型验证失败:\r\n{response.Message ?? ""},\r\n请求参数为:\r\n" + (buildingRequest != null ? JsonHelper.ToJson(buildingRequest) : ""));
                return(response);
            }
            try
            {
                await _buildingsManager.SaveCommissionAsync(user, buildingId, buildingRequest.CommissionPlan, buildingRequest.Source, buildingRequest.SourceId, HttpContext.RequestAborted);
            }
            catch (Exception e)
            {
                response.Code    = ResponseCodeDefines.ServiceError;
                response.Message = e.ToString();
                Logger.Error($"用户{user?.UserName ?? ""}({user?.Id ?? ""})保存楼盘佣金方案(PutBuildingsCommission)报错:\r\n{e.ToString()},\r\n请求参数为:\r\n(buildingId){buildingId ?? ""}");
            }
            return(response);
        }
        public async Task <ResponseMessage> PutBuildings(UserInfo user, [FromRoute] string buildingId, [FromBody] BuildingRequest buildingRequest)
        {
            Logger.Trace($"用户{user?.UserName ?? ""}({user?.Id ?? ""})保存楼盘信息(PutBuildings):\r\n请求参数为:\r\n" + buildingRequest != null ? JsonHelper.ToJson(buildingRequest) : "");

            ResponseMessage response = new ResponseMessage();

            if (!ModelState.IsValid || buildingRequest.Id != buildingId)
            {
                response.Code    = ResponseCodeDefines.ModelStateInvalid;
                response.Message = ModelState.GetAllErrors();
                Logger.Warn($"用户{user?.UserName ?? ""}({user?.Id ?? ""})保存楼盘信息(PutBuildings)模型验证失败:\r\n{response.Message ?? ""},\r\n请求参数为:\r\n" + buildingRequest != null ? JsonHelper.ToJson(buildingRequest) : "");
                return(response);
            }
            try
            {
                var dictionaryGroup = await _buildingsManager.FindByIdAsync(user.Id, buildingId, HttpContext.RequestAborted);

                if (dictionaryGroup == null)
                {
                    await _buildingsManager.CreateAsync(user.Id, buildingRequest, HttpContext.RequestAborted);
                }
                else
                {
                    await _buildingsManager.UpdateAsync(user.Id, buildingId, buildingRequest, HttpContext.RequestAborted);
                }
            }
            catch (Exception e)
            {
                response.Code    = ResponseCodeDefines.ServiceError;
                response.Message = e.ToString();
                Logger.Error($"用户{user?.UserName ?? ""}({user?.Id ?? ""})保存楼盘信息(PutBuildings)报错:\r\n{e.ToString()},\r\n请求参数为:\r\n" + buildingRequest != null ? JsonHelper.ToJson(buildingRequest) : "");
            }
            return(response);
        }