public ActionResult SubmitForm(ProfileSanitationWayEntity WayEntity, string keyValue)
        {
            //SummitImport(WayEntity.CityId, WayEntity.CountyId, WayEntity.ProjectId);

            wayApp.SubmitForm(WayEntity, keyValue);
            return(Success("操作成功。"));
        }
        /// <summary>
        /// 提交,修改
        /// </summary>
        /// <param name="tandasEntity"></param>
        /// <param name="keyValue"></param>
        public void SubmitForm(ProfileSanitationWayEntity wayEntity, string keyValue)
        {
            if (!string.IsNullOrEmpty(keyValue))
            {
                wayEntity.Modify(keyValue);

                service.Update(wayEntity);

                try
                {
                    //添加日志
                    LogMess.addLog(DbLogType.Update.ToString(), "修改成功", "修改环卫道路信息【" + wayEntity.WayName + "】成功!");
                }
                catch { }
            }
            else
            {
                wayEntity.Create();

                service.Insert(wayEntity);

                try
                {
                    //添加日志
                    LogMess.addLog(DbLogType.Update.ToString(), "修改成功", "新建环卫道路信息【" + wayEntity.WayName + "】成功!");
                }
                catch { }
            }
        }
        /// <summary>
        /// 批量添加数据
        /// </summary>
        public void BatchSubmitFrom(ProfileSanitationWayEntity[] wayEntitys, Func <ProfileSanitationWayEntity, ProfileSanitationWayEntity, bool> coverWhere)
        {
            ProfileSanitationWayEntity wayEntity = null;

            Func <ProfileSanitationWayEntity, bool> where = null;
            foreach (var item in wayEntitys)
            {
                if (item == null)
                {
                    continue;
                }

                if (coverWhere != null)
                {
                    where = (ProfileSanitationWayEntity dbEntity) =>
                    {
                        return(coverWhere(dbEntity, item));
                    };

                    var query = service.dbcontext.Set <ProfileSanitationWayEntity>().Where(where);

                    //满足覆盖条件 则修改逻辑
                    if (query.Count() > 0)
                    {
                        wayEntity = query.FirstOrDefault();

                        wayEntity.CityId      = item.CityId;
                        wayEntity.CountyId    = item.CountyId;
                        wayEntity.ProjectId   = item.ProjectId;
                        wayEntity.StreetId    = item.StreetId;
                        wayEntity.MainWayId   = item.MainWayId;
                        wayEntity.WayName     = item.WayName;
                        wayEntity.Origin      = item.Origin;
                        wayEntity.Destination = item.Destination;
                        wayEntity.WayGrade    = item.WayGrade;

                        wayEntity.Modify(wayEntity.F_Id);
                        this.service.Update(wayEntity);

                        continue;
                    }
                }

                //添加新
                item.Create();
                this.service.Insert(item);
            }
        }
        public ActionResult SubmitImprot(string cityId, string countyId, string ProjectId, int isReName = 1)
        {
            var file = Request.Files[0];

            string path     = TemporaryFilesDiskPath;
            string fileName = Guid.NewGuid().ToString() + FileHelper.GetExtension(file.FileName);

            string filePah = Path.Combine(path, fileName);

            if (!FileHelper.IsExistDirectory(path))
            {
                FileHelper.CreateDirectory(path);
            }

            try
            {
                //将上传文件保存
                file.SaveAs(filePah);

                if (FileHelper.IsExistFile(filePah))
                {
                    using (ExcelHelper exHelp = new ExcelHelper(filePah))
                    {
                        var datatable = exHelp.ExcelToDataTable(fileName, true);

                        ProfileSanitationWayEntity wayEntity = null;

                        string streetName     = string.Empty;
                        string wayName        = string.Empty;
                        string mainWayName    = string.Empty;
                        string wayOrigin      = string.Empty;
                        string wayDestination = string.Empty;
                        string wayGrade       = string.Empty;

                        #region 每行填充数据

                        for (int i = 0; i < datatable.Rows.Count; i++)
                        {
                            wayEntity = new ProfileSanitationWayEntity();


                            try
                            {
                                streetName = datatable.Rows[i]["街道"].ToString();
                                //"大连西路(四平路-密云路)" 格式
                                wayName = datatable.Rows[i]["路名"].ToString();

                                mainWayName    = wayName.Split('(')[0];
                                wayOrigin      = wayName.Split('(')[1].Split(')')[0].Split('-')[0];
                                wayDestination = wayName.Split('(')[1].Split(')')[0].Split('-')[1];

                                wayGrade = datatable.Rows[i]["类型"].ToString();

                                wayEntity.CityId         = cityId;
                                wayEntity.CountyId       = countyId;
                                wayEntity.ProjectId      = ProjectId;
                                wayEntity.F_EnCode       = int.Parse(datatable.Rows[i]["序号"].ToString());
                                wayEntity.StreetId       = StreetApp.GetDictionary(d => d.StreetName == streetName)[0].Key;
                                wayEntity.MainWayId      = MainWayApp.GetDictionary(d => d.MainWayName == mainWayName)[0].Key;
                                wayEntity.WayName        = wayName;
                                wayEntity.Origin         = wayOrigin;
                                wayEntity.Destination    = wayDestination;
                                wayEntity.IsJointPartWay = false;
                            }
                            catch
                            {
                                continue;
                            }

                            switch (wayGrade)
                            {
                            case "一级":
                                wayEntity.WayGrade = (int)ProfileWayGradeEnum.一级道路;
                                break;

                            case "二级":
                                wayEntity.WayGrade = (int)ProfileWayGradeEnum.二级道路;
                                break;

                            case "三级及其它":
                                wayEntity.WayGrade = (int)ProfileWayGradeEnum.级及其它;
                                break;

                            default:
                                break;
                            }

                            wayApp.BatchSubmitFrom(wayEntity, null, (db, c) => { return(db.F_EnCode == c.F_EnCode); });
                        }
                        #endregion
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (FileHelper.IsExistFile(filePah))
                {
                    FileHelper.DeleteFile(filePah);
                }
            }

            return(Success("操作成功。"));
        }
        public void BatchSubmitFrom(ProfileSanitationWayEntity wayEntity, Func <ProfileSanitationWayEntity, ProfileSanitationWayEntity, bool> skipWhere, Func <ProfileSanitationWayEntity, ProfileSanitationWayEntity, bool> coverWhere)
        {
            if (wayEntity == null)
            {
                return;
            }


            //是否跳过
            if (skipWhere != null)
            {
                //装载跳过where query条件
                Func <ProfileSanitationWayEntity, bool> dbSkipWhere = (db) =>
                {
                    return(skipWhere(db, wayEntity));
                };
                var skipQuery = service.dbcontext.Set <ProfileSanitationWayEntity>().Where(dbSkipWhere);

                if (skipQuery.Count() > 0)
                {
                    return;
                }
            }

            if (coverWhere != null)
            {
                Func <ProfileSanitationWayEntity, bool> dbCoverWhere = (db) =>
                {
                    return(coverWhere(db, wayEntity));
                };

                var coverQuery = service.dbcontext.Set <ProfileSanitationWayEntity>().Where(dbCoverWhere);
                //存在覆盖
                if (coverQuery.Count() > 0)
                {
                    //覆盖

                    var dbWayEntity = coverQuery.FirstOrDefault();

                    dbWayEntity.CityId      = wayEntity.CityId;
                    dbWayEntity.CountyId    = wayEntity.CountyId;
                    dbWayEntity.ProjectId   = wayEntity.ProjectId;
                    dbWayEntity.StreetId    = wayEntity.StreetId;
                    dbWayEntity.MainWayId   = wayEntity.MainWayId;
                    dbWayEntity.WayName     = wayEntity.WayName;
                    dbWayEntity.Origin      = wayEntity.Origin;
                    dbWayEntity.Destination = wayEntity.Destination;
                    dbWayEntity.WayGrade    = wayEntity.WayGrade;
                    dbWayEntity.F_EnCode    = wayEntity.F_EnCode;

                    wayEntity.Modify(dbWayEntity.F_Id);
                    this.service.Update(dbWayEntity);

                    return;
                }
            }


            wayEntity.Create();

            //添加
            service.Insert(wayEntity);
        }