Example #1
0
        public ActionResult Delete(int id)
        {
            var sda = new ShipDataAccess(context);

            sda.Delete(sda.getById(id));
            return(RedirectToAction("List"));
        }
Example #2
0
        public DataSet GetPositionsOnStandingOrder()
        {
            using (var sqlconn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["mio"].ConnectionString))
            {
                sqlconn.Open();
                var dsout = new DataSet();
                var dt    = new DataTable();
                var pos   = new SqlGeography();

                ShipDataAccess          sda  = null;
                StandingOrderDataAccess soda = null;

                using (var da = new SqlDataAdapter("SELECT * FROM AIS", sqlconn))
                {
                    da.Fill(dt);
                }
                dt.Columns.Add("LATITUD", typeof(Decimal));
                dt.Columns.Add("LONGITUD", typeof(Decimal));

                foreach (DataRow row in dt.Rows)
                {
                    try
                    {
                        sda  = new ShipDataAccess();
                        soda = new StandingOrderDataAccess();

                        var spman               = new ShipPositionManager();
                        var ddpman              = new DDPVersionManager();
                        var ddpver              = ddpman.GetCurrentDDPVersion();
                        var lastpos             = spman.GetLastShipPosition(sda.getById((int)row["ID_BARCO"]).IMONum);
                        List <StandingOrder> so = new List <StandingOrder>();
                        if (lastpos != null)
                        {
                            so = soda.GetOrdersForPosition(lastpos, ddpver);
                        }
                        if (so.Count == 0)
                        {
                            dt.Rows.Remove(row);
                            continue;
                        }
                    }
                    catch (Exception ex)
                    {
                        System.Diagnostics.Debug.WriteLine(ex);
                    }
                    finally
                    {
                        sda.Dispose();
                        soda.Dispose();
                    }

                    pos             = SqlGeography.STGeomFromWKB(new SqlBytes((byte[])row["Position"]), 4326);
                    row["LATITUD"]  = decimal.Parse(pos.Lat.ToString());
                    row["LONGITUD"] = decimal.Parse(pos.Long.ToString());
                }
                dt.Columns.Remove("Position");
                dsout.Tables.Add(dt);
                return(dsout);
            }
        }
Example #3
0
        public ActionResult Edit(int id)
        {
            var sda = new ShipDataAccess(context);

            ViewData["shipid"] = id;
            return(View("New", sda.getById(id)));
        }
Example #4
0
        public void SendReport(string requestor, ShipPosition position, string referenceId, DataCenterTypesIDE.responseTypeType responseType, DataCenterLogic.DataCenterTypesIDE.messageTypeType messageType)
        {
            //Configuracion del datacenter
            var configMgr = new ConfigurationManager();

            //DataCenterTypesIDE.responseTypeType responseType = getResponseTypeFromRequest(spr);
            //DataCenterLogic.DataCenterTypesIDE.messageTypeType messageType = getMessageTypeFromRequest(spr);

            //Obtengo el ship al que pertenece la posicion
            using (var shipdao = new ShipDataAccess())
            {
                Ship ship = shipdao.getById(position.ShipId);

                var shipPosReport = new DataCenterTypesIDE.ShipPositionReportType();

                var point = SqlGeography.STPointFromWKB(new System.Data.SqlTypes.SqlBytes(position.Position.ToArray()), 4326);

                shipPosReport.ASPId = configMgr.Configuration.ASPId;

                shipPosReport.DataUserProvider = "1005";
                //if( responseType == DataCenterLogic.DataCenterTypesIDE.responseTypeType.Item4 )
                //  shipPosReport.DataUserProvider = "3005";

                shipPosReport.DataUserRequestor = requestor;
                shipPosReport.DCId                 = configMgr.Configuration.DataCenterID;
                shipPosReport.DDPVersionNum        = DDPVersionManager.currentDDP();
                shipPosReport.IMONum               = ship.IMONum;
                shipPosReport.Latitude             = WGS84LatFormat(point.Lat.Value);
                shipPosReport.Longitude            = WGS84LongFormat(point.Long.Value);
                shipPosReport.MessageId            = MessageIdManager.Generate();
                shipPosReport.MessageType          = messageType;
                shipPosReport.MMSINum              = ship.MMSINum;
                shipPosReport.ReferenceId          = referenceId;
                shipPosReport.ResponseType         = responseType;
                shipPosReport.schemaVersion        = decimal.Parse(configMgr.Configuration.SchemaVersion);
                shipPosReport.ShipborneEquipmentId = ship.EquipID;
                shipPosReport.ShipName             = ship.Name;
                shipPosReport.test                 = DataCenterLogic.DataCenterTypesIDE.testType.Item1;
                shipPosReport.TimeStamp1           = position.TimeStamp;
                shipPosReport.TimeStamp2           = position.TimeStampInASP;
                shipPosReport.TimeStamp3           = position.TimeStampOutASP;
                shipPosReport.TimeStamp4           = position.TimeStampInDC;
                shipPosReport.TimeStamp5           = DateTime.UtcNow;

                log.Debug("Enqueing Report for ship: " + shipPosReport.IMONum + " Pos. Long. Lat.:" + shipPosReport.Longitude + " " + shipPosReport.Latitude + " Requestor: " + shipPosReport.DataUserRequestor);
                QueueManager.Instance().EnqueueOut(shipPosReport, "shipPositionReport");
            }
        }