public async Task <bool> Update_MSTR_Drone() { try { using (FlightProcessorConnection cn = new FlightProcessorConnection()) { MSTR_Drone mSTR_Drone = await cn.MSTR_Drone.Where(w => w.DroneId == (int)_DroneFlight.DroneID).FirstOrDefaultAsync(); if (mSTR_Drone != null) { mSTR_Drone.LastFlightID = _DroneFlight.ID; mSTR_Drone.FlightTime = _DroneFlight.FlightDate; cn.Entry(mSTR_Drone).State = EntityState.Modified; await cn.SaveChangesAsync(); } } return(true); } catch (System.Data.Entity.Validation.DbEntityValidationException e) { OnDbEntityException?.Invoke(e); } catch (Exception ex) { OnTaskError?.Invoke(new TaskExceptionInfo { TaskException = ex, TaskName = "Task - Update_MSTR_Drone()" }); } return(false); }
public MSTR_Drone Create() { int?DroneSerialNo = db.MSTR_Drone.OrderByDescending(u => u.DroneSerialNo).Select(e => e.DroneSerialNo).FirstOrDefault(); if (RpasTypeId == 0 && !String.IsNullOrEmpty(OtherRPASType)) { RpasTypeId = CreateType("UAVType", OtherRPASType); } if (ManufactureID == 0 && !String.IsNullOrEmpty(OtherManufacturer)) { ManufactureID = CreateType("Manufacturer", OtherManufacturer); } DroneSerialNo = DroneSerialNo + 1; if (DroneSerialNo == null) { DroneSerialNo = 1; } if (DroneSerialNo < 1000) { DroneSerialNo += 1000; } MSTR_Drone Drone = new MSTR_Drone { AccountID = AccountID, ManufactureId = ManufactureID, UavTypeId = RpasTypeId, CommissionDate = CommissionDate, DroneDefinitionID = 11, IsActive = true, DroneSerialNo = DroneSerialNo, ModelName = Description, CreatedBy = LoginUserID, CreatedOn = DateTime.Now, ModelID = 0, MakeID = 0, RefName = Description, RpasSerialNo = RPASSerialNumber }; db.MSTR_Drone.Add(Drone); db.SaveChanges(); //Add the drone to user M2M_Drone_User UserDrone = new M2M_Drone_User { UserID = LoginUserID, DroneID = Drone.DroneId }; db.M2M_Drone_User.Add(UserDrone); db.SaveChanges(); // db.Entry(Drone).GetDatabaseValues(); // MSTR_Drone NewDrone = db.MSTR_Drone.Where(l => l.DroneId == Drone.DroneId).Select(l=>l).FirstOrDefault(); db.Entry(Drone).Reload(); return(Drone); }
public DroneInfo(int DroneID = 0) { this.DroneID = DroneID; _droneinfo = ctx.MSTR_Drone.Where(w => w.DroneId == DroneID).FirstOrDefault(); if (_droneinfo != null) { _DroneRefName = _droneinfo.RefName; if (String.IsNullOrWhiteSpace(_DroneRefName)) { _DroneRefName = _droneinfo.ModelName; } _Manufacturer = ctx.LUP_Drone .Where(w => w.Type == "Manufacturer" && w.TypeId == _droneinfo.ManufactureId) .Select(s => s.Name) .FirstOrDefault(); var xUAVType = ctx.LUP_Drone .Where(w => w.Type == "UAVType" && w.TypeId == _droneinfo.UavTypeId) .Select(s => new { Name = s.Name, Group = s.GroupName }) .FirstOrDefault(); if (xUAVType != null) { _UAVType = xUAVType.Name; _UAVGroup = xUAVType.Group; } _RPASSerialNum = _droneinfo.RpasSerialNo; String QRCodePath = System.Web.Hosting.HostingEnvironment.MapPath("/Upload/QRCode/By100/"); String QRImagePath = $"{QRCodePath}{DroneName}.png"; if (System.IO.File.Exists(QRImagePath)) { _QRCode = $"/Upload/QRCode/By100/{DroneName}.png"; } else { _QRCode = $"/Images/QRCode.png"; } } }
public ActionResult Notify([Bind(Prefix = "ID")] String RequestAction, NotifyParser TheParser) { String RefFile = Server.MapPath("/Upload/Notify.log"); using (System.IO.StreamWriter sw = System.IO.File.AppendText(RefFile)) { sw.WriteLine($"Date: {DateTime.Now.ToLongDateString()} {DateTime.Now.ToLongTimeString()}"); sw.WriteLine(Request.Form); sw.WriteLine(Request.QueryString); sw.WriteLine(""); } switch (TheParser.call) { case "publish": if (TheParser.name.Substring(0, 5) == "DMAT0") { string DID = TheParser.name.Substring(5); TheParser.DroneID = Util.toInt(DID); int flightID = getFlightID(TheParser.DroneID); MSTR_Drone dr = ctx.MSTR_Drone.Where(x => x.DroneId == TheParser.DroneID).Select(x => x).FirstOrDefault(); if (dr != null) { dr.LastFlightID = flightID; dr.MakeID = 0; dr.RefName = dr.DroneName; dr.RpasSerialNo = dr.DroneName; dr.ModelID = 0; } ctx.SaveChanges(); } else { int uservalid = exLogic.User.StreamKeyValidation(TheParser.key); string DID = TheParser.name.Substring(5); TheParser.DroneID = Util.toInt(DID); if (uservalid > 0) { int userID = exLogic.User.GetKeyUserId(TheParser.key); if (exLogic.User.hasAccessUser("STREAM.VIDEO", userID)) { try { int flightID = getFlightID(TheParser.DroneID); MSTR_Drone dr = ctx.MSTR_Drone.Where(x => x.DroneId == TheParser.DroneID).Select(x => x).FirstOrDefault(); if (dr != null) { dr.LastFlightID = flightID; dr.MakeID = 0; dr.RefName = dr.DroneName; dr.RpasSerialNo = dr.DroneName; dr.ModelID = 0; } ctx.SaveChanges(); } catch (Exception Ex) { return(new HttpStatusCodeResult(HttpStatusCode.ExpectationFailed)); } return(new HttpStatusCodeResult(HttpStatusCode.OK)); } else { return(new HttpStatusCodeResult(HttpStatusCode.Unauthorized)); } } else { return(new HttpStatusCodeResult(HttpStatusCode.Unauthorized)); } } break; case "record_done": TheParser.RequestAction = RequestAction; TheParser.Assign(ctx); break; } //NotifyParser TheParser = (NotifyParser)Info; return(Json(TheParser, JsonRequestBehavior.AllowGet)); }