void Awake() { OnMouseClickEvent = new MouseClickEvent(); OnEnvChangeShapeEvent = new EnvChangeShapeEvent(); OnStaticCaseItemEvent = new StaticCaseItemEvent(); OnRightButtonClickEvent = new RightButtonClickEvent(); OnDoorEvent = new DoorEvent(); OnCaseEvent = new CaseEvent(); OnNextQuestEvent = new NextQuestEvent(); //OnDialogEvent = new QuestDialogEvent(); OnUseOnPlayerEvent = new UseOnPlayerEvent(); OnStartDialogEvent = new StartDialogEvent(); OnTerminalOpen = new TerminalEvent(); OnTerminalClose = new TerminalEvent(); OnChangeSpriteEvent = new ChangeSpriteEvent(); OnNewTicEvent = new NewTicEvent(); OnAddBuffEvent = new AddBuffEvent(); OnRemoveBuffEvent = new RemoveBuffEvent(); }
public PartialViewResult ModalCaseEventCreateSave(CaseEvent @caseEvent) { _context.UpsertCaseEvent(@caseEvent); var model = _context.GetCaseEventList(@caseEvent.CaseId); return(PartialView("_CaseEventList", model)); }
public ActionResult UpdateStatus(int CaseID, byte CaseStatus) { AjaxResult result = new AjaxResult(); CaseEvent = new GenericRepository <CaseEvent>(db); try { CaseEvent eventData = CaseEvent.Get(CaseID); if (eventData == null) { throw new Exception("找不到資料!"); } eventData.Status = CaseStatus; eventData.Update_by = int.Parse(Session["AdminId"].ToString()); CaseEvent.Update(eventData, eventData.ID); CaseEvent.SaveChanges(); } catch (Exception e) { result.status = false; result.message = e.InnerException != null && !string.IsNullOrEmpty(e.InnerException.Message) ? e.InnerException.Message : e.Message; } return(Json(result, JsonRequestBehavior.AllowGet)); }
public PartialViewResult CreateCaseEventPartial(int parentId) { var model = new CaseEvent { EventDate = DateTime.Today, CaseId = parentId }; return(PartialView("_CreateEditCaseEvent", model)); }
public int UpsertCaseEvent(CaseEvent @event) { if (@event.Id == 0) { _db.Add(@event); } else { _db.Update(@event); } return(_db.SaveChanges()); }
public void Receive() { try { using (LinkReceive receive = new LinkReceive(HttpContext.Request.Url.Query)) { CaseEvent eventData = db.CaseEvent.AsNoTracking().FirstOrDefault(c => c.ID.Equals(receive.CaseID)); if (eventData == null) { throw new Exception("找不到Case Event!"); } if (!eventData.Status.Equals((byte)EnumData.CaseEventStatus.Open)) { throw new Exception("執行動作無效!"); } Packages package = db.Packages.AsNoTracking().FirstOrDefault(p => p.IsEnable.Value && p.ID.Equals(eventData.PackageID)); if (package == null) { throw new Exception("找不到訂單!"); } using (CaseLog CaseLog = new CaseLog(package, Session)) { Label = new GenericRepository <DirectLineLabel>(db); TaskFactory factory = System.Web.HttpContext.Current.Application.Get("TaskFactory") as TaskFactory; switch (receive.Type) { case (byte)EnumData.CaseEventType.CancelShipment: if (!receive.Request.Equals((byte)EnumData.CaseEventRequest.Failed) && !receive.ReturnWarehouseID.HasValue) { throw new Exception("沒有選擇退貨倉!"); } CaseLog.CancelShipmentResponse(receive.Request, receive.ReturnWarehouseID); eventData = CaseLog.GetCaseEvent(EnumData.CaseEventType.CancelShipment); if (eventData.Request.Equals((byte)EnumData.CaseEventRequest.Successful) && eventData.Status.Equals((byte)EnumData.CaseEventStatus.Locked)) { ThreadTask threadTask = new ThreadTask(string.Format("Direct Line 訂單【{0}】同步資料", package.OrderID)); threadTask.AddWork(factory.StartNew(() => { threadTask.Start(); SyncProcess sync = new SyncProcess(Session); return(sync.Sync_Order(package.OrderID.Value)); })); DirectLineLabel label = db.DirectLineLabel.AsNoTracking().First(l => l.IsEnable && l.LabelID.Equals(eventData.LabelID)); label.Status = (byte)EnumData.LabelStatus.作廢; Label.Update(label, label.LabelID); Label.SaveChanges(); } break; case (byte)EnumData.CaseEventType.UpdateShipment: CaseLog.UpdateShipmentResponse(receive.Request); break; case (byte)EnumData.CaseEventType.ChangeShippingMethod: eventData = CaseLog.ChangeShippingMethodResponse(receive.Request); if (eventData.Request.Equals((byte)EnumData.CaseEventRequest.Successful) && eventData.Status.Equals((byte)EnumData.CaseEventStatus.Close)) { package = db.Packages.Find(eventData.PackageID); if (!string.IsNullOrEmpty(package.TrackingNumber)) { ThreadTask threadTask = new ThreadTask(string.Format("Direct Line 訂單【{0}】SC更新", package.OrderID)); threadTask.AddWork(factory.StartNew(() => { threadTask.Start(); SyncProcess sync = new SyncProcess(Session); return(sync.Update_Tracking(package)); })); } } break; case (byte)EnumData.CaseEventType.ResendShipment: eventData = CaseLog.ResendShipmentResponse(receive.Request); if (eventData.Request.Equals((byte)EnumData.CaseEventRequest.Successful) && eventData.Status.Equals((byte)EnumData.CaseEventStatus.Close)) { DirectLineLabel label = db.DirectLineLabel.AsNoTracking().First(l => l.IsEnable && l.LabelID.Equals(eventData.NewLabelID)); package = db.Packages.AsNoTracking().First(p => p.ID.Equals(label.PackageID)); if (!string.IsNullOrEmpty(package.TrackingNumber)) { label.Status = (byte)EnumData.LabelStatus.完成; ThreadTask threadTask = new ThreadTask(string.Format("Direct Line 訂單【{0}】SC更新", package.OrderID)); threadTask.AddWork(factory.StartNew(() => { threadTask.Start(); SyncProcess sync = new SyncProcess(Session); return(sync.Update_Tracking(package)); })); } Label.Update(label, label.LabelID); Label.SaveChanges(); } break; case (byte)EnumData.CaseEventType.ReturnPackage: CaseLog.ReturnPackageResponse(receive.Request); break; } } } Response.Write("Success!"); } catch (Exception e) { Response.Write(e.InnerException != null && !string.IsNullOrEmpty(e.InnerException.Message) ? e.InnerException.Message : e.Message); } }