public WMException CreateExternalDesignFromIf(IFExtDsgnPoint twmifextdsgn_pt_obj, bool finished, DateTime timeofcreate, string oper, string asbOrEstInd)
        {
            WMException WMexcept = null;

            ///////////////////
            ////get the next Oracle WE_S_SO_EXTDSG
            ExtDesignKey key = new ExtDesignKey()
            {
                TsExtDsgn = timeofcreate, IdOper = oper
            };

            //      ExtDesignKey key = new ExtDesignKey() { TsExtDsgn = twmifextdsgn_pt_obj.ExternalDesignTimeStamp, IdOper = twmifextdsgn_pt_obj.OperatorId };

            ///////////////////
            ////insert Points//
            //      new PointBl().CreateExternalDesign(design, design.Points, key);

            ///////////////////////
            ////insert CUs /FAC's//
            //     CreateCUsFacilityAttributes(design, key);

            CreateExternalDesignIf(twmifextdsgn_pt_obj, key);

            ///////////////////
            ////call P Driver//
            //      WMexcept = ExecutePDriver(twmifextdsgn_pt_obj, key);


            return(WMexcept);
        }
 public void Delete(IFExtDsgnPoint obj)
 {
     if (obj != null)
     {
         TWMIFEXTDSGN_PT entity = MapObjectToIfEntity(obj);
         unitOfWork.IfExtDesignPtRepo.Delete(obj.ExternalDesignSequence, obj.ExternalDesignTimeStamp, obj.OperatorId);
         unitOfWork.Save();
     }
 }
        public WMException CallExternalDesign(IFExtDsgnPoint twmifextdsgn_pt_obj, bool finished, DateTime timeofcreate, string oper, string asbOrEstInd)
        {
            WMException  WMexcept = null;
            ExtDesignKey key      = new ExtDesignKey()
            {
                TsExtDsgn = timeofcreate, IdOper = oper
            };

            WMexcept = ExecutePDriver(twmifextdsgn_pt_obj, key, asbOrEstInd);


            return(WMexcept);
        }
        public int CreateExternalDesignIf(IFExtDsgnPoint ifExtDsgnPt, ExtDesignKey key)
        {
            //  TWMIFEXTDSGN_PT entity = MapObjectToPtIfEntity(ifExtDsgnPt, key);
            TWMIFEXTDSGN_PT entity = MapObjectToIfEntity(ifExtDsgnPt);

            if (entity != null)
            {
                unitOfWork.IfExtDesignPtRepo.Insert(entity);
                unitOfWork.Save();
            }

            return(0);
        }
        private TWMIFEXTDSGN_PT MapObjectToPtIfEntity(IFExtDsgnPoint ifpoint, ExtDesignKey key)
        {
            TWMIFEXTDSGN_PT entity = new TWMIFEXTDSGN_PT();

            entity.CD_SEQ_EXTDSGN     = GetIfSequenceNo();
            entity.TS_EXTDSGN         = key.TsExtDsgn;
            entity.ID_OPER            = key.IdOper;
            entity.NO_POINT           = ifpoint.PointNumber;
            entity.NO_POINT_SPAN      = ifpoint.PointSpanNumber;
            entity.CD_DIST            = ifpoint.District;
            entity.CD_WR              = ifpoint.WorkRequest;
            entity.AD_GR_1            = string.Empty;
            entity.AD_GR_2            = string.Empty;
            entity.TXT_DESN           = string.Empty;
            entity.DT_RPTD            = null;
            entity.DT_IN_SERVICE      = null;
            entity.CD_TOWN_RANGE_SECT = string.Empty;
            entity.CD_TAX_DIST        = string.Empty;
            entity.CD_SIDE_OF_STREET  = string.Empty;
            entity.IND_WORK_STATUS    = " ";
            entity.IND_MAIN_STATUS    = "N"; //N = not designated, L = long, S = short
            entity.IND_PROCESS        = "A"; //A = add, M = modify, D = delete
            entity.CD_ENTITY          = string.Empty;
            entity.CD_ISOLATION_SECT  = string.Empty;
            entity.CD_LANDMARK        = string.Empty;
            entity.CD_POLITICAL_SUB   = string.Empty;
            entity.CD_SCHOOL_TAX      = string.Empty;
            entity.AMT_FIXED_BID      = null;
            entity.NO_DRAWING         = string.Empty;
            if (ifpoint.SpanLength == null)
            {
                entity.LN_SPAN = (decimal?)0.00;
            }
            else
            {
                entity.LN_SPAN = (decimal?)Convert.ToDecimal(ifpoint.SpanLength);
            }
            entity.NO_MAP             = string.Empty;
            entity.AD_POINT           = string.Empty;
            entity.ID_POINT           = string.IsNullOrEmpty(ifpoint.PointId) ? string.Empty : ifpoint.PointId;
            entity.CD_CREW            = string.Empty;
            entity.IND_CNTCR_CALC_MTH = "1";   //1, 2, 3, 4
            entity.FG_ERROR           = "N";
            entity.CD_BID_ITEM        = string.Empty;
            entity.FG_RWORKS          = "N"; //"N" or "Y", default is "N"
            entity.CD_SEQ_ERROR_RUN   = null;
            entity.NO_COMPLEXITY      = null;
            entity.QT_BID_ITEM        = 0;

            return(entity);
        }
        public TWMIFEXTDSGN_PT MapObjectToIfEntity(IFExtDsgnPoint obj)
        {
            if (obj != null)
            {
                if (obj.SpanLength == null)
                {
                    obj.SpanLength = (decimal?)0.00;
                }
                long EDS = 0;
                if (obj.ExternalDesignSequence == 0)
                {
                    EDS = GetIfSequenceNo();
                }

                return(new TWMIFEXTDSGN_PT
                {
                    CD_DIST = obj.District,
                    CD_WR = obj.WorkRequest,
                    CD_CREW = obj.CrewCode,
                    CD_ENTITY = obj.EntityCode,
                    CD_SEQ_EXTDSGN = EDS,
                    ID_OPER = obj.OperatorId,
                    ID_POINT = obj.PointId,

                    LN_SPAN = obj.SpanLength,
                    NO_POINT = obj.PointNumber,
                    NO_POINT_SPAN = obj.PointSpanNumber,
                    TS_EXTDSGN = obj.ExternalDesignTimeStamp,
                    CD_SEQ_ERROR_RUN = obj.ErrorRunSequence,
                    FG_ERROR = obj.ErrorFlag,
                    CD_BID_ITEM = obj.BidItemCode,
                    IND_CNTCR_CALC_MTH = obj.ContractorCalcInd,
                    FG_RWORKS = obj.RWorksFlag,
                    IND_MAIN_STATUS = obj.MainStatusIndicator,
                    IND_PROCESS = obj.ProcessIndicator,
                    IND_WORK_STATUS = obj.WorkStatusIndicator
                });
            }
            return(null);
        }
        private WMException ExecutePDriver(IFExtDsgnPoint ifpoint, ExtDesignKey key, string asbOrEstInd)
        {
            WMException wme = null;

            DesignIfError error = unitOfWork.IfExtDsgnPtRepo.Insert(MapObjectToIfEntity(ifpoint), asbOrEstInd);

            if (error != null)
            {
                wme = CreateWMException(error.v_fg_error
                                        , error.v_cd_seq_error
                                        , error.v_cd_sqlcode
                                        , error.v_nm_interface
                                        , error.v_ts_error
                                        , error.v_txt_sqlerrtext
                                        , error.v_txt_iferror
                                        , error.v_cd_seq_error_run
                                        , error.v_cd_district
                                        , error.v_cd_workpacket
                                        , error.v_cd_crew
                                        , error.v_cd_project
                                        , error.v_id_empl
                                        , error.v_cd_fleet
                                        , error.v_nm_table
                                        , error.v_nm_column
                                        , error.v_fg_data_error
                                        , error.v_ts_error_logged);
            }



            if (wme == null)
            {
            }

            return(wme);
        }
 public void Create(IFExtDsgnPoint obj)
 {
     unitOfWork.IfExtDesignPtRepo.Insert(MapObjectToIfEntity(obj));
     unitOfWork.Save();
 }