Beispiel #1
0
        public IActionResult Create(rentalHousViewModel model)
        {
            var response = ResponseModelFactory.CreateInstance;

            using (_dbContext)
            {
                var entity = new HaikanSmartTownCockpit.Api.Entities.RentoutRoom();
                entity.RentoutRoomUuid = Guid.NewGuid();
                entity.RentoutInfo     = model.RentoutInfo;
                entity.RentoutYezhu    = model.RentoutYezhu;
                entity.RentoutZuhu     = model.RentoutZuhu;
                entity.RentoutMoney    = model.RentoutMoney;
                entity.RentoutStaues   = model.RentoutStaues;
                if (model.RentoutTime != "")
                {
                    entity.RentoutTime = DateTime.Parse(model.RentoutTime).ToString("yyyy-MM-dd");
                }
                if (model.DaoqiTime != "")
                {
                    entity.DaoqiTime = DateTime.Parse(model.DaoqiTime).ToString("yyyy-MM-dd");
                }
                entity.IsDeleted = 0;
                entity.AddTime   = DateTime.Now.ToString("yyyy-MM-dd");
                entity.AddPeople = AuthContextService.CurrentUser.DisplayName;
                _dbContext.RentoutRoom.Add(entity);
                int res = _dbContext.SaveChanges();
                if (res > 0)
                {
                    ToLog.AddLog("添加", "成功:添加::出租房信息一条数据", _dbContext);
                }
                response.SetSuccess();
                return(Ok(response));
            }
        }
Beispiel #2
0
        public IActionResult HqCommunaImport(IFormFile excelfile)
        {
            var response = ResponseModelFactory.CreateInstance;

            using (_dbContext)
            {
                DateTime beginTime = DateTime.Now;

                string sWebRootFolder = _hostingEnvironment.WebRootPath + "\\UploadFiles\\ImportSocialgoverExcel";

                string   uploadtitle        = " 出租房信息导入" + DateTime.Now.ToString("yyyyMMddHHmmss");
                string   sFileName          = $"{uploadtitle}.xlsx";
                FileInfo file               = new FileInfo(Path.Combine(sWebRootFolder, sFileName));
                string   responsemsgsuccess = "";
                string   responsemsgrepeat  = "";
                string   responsemsgdefault = "";
                int      successcount       = 0;
                int      repeatcount        = 0;
                int      defaultcount       = 0;
                string   today              = DateTime.Now.ToString("yyyy-MM-dd");
                try
                {
                    //把excelfile中的数据复制到file中
                    using (FileStream fs = new FileStream(file.ToString(), FileMode.Create)) //初始化一个指定路径和创建模式的FileStream
                    {
                        excelfile.CopyTo(fs);
                        fs.Flush();  //清空stream的缓存,并且把缓存中的数据输出到file
                    }
                    DataTable dt = Haikan3.Utils.ExcelTools.ExcelToDataTable(file.ToString(), "Sheet1", true);

                    if (dt == null || dt.Rows.Count == 0)
                    {
                        response.SetFailed("表格无数据");
                        return(Ok(response));
                    }
                    else
                    {
                        if (!dt.Columns.Contains("出租房信息"))
                        {
                            response.SetFailed("无‘出租房信息’列");
                            return(Ok(response));
                        }
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            var entity = new HaikanSmartTownCockpit.Api.Entities.RentoutRoom();
                            entity.RentoutRoomUuid = Guid.NewGuid();
                            if (!string.IsNullOrEmpty(dt.Rows[i]["出租房信息"].ToString()))
                            {
                                entity.RentoutInfo = dt.Rows[i]["出租房信息"].ToString();
                            }
                            else
                            {
                                responsemsgdefault += "<p style='color:red'>" + "第" + (i + 2) + "行出租房信息为空" + "</p></br>";
                                defaultcount++;
                                continue;
                            }
                            if (!string.IsNullOrEmpty(dt.Rows[i]["业主"].ToString()))
                            {
                                entity.RentoutYezhu = dt.Rows[i]["业主"].ToString();
                            }
                            else
                            {
                                responsemsgdefault += "<p style='color:red'>" + "第" + (i + 2) + "行业主为空" + "</p></br>";
                                defaultcount++;
                                continue;
                            }
                            if (!string.IsNullOrEmpty(dt.Rows[i]["租户"].ToString()))
                            {
                                entity.RentoutZuhu = dt.Rows[i]["租户"].ToString();
                            }
                            else
                            {
                                responsemsgdefault += "<p style='color:red'>" + "第" + (i + 2) + "行租户为空" + "</p></br>";
                                defaultcount++;
                                continue;
                            }
                            Regex regbr = new Regex("^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$");
                            if (regbr.IsMatch(dt.Rows[i]["租房时间"].ToString()))
                            {
                                entity.RentoutTime = dt.Rows[i]["租房时间"].ToString();
                            }
                            else
                            {
                                responsemsgdefault += "<p style='color:red'>" + "第" + (i + 2) + "行租房时间为空" + "</p></br>";
                                defaultcount++;
                                continue;
                            }
                            if (regbr.IsMatch(dt.Rows[i]["到期时间"].ToString()))
                            {
                                entity.DaoqiTime = dt.Rows[i]["到期时间"].ToString();
                            }
                            else
                            {
                                responsemsgdefault += "<p style='color:red'>" + "第" + (i + 2) + "行到期时间为空" + "</p></br>";
                                defaultcount++;
                                continue;
                            }
                            if (!string.IsNullOrEmpty(dt.Rows[i]["价格"].ToString()))
                            {
                                entity.RentoutMoney = dt.Rows[i]["价格"].ToString();
                            }
                            Regex regxb = new Regex("^(已出租|闲置中|待出租)$");
                            if (regxb.IsMatch(dt.Rows[i]["出租状态"].ToString()))
                            {
                                entity.RentoutStaues = dt.Rows[i]["出租状态"].ToString();
                            }
                            else
                            {
                                responsemsgdefault += "<p style='color:red'>" + "第" + (i + 2) + "行出租状态不正确,应为:已出租|闲置中|待出租" + "</p></br>";
                                defaultcount++;
                                continue;
                            }

                            entity.IsDeleted = 0;
                            entity.AddTime   = DateTime.Now.ToString("yyyy-MM-dd");
                            entity.AddPeople = AuthContextService.CurrentUser.DisplayName;
                            _dbContext.RentoutRoom.Add(entity);
                            _dbContext.SaveChanges();
                            successcount++;
                        }
                    }
                    responsemsgsuccess = "<p style='color:green'>导入成功:" + successcount + "条</p></br>" + responsemsgsuccess;
                    responsemsgrepeat  = "<p style='color:orange'>重复需手动修改数据:" + repeatcount + "条</p></br>" + responsemsgrepeat;
                    responsemsgdefault = "<p style='color:red'>导入失败:" + defaultcount + "条</p></br>" + responsemsgdefault;

                    ToLog.AddLog("导入", "成功:导入::出租房信息数据", _dbContext);
                    DateTime endTime  = DateTime.Now;
                    TimeSpan useTime  = endTime - beginTime;
                    string   taketime = "导入时间" + useTime.TotalSeconds.ToString() + "秒  ";
                    response.SetData(JsonConvert.DeserializeObject(JsonConvert.SerializeObject(new
                    {
                        time       = taketime,
                        successmsg = responsemsgsuccess
                        ,
                        repeatmsg  = responsemsgrepeat,
                        defaultmsg = responsemsgdefault
                    })));
                    return(Ok(response));
                }
                catch (Exception ex)
                {
                    response.SetFailed(ex.Message);
                    return(Ok(response));
                }
            }
        }