예제 #1
0
        static int CompareUnit(string agencyCom_BuildId, string framework_BuildId)
        {
            int               buildStatus       = ComparedStatus.DEFAULT;
            UnitCmService     unitCmService     = new UnitCmService();
            List <UnitCmType> agencyComUnitList = null;
            UnitFwService     unitFwService     = new UnitFwService();
            List <UnitFwType> frameworkUnitList = null;

            if (!string.IsNullOrEmpty(agencyCom_BuildId) && !string.IsNullOrEmpty(framework_BuildId))
            {
                frameworkUnitList = unitFwService.ListUnitByCm(agencyCom_BuildId, framework_BuildId).ToList();
                agencyComUnitList = unitCmService.ListUnit(agencyCom_BuildId).ToList();
            }
            else if (!string.IsNullOrEmpty(agencyCom_BuildId))
            {
                agencyComUnitList = unitCmService.ListUnit(agencyCom_BuildId).ToList();
            }
            else if (!string.IsNullOrEmpty(framework_BuildId))
            {
                frameworkUnitList = unitFwService.ListUnitByCm(agencyCom_BuildId, framework_BuildId).ToList();
            }
            if (frameworkUnitList != null && frameworkUnitList.Count > 0)
            {
                frameworkUnitList.ForEach(frameworkUnit =>
                {
                    if (agencyComUnitList != null && agencyComUnitList.Count > 0)
                    {
                        var agencyComUnit = agencyComUnitList.Find(item => item.CX_Axis == frameworkUnit.CX_Axis && item.CY_Axis == frameworkUnit.CY_Axis);
                        if (agencyComUnit != null)
                        {
                            agencyComUnitList.RemoveAll(item => item.CX_Axis == frameworkUnit.CX_Axis && item.CY_Axis == frameworkUnit.CY_Axis);
                            unitCmService.InsertComparedUnit(agencyComUnit, frameworkUnit, ComparedStatus.DEFAULT);
                        }
                        else
                        {
                            unitCmService.InsertComparedUnit(null, frameworkUnit, ComparedStatus.ADDNEW);
                            buildStatus = ComparedStatus.DEFAULT_MISS;
                        }
                    }
                    else
                    {
                        unitCmService.InsertComparedUnit(null, frameworkUnit, ComparedStatus.ADDNEW);
                        buildStatus = ComparedStatus.DEFAULT_MISS;
                    }
                });
            }
            //delete
            if (agencyComUnitList != null && agencyComUnitList.Count > 0)
            {
                agencyComUnitList.ForEach(agencyComUnit =>
                {
                    unitCmService.InsertComparedUnit(agencyComUnit, null, ComparedStatus.DELETE);
                    buildStatus = ComparedStatus.DEFAULT_CLEAR;
                });
            }
            return(buildStatus);
        }
예제 #2
0
        static void Build_A2C(BuildCmType buildCmType)
        {
            //
            DateTime        begin           = DateTime.Now;
            EstateCtService estateCtService = new EstateCtService();
            BuildCtType     buildCtType     = new BuildCtType(buildCmType);
            BuildCtService  buildCtService  = new BuildCtService();

            buildCtService.ImortBuild(buildCtType);
            BuildCmService    buildCmService = new BuildCmService();
            UnitCmService     unitCmService  = new UnitCmService();
            List <UnitCmType> unitType       = unitCmService.ListUnit(buildCmType.BuildId).ToList();

            if (unitType != null && unitType.Count > 0)
            {
                unitType.ForEach(item =>
                {
                    Console.WriteLine("时间: {0}, 导入单元[{1}]..", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), item.CY_Axis + item.CX_Axis);
                    Unit_A2C(item);
                });
            }
            DateTime end = DateTime.Now;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {
                    this.BuildId = ConvertUtility.Trim(Request.QueryString["id"]);
                    BuildCmService buildService = new BuildCmService();
                    UnitCmService  unitService  = new UnitCmService();
                    BuildCm        build        = buildService.GetBuild(this.BuildId);
                    if (build == null)
                    {
                        ComparedBuild comparedBuild = buildService.GetComparedBuild(this.BuildId);
                        this.TitleBar = comparedBuild.ToNavBar(false);
                        this.BuildId  = string.IsNullOrEmpty(comparedBuild.BuildId) ? comparedBuild.Framework_BuildId : comparedBuild.BuildId;
                        this.Rows     = unitService.ListComparedFloor(comparedBuild);
                        this.Columns  = unitService.ListComparedRoom(comparedBuild);
                        IList <ComparedUnitType> unitCollection = unitService.ListComparedUnit(comparedBuild);

                        this.ComparedUnitArray = new ComparedUnitType[this.Rows.Count, this.Columns.Count];

                        for (int rowIndex = 0; rowIndex < this.Rows.Count; rowIndex++)
                        {
                            for (int colIndex = 0; colIndex < this.Columns.Count; colIndex++)
                            {
                                string           floor        = this.Rows[rowIndex];
                                string           room         = this.Columns[colIndex];
                                ComparedUnitType comparedUnit = unitCollection.ToList().Find(m => (m.CX_Axis.Equals(room) && m.CY_Axis.Equals(floor)) || (m.Framework_CX_Axis.Equals(room) && m.Framework_CY_Axis.Equals(floor)));
                                if (comparedUnit != null)
                                {
                                    this.ComparedUnitArray[rowIndex, colIndex] = comparedUnit;
                                }
                            }
                        }
                    }
                    else
                    {
                        this.TitleBar = build.ToNavBar(false);
                        this.Rows     = unitService.ListFloor(this.BuildId);
                        this.Columns  = unitService.ListRoom(this.BuildId);
                        IList <UnitCmType> unitCollection = unitService.ListUnit(this.BuildId);

                        this.UnitArray = new UnitCmType[this.Rows.Count, this.Columns.Count];

                        for (int rowIndex = 0; rowIndex < this.Rows.Count; rowIndex++)
                        {
                            for (int colIndex = 0; colIndex < this.Columns.Count; colIndex++)
                            {
                                string     floor    = this.Rows[rowIndex];
                                string     room     = this.Columns[colIndex];
                                UnitCmType unitType = unitCollection.ToList().Find(m => m.CX_Axis.Equals(room) && m.CY_Axis.Equals(floor));
                                if (unitType != null)
                                {
                                    this.UnitArray[rowIndex, colIndex] = unitType;
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }