// // GET: /Ship/ public ActionResult List() { var sda = new ShipDataAccess(context); ViewData["barcos"] = sda.GetAll(); return(View()); }
/// <summary> /// Verifica si la ultima posicion de cada uno de nuestros barcos esta en alguna standing order. /// Tinen en cuenta hay un STOP para ese requestor. /// Tiene en cuenta la titulacion /// </summary> public void Process() { ShipDataAccess sda = null; try { sda = new ShipDataAccess(); var cgm = new ContractingGovermentManager(); var ddpm = new DDPVersionManager(); var ddpVersion = ddpm.GetCurrentDDPVersion(); log.Info("Procesando standing orders."); foreach (Ship ship in sda.GetAll()) { ShipPosition pos = null; using (var spda = new ShipPositionDataAccess()) { pos = spda.GetLastShipPosition(ship.IMONum); } if (pos == null) { log.Info(string.Format("No hay ultima posicion para {0}", ship.IMONum)); continue; } List <StandingOrder> orders = new List <StandingOrder>(); using (var soda = new StandingOrderDataAccess()) { orders = soda.GetOrdersForPosition(pos, ddpVersion); } if (orders.Count == 0) { log.Info(string.Format("No hay ninguna SO para {0},posid:{1},ddpVer:{2}", ship.IMONum, pos.Id, ddpVersion.Id)); continue; } var sprm = new ShipPositionReportManager(); foreach (StandingOrder order in orders) { var cg = order.Place.ContractingGoverment; //Skipeo las SO de argentina (no chekeo si mis barcos estan en mis SO) if (cg.LRITId == 1005) { continue; } using (var asprda = new ActiveShipPositionRequestDataAccess()) { if (asprda.IsStopRequired(ship, cg.LRITId.ToString()) == true) { log.Info("Stop Activo Para el Barco: " + ship.IMONum + " Requestor: " + cg.LRITId.ToString()); continue; } } log.Info(string.Format("El barco {0} esta dentro de la standing order {1}", ship.IMONum, order.PlaceId)); if (cgm.IsEntitled(cg, pos, ddpVersion, false) == false) { log.Info("no esta titulado para recibir la informacion, se envia recibo"); ReceiptManager.SendReceipt(cg.LRITId.ToString(), "0", DataCenterLogic.DataCenterTypesIDE.receiptCodeType.Item0, string.Format("Not entitled to recieve")); } else { sprm.SendReport(cg.LRITId.ToString(), pos, "", DataCenterLogic.DataCenterTypesIDE.responseTypeType.Item1, DataCenterLogic.DataCenterTypesIDE.messageTypeType.Item1); } } } } catch (Exception ex) { log.Error("Error procesando StandingOrders", ex); } finally { sda.Dispose(); } }
public ActionResult Index() { if (User.IsInRole("ExternoVerificarFacturas")) { return(RedirectToAction("List", "ExternalInvoice")); } if (User.IsInRole("Facturador")) { return(RedirectToAction("List", "Contract")); } // Barcos var sda = new ShipDataAccess(context); var sman = new ShipManager(); var spman = new ShipPositionManager(); var asprda = new ActiveShipPositionRequestDataAccess(context); List <Ship> barcos = sda.GetAll(); string[] latlong = { "N/A", "N/A" }; int i = 0; foreach (Ship barco in barcos) { ViewData[string.Format("State{0}", i)] = "normal"; //sman.GetShipState(barco); DataCenterDataAccess.ShipPosition LastPos = spman.GetLastShipPosition(barco.IMONum); if (LastPos == null) { latlong[0] = "N/A"; latlong[1] = "N/A"; } else { latlong = spman.GetLatLongOfPoint(LastPos); } ViewData[string.Format("Nombre{0}", i)] = barco.Name.ToString(); ViewData[string.Format("OMIId{0}", i)] = barco.IMONum.ToString(); if (LastPos != null) { string temp = latlong[0].Length > 6 ? latlong[0].Remove(6) : latlong[0]; string temp2 = latlong[1].Length > 6 ? latlong[1].Remove(6) : latlong[1]; ViewData[string.Format("UltimaPosicion{0}", i)] = "Lat: " + temp + " Long: " + temp2; ViewData[string.Format("Fecha{0}", i)] = LastPos.TimeStamp.ToString(); } else { ViewData[string.Format("UltimaPosicion{0}", i)] = "Lat: N/A Long: N/A"; ViewData[string.Format("Fecha{0}", i)] = "N/A"; } i++; } ViewData["total_barcos"] = i; //ViewData["total_barcos"] = 0; //Status int status, aspStatus; TimeSpan since, aspSince; var ssman = new SystemStatusManager(); /* * ssman.getLastStatus(out status, out since); * ssman.GetLastAspStatus(out aspStatus, out aspSince); * * ViewData["IDEStatus"] = status; * ViewData["IDESince"] = since; * ViewData["DDPStatus"] = status; * ViewData["DDPSince"] = since; * ViewData["ASPStatus"] = aspStatus; * ViewData["ASPSince"] = aspSince; * * ViewData["AsprCount"] = asprda.Count(); * * // Tráfico * * var tman = new TrafficManager(); * var ts = tman.GetTrafficStats(); * * ViewData["InMonth"] = ts.InMonth; * ViewData["InWeek"] = ts.InWeek; * ViewData["InDay"] = ts.InDay; * ViewData["OutMonth"] = ts.OutMonth; * ViewData["OutWeek"] = ts.OutWeek; * ViewData["OutDay"] = ts.OutDay; */ return(View()); }