private void Form1_Load(object sender, EventArgs e) { stockInfos = new XPQuery<StockInfo>(sess); stockHoldings = new XPQuery<StockHolding>(sess); stockFlows = new XPQuery<StockFlow>(sess); dailyCounts = new XPQuery<DailyCount>(sess); DailyCount todayCount; moneyFlows = new XPQuery<MoneyFlow>(sess); moneyHolding = new XPQuery<MoneyHolding>(sess).SingleOrDefault(); if (moneyHolding == null) { moneyHolding = new MoneyHolding(); moneyHolding.Save(); } if (stockHoldings.Count() > 0&&! new DayOfWeek[]{DayOfWeek.Sunday,DayOfWeek.Saturday}.Contains( DateTime.Today.DayOfWeek)) { todayCount= dailyCounts.SingleOrDefault(p => p.Date.Date == DateTime.Today); if (todayCount == null) { todayCount = new DailyCount() { Date = DateTime.Now }; todayCount.Save(); dailyCounts = new XPQuery<DailyCount>(sess); } } dgvDaily.DataSource = dailyCounts.ToList() ; comboBox1.DisplayMember = "Text"; comboBox1.ValueMember = "Value"; comboBox1.DataSource =EnumHelper.GetItems< StockTradeType>(); }
protected void DataBindTranslationBatchesGridView() { currentCustomer.TranslationLogEntryBatches.Reload(); IQueryable<TranslationLogEntryBatch> batches = new XPQuery<TranslationLogEntryBatch>(XpoHelper.GetNewSession()).Where(x => x.TranslationLogEntries.Count > 0).AsQueryable(); TranslationBatchesGridView.DataBind(batches); }
public static List<Employee> FilteredEmployeesToTarget(this ImportTask importTask, DevExpress.Xpo.Session session) { importTask.Filters.Reload(); importTask.Phonebook.Employees.Reload(); XPQuery<Employee> employeesQuery = new XPQuery<Employee>(session); IQueryable<Employee> employees = (from employee in employeesQuery where employee.Phonebook.Oid == importTask.Phonebook.Oid select employee); List<string> employeeFieldNames = Utilities.GetPropertyNames<Employee>().ToList(); foreach (Filter filter in importTask.Filters.ToList<Filter>()) { if (employeeFieldNames.Contains(filter.FieldName)) { if (filter.ComparisonOperator.Replace(" ", "") == "!=") { employees.Where(x => Convert.ToString(x.GetMemberValue(filter.FieldName)).EmptyIfNull() != filter.FieldValue); } else if (filter.ComparisonOperator.Replace(" ", "") == "==") { employees.Where(x => Convert.ToString(x.GetMemberValue(filter.FieldName)).EmptyIfNull() == filter.FieldValue); } } } return employees.ToList(); }
protected override void OnActivated() { base.OnActivated(); // Perform various tasks depending on the target View. View.ControlsCreated += new EventHandler(View_ControlsCreated); XPQuery<TimekeepingName> _TimekeepingName = new XPQuery<TimekeepingName>(( (XPObjectSpace)ObjectSpace).Session); List<TimekeepingName> listTimekeepingName = (from tso in _TimekeepingName select tso).ToList(); acFilterByTimekeepingMonth.Items.Clear(); foreach (TimekeepingName item in listTimekeepingName) { if (item.StartDate <= DateTime.Now && DateTime.Now <= item.EndDate) { tkname = item; } setLookupItem = new ChoiceActionItem(item.timekeepingName, item); acFilterByTimekeepingMonth.Items.Add(setLookupItem); } if (listTimekeepingName != null) { if (tkname == null) { tkname = listTimekeepingName[0]; } ((DevExpress.ExpressApp.ListView)View).CollectionSource.Criteria["Filter1"] = new BinaryOperator( "TimekeepingName.Oid", tkname.Oid, BinaryOperatorType.Equal); } }
protected void TranslationBatchesDetailGrid_Init(object sender, EventArgs e) { ASPxGridView gridView = sender as ASPxGridView; Guid batchOid = (Guid)(gridView.GetMasterRowKeyValue()); TranslationLogEntryBatch batch = new XPQuery<TranslationLogEntryBatch>(XpoHelper.GetNewSession()).Where(x => x.Oid == batchOid).FirstOrDefault(); gridView.DataBind(batch.TranslationLogEntries); }
/// <summary> /// /// </summary> private static void SQL_HandleCharDelete( CharDeleteSQL sqlInfo ) { XPQuery<CharacterBase> characters = new XPQuery<CharacterBase>( OneDatabase.Session ); var characterList = from character in characters where character.Oid == sqlInfo.DelCharGuid select character; bool bIsFinde = false; string strCharacterName = string.Empty; foreach ( CharacterBase character in characterList ) { XPQuery<CharacterPet> creaturePets = new XPQuery<CharacterPet>( OneDatabase.Session ); var creaturePetList = from creaturePet in creaturePets where creaturePet.Owner == character select creaturePet; foreach ( CharacterPet creaturePet in creaturePetList ) creaturePet.Delete(); XPQuery<CharacterItem> characterItems = new XPQuery<CharacterItem>( OneDatabase.Session ); var characterItemList = from characterItem in characterItems where characterItem.Owner == character select characterItem; foreach ( CharacterItem characterItem in characterItemList ) characterItem.Delete(); character.Delete(); OneDatabase.Session.CommitChanges(); strCharacterName = character.CharacterName; bIsFinde = true; break; } if ( bIsFinde == false ) sqlInfo.NetState.Send( new Word_CharDeleteResponseError( ResponseCodes.CHAR_DELETE_FAILED ) ); else { ProcessServer.WowZoneCluster.World.GlobalPlayerInfo.RemovePlayerInfo( strCharacterName ); sqlInfo.NetState.Send( new Word_CharDeleteResponse() ); } CharEnumSQL charEnumSQL = new CharEnumSQL( sqlInfo.WorldExtendData, sqlInfo.NetState ); WaitExecuteInfo<CharEnumSQL> waitExecuteInfo = new WaitExecuteInfo<CharEnumSQL>( charEnumSQL, WorldPacketHandlers.SQL_HandleCharEnum ); ProcessServer.WowZoneCluster.World.WaitExecute.JoinWaitExecuteQueue( waitExecuteInfo ); }
public List<Vacation> GetByDate(DateTime dateFrom, DateTime dateTo) { try { List<Vacation> vacations = new XPQuery<Vacation>(uow).Where(v => v.Date.Date >= dateFrom.Date && v.Date.Date <= dateTo.Date).OrderBy(v => v.Date).ToList(); return vacations; } catch (Exception exception1) { Exception innerException = exception1; throw new Exception(MethodBase.GetCurrentMethod().Name, innerException); } }
public static bool Login(string email, string password) { Customer match = new XPQuery<Customer>(DevExpress.Xpo.Session.DefaultSession).Where(x => x.EmailAddress.ToLower() == email.ToLower() && x.Password == password ).ToList().FirstOrDefault(); if (match != null) { HttpSession session = HttpSession.CurrentSession(); session.ActiveCustomer = match; session.SetClientCookie(); session.SaveSession(); } return match != null; }
private void btnDeleteMemo_Click(object sender, EventArgs e) { this.Uow = new UnitOfWork(); PlanningMemo memo = (PlanningMemo) this.gridvMemo.GetRow(this.gridvMemo.FocusedRowHandle); if (memo == null) return; memo = new XPQuery<PlanningMemo>(this.Uow).FirstOrDefault(q => q.Id == memo.Id); if (memo == null) return; if (XtraMessageBox.Show(this.LookAndFeel, "Bent u zeker dat u deze memo wilt verwijderen?", "Verwijderen?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button3) == DialogResult.Yes) { memo.Delete(); this.Uow.CommitChanges(); FindAllMemos(); } }
private void DuaDuLieuLenBangLuong() { IWorkbook workbook = spreadControl.Document; Worksheet worksheet = workbook.Worksheets[0]; Dictionary<int, string> dic = new Dictionary<int, string>(); StreamReader sr = new StreamReader(fileName); while (sr.Peek() >= 0) { string line = sr.ReadLine(); if (line != null) { string[] result = line.Split('|'); int value; if (int.TryParse(result[1].ToString(), out value)) { dic.Add(value, result[0]); } } } sr.Close(); XPQuery<Employee> _Employee = new XPQuery<Employee>(session); List<Employee> listEmployee = (from tso in _Employee select tso).ToList(); int countEmp = 2; foreach (Employee emp in listEmployee) { foreach(KeyValuePair<int, string> pair in dic) { if(pair.Key > 0) { worksheet[countEmp, pair.Key].Value = LayDuLieu(pair.Value, emp.Oid.ToString()); } } countEmp++; } }
public static ModificationResult DeleteWhere <T>(this Session session, Expression <Func <T, bool> > exp) where T : IXPObject { CriteriaOperator filter = XPQuery <T> .TransformExpression(session, exp); return(DeleteWhere <T>(session, filter)); }
public InventoryLedger GetPreviousInventoryLedger(Session session, InventoryLedger ledger) { InventoryLedger result = null; try { //CriteriaOperator criteria_RowStatus = new BinaryOperator("RowStatus", Constant.ROWSTATUS_ACTIVE, BinaryOperatorType.GreaterOrEqual); //CriteriaOperator criteria_IssueDate = new BinaryOperator("IssueDate", ledger.IssueDate, BinaryOperatorType.Less); //CriteriaOperator criteria_IssueDate1 = new BinaryOperator("IssueDate", ledger.IssueDate, BinaryOperatorType.Equal); //CriteriaOperator criteria_CreateDate = new BinaryOperator("CreateDate", ledger.CreateDate, BinaryOperatorType.LessOrEqual); //CriteriaOperator criteria_Inventory = new BinaryOperator("InventoryId", ledger.InventoryId, BinaryOperatorType.Equal); //CriteriaOperator criteria_ItemUnit = new BinaryOperator("ItemUnitId", ledger.ItemUnitId, BinaryOperatorType.Equal); //CriteriaOperator criteria_InventoryLedgerId = new BinaryOperator("InventoryLedgerId!Key", ledger.InventoryLedgerId, BinaryOperatorType.NotEqual); //CriteriaOperator criteria_DateTime = CriteriaOperator.Or( criteria_IssueDate, // CriteriaOperator.And(criteria_IssueDate1, criteria_CreateDate)); //CriteriaOperator criteria = CriteriaOperator.And(criteria_DateTime, criteria_Inventory, criteria_InventoryLedgerId, criteria_RowStatus, criteria_ItemUnit); XPQuery <InventoryLedger> InventoryLedgerQuery = new XPQuery <InventoryLedger>(session); IQueryable <InventoryLedger> InventoryLedgerCol = (from r in InventoryLedgerQuery where r.RowStatus >= Constant.ROWSTATUS_ACTIVE && r.IssueDate == ledger.IssueDate && r.CreateDate <= ledger.CreateDate && r.InventoryId == ledger.InventoryId && r.InventoryLedgerId != ledger.InventoryLedgerId && r.ItemUnitId == ledger.ItemUnitId select r); if (InventoryLedgerCol != null) { if (InventoryLedgerCol.Count() > 0) { result = InventoryLedgerCol.OrderByDescending(r => r.CreateDate).FirstOrDefault(); return(result); } } InventoryLedgerCol = (from r in InventoryLedgerQuery where r.RowStatus >= Constant.ROWSTATUS_ACTIVE && r.IssueDate < ledger.IssueDate && r.InventoryId == ledger.InventoryId && r.InventoryLedgerId != ledger.InventoryLedgerId && r.ItemUnitId == ledger.ItemUnitId select r); if (InventoryLedgerCol != null) { if (InventoryLedgerCol.Count() > 0) { result = InventoryLedgerCol.OrderByDescending(r => r.IssueDate).OrderByDescending(r => r.CreateDate).FirstOrDefault(); return(result); } } return(null); } catch (Exception) { return(null); } return(result); }
private void UpdateRegister(Session ses, fmCSAStatementAccount statementAccount) { DateTime DatePeriodBegin = statementAccount.DateFrom.Date; DateTime DatePeriodEnd = statementAccount.DateTo.Date; XPQuery <fmCSAOperationJournal> OperJur = new XPQuery <fmCSAOperationJournal>(ses, true); var OperJurFact = from oper in OperJur where oper.OperationDate.Date >= DatePeriodBegin && oper.OperationDate.Date < DatePeriodEnd.Date.AddDays(1) && oper.BankAccount == statementAccount.BankAccount group oper by new { oper.OperationDate, oper.PaymentDocument } into registerGroup select new OperationJurnal { Date = registerGroup.Key.OperationDate, PayDoc = registerGroup.Key.PaymentDocument, StatementDoc = null, CurrentSumIn = registerGroup.Sum(oper => oper.SumIn), CurrentSumOut = registerGroup.Sum(oper => oper.SumOut) }; XPQuery <fmCSAStatementAccountDoc> StatAccountDoc = new XPQuery <fmCSAStatementAccountDoc>(ses, true); var OperJurStatIn = from doc in StatAccountDoc where doc.PaymentReceiverRequisites.StatementOfAccount == statementAccount && doc.ReceivedByPayerBankDate != DateTime.MinValue select new OperationJurnal { Date = doc.ReceivedByPayerBankDate, PayDoc = doc.PaymentDocument, StatementDoc = doc, StatementSumIn = doc.PaymentCost, }; var OperJurStatOut = from doc in StatAccountDoc where doc.PaymentPayerRequisites.StatementOfAccount == statementAccount && doc.DeductedFromPayerAccount != DateTime.MinValue select new OperationJurnal { Date = doc.DeductedFromPayerAccount, PayDoc = doc.PaymentDocument, StatementDoc = doc, StatementSumOut = doc.PaymentCost, }; var OperJurUnion = from oper in OperJurFact.Union(OperJurStatIn).Union(OperJurStatOut) group oper by new { Date = oper.Date, PayDoc = oper.PayDoc } into oper_group select new OperationJurnal { Date = oper_group.Key.Date, PayDoc = oper_group.Key.PayDoc, // StatementOper = oper_group.First(oper => oper.StatementDoc != null), CurrentSumIn = oper_group.Sum(oper => oper.CurrentSumIn), CurrentSumOut = oper_group.Sum(oper => oper.CurrentSumOut), StatementSumIn = oper_group.Sum(oper => oper.StatementSumIn), StatementSumOut = oper_group.Sum(oper => oper.StatementSumOut) }; foreach (OperationJurnal oper in OperJurUnion) { if (oper.CurrentSumIn != oper.StatementSumIn || oper.CurrentSumOut != oper.StatementSumOut) { fmCSAOperationJournal oper_delta = new fmCSAOperationJournal(ses); oper_delta.DateRecord = DateTime.Now; // oper_delta. oper_delta.OperationDate = oper.Date; oper_delta.BankAccount = statementAccount.BankAccount; oper_delta.PaymentDocument = oper.PayDoc; // oper_delta.StatementAccountDoc = itemSA.StatementDocument; oper_delta.SumIn = oper.StatementSumIn - oper.CurrentSumIn; oper_delta.SumOut = oper.StatementSumOut - oper.CurrentSumOut; // Валюта, для которой указаны суммы SumIn и SumOut oper_delta.Valuta = crmBankAccount.GetValutaByBankAccount(ses, statementAccount.BankAccount); //GetValutaByBankAccount(ses, statementAccount.BankAccount); } } }
//public void CreatePaymentDocument(fmStatementOfAccount statementAccount) { public void CreatePaymentDocuments <typeDoc>(Session ses, fmCSAStatementAccount statementAccount) where typeDoc : fmCDocRCB { //DateTime DatePeriodBegin = statementAccount.DateFrom.Date; //DateTime DatePeriodEnd = statementAccount.DateTo.Date; /* 2012-04-11 * XPQuery<fmCSAStatementAccountDoc> docs = new XPQuery<fmCSAStatementAccountDoc>(ses, true); * var queryStatementDocs = from statementDoc in docs * where //statementDoc.PaymentDocument == null * // && (statementAccount.PayInDocs.Contains<fmCSAStatementAccountDoc>(statementDoc) || statementAccount.PayOutDocs.Contains<fmCSAStatementAccountDoc>(statementDoc)) * (statementDoc.PaymentPayerRequisites.StatementOfAccount == statementAccount || * statementDoc.PaymentReceiverRequisites.StatementOfAccount == statementAccount) * && statementDoc.NameTypeOfRCBDocument == typeof(typeDoc).FullName * select statementDoc; */ var queryStatementDocs = (statementAccount.PayInDocs.Union(statementAccount.PayOutDocs)).Where(d => d.NameTypeOfRCBDocument == typeof(typeDoc).FullName); foreach (var doc in queryStatementDocs) { //if (doc.NameTypeOfRCBDocument != typeof(typeDoc).FullName) continue; // Проверка наличия Платёжного документа, подходящего для данного документа выписки doc // 1. Тип документа, например, fmCDocRCBPaymentOrder и т.п. // 2. Номер счёта плательщика // 3. Номер документа DocNumber // 4. Дата документа DocDate XPQuery <typeDoc> paymentDocs = new XPQuery <typeDoc>(ses, true); /* 2012-04-11 * var queryPaymentDocs = from paymentDoc in paymentDocs * where (doc.PaymentPayerRequisites.AccountParty == statementAccount.BankAccountText * && paymentDoc.PaymentPayerRequisites.AccountParty == doc.PaymentPayerRequisites.AccountParty || || doc.PaymentReceiverRequisites.AccountParty == statementAccount.BankAccountText || && paymentDoc.PaymentReceiverRequisites.AccountParty == doc.PaymentReceiverRequisites.AccountParty) || && paymentDoc.DocNumber == doc.DocNumber || && paymentDoc.DocDate == doc.DocDate || select paymentDoc; */ // Для входящих платежей - дополнительная проверка по тексту PaymentFunction // В качестве признака входящего/исходящего платежа можно взять условие непустоты полей StatementAccountIn/StatementAccountOut // 2012-04-12 Телефонный разговор: сменилась концепция проверки подходящего платёжного документа /* * var queryPaymentDocs = from paymentDoc in paymentDocs * where (doc.PaymentPayerRequisites.AccountParty == statementAccount.BankAccountText * && paymentDoc.PaymentPayerRequisites.AccountParty == doc.PaymentPayerRequisites.AccountParty || || doc.PaymentReceiverRequisites.AccountParty == statementAccount.BankAccountText || && paymentDoc.PaymentReceiverRequisites.AccountParty == doc.PaymentReceiverRequisites.AccountParty) || && paymentDoc.PaymentPayerRequisites.INN == doc.PaymentPayerRequisites.INN && paymentDoc.PaymentPayerRequisites.KPP == doc.PaymentPayerRequisites.KPP || && paymentDoc.PaymentReceiverRequisites.INN == doc.PaymentReceiverRequisites.INN && paymentDoc.PaymentReceiverRequisites.KPP == doc.PaymentReceiverRequisites.KPP || && paymentDoc.DocNumber == doc.DocNumber || && paymentDoc.DocDate == doc.DocDate || && (doc.StatementAccountIn == null || paymentDoc.PaymentFunction == doc.PaymentFunction) || select paymentDoc; */ // 2012-04-12 Новый способ проверки: Тип (учитывается как параметр), Номер документа, Дата документа, БИК банка плательщика, // счёт плательщика, БИК банка получаетля, счёт получателя var queryPaymentDocs = from paymentDoc in paymentDocs where paymentDoc.DocType == doc.DocType && paymentDoc.DocNumber == doc.DocNumber && paymentDoc.DocDate == doc.DocDate && paymentDoc.PaymentPayerRequisites.RCBIC == doc.PaymentPayerRequisites.RCBIC && paymentDoc.PaymentPayerRequisites.AccountParty == doc.PaymentPayerRequisites.AccountParty && paymentDoc.PaymentReceiverRequisites.RCBIC == doc.PaymentReceiverRequisites.RCBIC && paymentDoc.PaymentReceiverRequisites.AccountParty == doc.PaymentReceiverRequisites.AccountParty && paymentDoc.PaymentFunction == doc.PaymentFunction select paymentDoc; bool isFound = false; foreach (var paymentDoc in queryPaymentDocs) { isFound = true; // Найден какой-то Платёжный документ заданного типа -> сумма выписки учитывается в регистре, а сам Платёжный документ припиывается // документу выписки doc.PaymentDocument = paymentDoc; AssignCommonProperty(paymentDoc, doc); // ??? Надо обновлять ??? break; } if (!isFound) { // Не найден никакой документ заданного типа -> создаётся Платёжный документ соответствующего типа fmCDocRCB paymentDoc = null; if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBPaymentOrder).FullName) { paymentDoc = new fmCDocRCBPaymentOrder(ses); } if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBPaymentRequest).FullName) { paymentDoc = new fmCDocRCBPaymentRequest(ses); } if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBAkkreditivRequest).FullName) { paymentDoc = new fmCDocRCBAkkreditivRequest(ses); } if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBInkassOrder).FullName) { paymentDoc = new fmCDocRCBInkassOrder(ses); } if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBOthers).FullName) { paymentDoc = new fmCDocRCBOthers(ses); } paymentDoc.DocType = doc.DocType; paymentDoc.State = PaymentDocProcessingStates.IMPORTED; doc.PaymentDocument = paymentDoc; AssignCommonProperty(paymentDoc, doc); } } }
/// <summary> /// /// </summary> /// <returns></returns> public static bool BuildRecreate() { try { LOGs.WriteLine( LogMessageType.MSG_SQL, "SQL: 开始连接SQL..." ); s_UnitOfWork.Connection = new SqlConnection( s_ConnectionUrl ); s_UnitOfWork.AutoCreateOption = AutoCreateOption.SchemaOnly; s_UnitOfWork.Connect(); LOGs.WriteLine( LogMessageType.MSG_INFO, "SQL: 连接 {0}", s_ConnectionUrl ); } catch ( Exception exception ) { LOGs.WriteLine( LogMessageType.MSG_FATALERROR, "SQL: 无法连接SQL {0}", exception ); return false; } const string AccountNameGM = "DemoSoft"; const string AccountPasswordGM = "123456"; const string AccountNameTest = "wowwow1978"; const string AccountPasswordTest = "TrueHacke0"; XPQuery<Account> accounts = new XPQuery<Account>( s_UnitOfWork ); var accountList = from account in accounts where account.AccountName == AccountNameGM || account.AccountName == AccountNameTest select account; foreach ( Account account in accountList ) account.Delete(); s_UnitOfWork.CommitChanges(); s_UnitOfWork.PurgeDeletedObjects(); Account accountsGM = new Account( s_UnitOfWork ); accountsGM.AccountName = AccountNameGM; accountsGM.Password = AccountPasswordGM; accountsGM.GMLevel = 1; // GM accountsGM.IsLocked = false; accountsGM.IsBanned = true; accountsGM.CreateDate = DateTime.Now; accountsGM.Save(); Account accountsTest = new Account( s_UnitOfWork ); accountsTest.AccountName = AccountNameTest; accountsTest.Password = AccountPasswordTest; accountsTest.GMLevel = 100; // Player accountsTest.IsLocked = false; accountsTest.IsBanned = false; accountsTest.CreateDate = DateTime.Now; accountsTest.Save(); s_UnitOfWork.CommitChanges(); LOGs.WriteLine( LogMessageType.MSG_SQL, "SQL: 完成构建SQL" ); return true; }
private void btnNext_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; XPQuery<DefaultValueTimekeeping> _DefaultValueTimekeeping = new XPQuery<DefaultValueTimekeeping>(( (XPObjectSpace)objSpace).Session); List<DefaultValueTimekeeping> xpcDefaultValueTimekeeping; xpcDefaultValueTimekeeping = (from tso in _DefaultValueTimekeeping select tso).ToList(); dt = new DataTable(); dt.Columns.Add("IsChecked", typeof(bool)); dt.Columns.Add("Phòng ban",typeof(string)); dt.Columns.Add("Mã NV", typeof(string)); dt.Columns.Add("Tên nhân viên", typeof(string)); dt.Columns.Add("Ngày", typeof(DateTime)); dt.Columns.Add("Ca Mặc Định", typeof(string)); dt.Columns.Add("Ca Dự Đoán", typeof(string)); dt.Columns.Add("Vào 1", typeof(string)); dt.Columns.Add("Ra 1", typeof(string)); dt.Columns.Add("Vào 2", typeof(string)); dt.Columns.Add("Ra 2", typeof(string)); dt.Columns.Add("Vào 3", typeof(string)); dt.Columns.Add("Ra 3", typeof(string)); if (string.IsNullOrEmpty(txtDuongDanFile.Text)) return; lkupTenBangChamCong.Visible = true; layoutControlItem7.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; layoutControlItem8.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; layoutControlItem9.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; layoutControlItem10.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; layoutControlItem11.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; //Convert To Table Template DataTable dt_temp = dt_temp = gridControl1.DataSource as DataTable; if (dt_temp == null) { return; } // Bo tieu de if (dt_temp.Rows.Count > 0) { dt_temp.DefaultView.RowFilter = "F3 <> ''"; dt_temp = dt_temp.DefaultView.ToTable(); } //Fomart cấu trúc bảng List<string> dsCol = new List<string>(){"Phòng ban","Mã NV","Tên nhân viên", "Ngày", "Vào 1", "Vào 2", "Vào 3", "Ra 1", "Ra 2", "Ra 3"}; foreach (DataRow itemrow in dt_temp.Rows) { foreach (string col in dsCol) { for (int i = 0; i < dt_temp.Columns.Count; i++) { if (itemrow[i].ToString() == col) { dt_temp.Columns[i].ColumnName = col; break; } } } } //Xóa dòng đầu tiền trong bảng dt_temp.Rows.RemoveAt(0); ////Đưa về bảng 8 cột //for (int i = 0; i < dt_temp.Columns.Count; i++) //{ // DataColumn columns = dt_temp.Columns[i]; // foreach (string col in dsCol) // { // if (col == columns.ColumnName && !dt.Columns.Contains(col)) // { // dt.Columns.Add(col); // break; // } // } //} //Them 2 cot thoi gian vao thoi gian ra DataColumn column = dt.Columns.Add("ThoiGianVao", typeof(string)); column.Caption = "Thời Gian Vào"; column = dt.Columns.Add("ThoiGianRa", typeof(string)); column.Caption = "Thời Gian Ra"; for (int i = 0; i < dt_temp.Rows.Count; i++) { DataRow dr = dt_temp.Rows[i]; dt.ImportRow(dr); if (dt_temp.Rows[i]["Vào 1"] != System.DBNull.Value) { dt.Rows[i]["ThoiGianVao"] = dt_temp.Rows[i]["Vào 1"]; } else { dt.Rows[i]["ThoiGianVao"] = "00:00"; } if (dt_temp.Rows[i]["Ra 3"] != System.DBNull.Value) { dt.Rows[i]["ThoiGianRa"] = dt_temp.Rows[i]["Ra 3"]; } else if (dt_temp.Rows[i]["Ra 2"] != System.DBNull.Value) { dt.Rows[i]["ThoiGianRa"] = dt_temp.Rows[i]["Ra 2"]; } else if (dt_temp.Rows[i]["Ra 1"] != System.DBNull.Value) { dt.Rows[i]["ThoiGianRa"] = dt_temp.Rows[i]["Ra 1"]; } else { dt.Rows[i]["ThoiGianRa"] = "00:00"; } Employee emp = objSpace.FindObject<Employee>(new BinaryOperator( "EmployeeCode", dt.Rows[i]["Mã NV"])); if (emp != null) { if (emp.DefaultShift != null && emp.DefaultShift.ShiftName != null) { dt.Rows[i]["Ca Mặc Định"] = emp.DefaultShift.ShiftName; } } if (dt.Rows[i]["ThoiGianRa"] != null && dt.Rows[i]["ThoiGianVao"] != null) { foreach (DefaultValueTimekeeping value in xpcDefaultValueTimekeeping) { if (value.ThoiGianVao != null && value.ThoiGianRa != null) { TimeSpan ts = TimeSpan.Parse(dt.Rows[i]["ThoiGianVao"].ToString()) - value.ThoiGianVao; if (ts.Hours == 0 && ts.Minutes > -30 && ts.Minutes < 30) { dt.Rows[i]["Ca Dự Đoán"] = value.Shift.ShiftName; break; } } } } } gridControl1.DataSource = null; gridView1.Columns.Clear(); gridControl1.DataSource = dt; //Enable button Finish btnFinish.Enabled = true; btnNext.Enabled = false; gridView1.SelectAll(); checkEdit2.Checked = true; this.Cursor = Cursors.Default; }
void SimpleActionOnExecute(object sender, SimpleActionExecuteEventArgs simpleActionExecuteEventArgs) { DateTime dateTime = new XPQuery <MDSOrderLine>(((XPObjectSpace)ObjectSpace).Session).Max(line => line.OrderLineDate); ((Customer)View.CurrentObject).BirthDate = dateTime; }
private IActionResult _Search(string[] words, SearchRangeType type) { var session = new UnitOfWork(); var view = new XPView(session, typeof(Verse)); var bookShortcuts = new XPQuery <BookBase>(session).Select(x => new KeyValuePair <int, string>(x.NumberOfBook, x.BookShortcut)).ToList(); var translationNames = new XPQuery <Translation>(session).Where(x => !x.Hidden).Select(x => new KeyValuePair <string, string>(x.Name.Replace("'", "").Replace("+", ""), x.Description)).ToList(); var query = "Search?text="; foreach (var word in words) { query += word; if (word != words.Last()) { query += "+"; } } var dic = new Dictionary <string, string>(); foreach (SearchRangeType item in Enum.GetValues(typeof(SearchRangeType))) { if (item == type) { continue; } if (item == SearchRangeType.All) { dic.Add(item.GetDescription(), query); } else { dic.Add(item.GetDescription(), query + TYPE_QUERY + item.GetCategory()); } } var critera = String.Empty; foreach (var word in words) { critera += $"Contains(Lower([Text]),'{word.ToLower()}')"; if (word != words.Last()) { critera += " AND "; } } view.CriteriaString = critera.Trim(); view.Properties.Add(new ViewProperty("NumberOfVerse", SortDirection.None, "[NumberOfVerse]", false, true)); view.Properties.Add(new ViewProperty("VerseText", SortDirection.None, "[Text]", false, true)); view.Properties.Add(new ViewProperty("Index", SortDirection.None, "[Index]", false, true)); var model = new SearchResultsModel(words) { SearchType = type, Links = dic }; foreach (ViewRecord record in view) { var _index = record["Index"]; if (_index.IsNotNull()) { var index = new VerseIndex(_index.ToString()); if (type != SearchRangeType.All) { if (type == SearchRangeType.NewTestament && (index.NumberOfBook < 470 || index.NumberOfBook > 730)) { continue; } if (type == SearchRangeType.OldTestament && index.NumberOfBook >= 470) { continue; } } var baseBookShortcut = bookShortcuts.Where(x => x.Key == index.NumberOfBook).Select(x => x.Value).FirstOrDefault(); var translation = translationNames.Where(x => x.Key == index.TranslationName).FirstOrDefault(); if (translation.IsNull() || translation.Key.IsNull()) { continue; } var translationDesc = translation.Value; var verseText = record["VerseText"].ToString(); verseText = verseText.Replace("<J>", "<span style='color: darkred;'>").Replace("</J>", "</span>"); var simpleText = verseText.Replace("</t>", "").Replace("<t>", "").Replace("<pb/>", "").Replace("<n>", "").Replace("</n>", "").Replace("<e>", "").Replace("</e>", "").Replace("―", "").Replace('\'', ' ').Replace("<J>", "").Replace("</J>", "").Replace("<i>", "").Replace("</i>", ""); var translationName = translation.Key; if (translationName == "NPI" || translationName == "IPD") { simpleText = simpleText.Replace("―", ""); verseText = verseText.Replace("―", ""); } if (translationName == "PBD") { translationName = "SNPPD"; } simpleText = System.Text.RegularExpressions.Regex.Replace(simpleText, @"\<f\>\[[0-9]+\]\<\/f\>", ""); simpleText = $"{baseBookShortcut} {index.NumberOfChapter}:{record["NumberOfVerse"]} „{simpleText}” ({translationName})"; model.Add(new SearchItemModel() { Book = index.NumberOfBook, BookShortcut = baseBookShortcut, Chapter = index.NumberOfChapter, Verse = record["NumberOfVerse"].ToInt(), TranslationName = translationDesc, Translation = index.TranslationName, VerseText = verseText, SimpleText = simpleText, Index = _index.ToString() }); } } return(View(model)); }
private void btnAutoTranslateChapter_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (XtraMessageBox.Show("Do you want to auto-translate this chapter to Polish?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { var verses = VerseControl.Verse.ParentChapter.Verses.OrderBy(x => x.NumberOfVerse).ToList(); var dic = new XPQuery <AncientDictionaryItem>(Uow).ToList(); Uow.BeginTransaction(); var c = new GreekTransliterationController(); foreach (var verse in verses) { foreach (var verseWord in verse.VerseWords) { var sourceWord = verseWord.SourceWord.RemoveAny(".", ":", ",", ";", "·", "—", "-", ")", "(", "]", "[", "’", ";", "\"", "?"); if (verseWord.Translation.IsNullOrEmpty()) { var exactItem = dic.Where(x => x.Word == sourceWord.ToLower()).FirstOrDefault(); if (exactItem.IsNotNull()) { var translation = String.Empty; var _isUpper = System.Char.IsUpper(sourceWord[0]); if (_isUpper && exactItem.Translation.IsNotNullOrEmpty() && exactItem.Translation.Length > 1) { translation = exactItem.Translation.Substring(0, 1).ToUpper() + exactItem.Translation.Substring(1).ToLower(); } else { translation = exactItem.Translation.ToLower(); } if (translation.IsNotNullOrEmpty()) { translation = translation.RemoveAny(".", ":", ",", ";", "·", "—", "-", ")", "(", "]", "[", "’", ";", "\"", "?"); if (verseWord.SourceWord.EndsWith(",")) { translation += ","; } if (verseWord.SourceWord.EndsWith(";")) { translation += ";"; } if (verseWord.SourceWord.EndsWith("·")) { translation += ":"; } if (verseWord.SourceWord.EndsWith(".")) { translation += "."; } verseWord.Translation = translation; verseWord.Save(); continue; } } var w = c.GetSourceWordWithoutBreathAndAccent(sourceWord, out var isUpper); var item = dic.Where(x => x.Word == w.ToLower()).FirstOrDefault(); if (item.IsNotNull()) { var translation = String.Empty; if (isUpper && item.Translation.IsNotNullOrEmpty() && item.Translation.Length > 1) { translation = item.Translation.Substring(0, 1).ToUpper() + item.Translation.Substring(1).ToLower(); } else { translation = item.Translation.ToLower(); } if (translation.IsNotNullOrEmpty()) { translation = translation.RemoveAny(".", ":", ",", ";", "·", "—", "-", ")", "(", "]", "[", "’", ";", "\"", "?"); if (verseWord.SourceWord.EndsWith(",")) { translation += ","; } if (verseWord.SourceWord.EndsWith(";")) { translation += ";"; } if (verseWord.SourceWord.EndsWith("·")) { translation += ":"; } if (verseWord.SourceWord.EndsWith(".")) { translation += "."; } verseWord.Translation = translation; verseWord.Save(); } } } } } VerseControl.Verse.ParentChapter.IsTranslated = true; Uow.CommitChanges(); VerseControl.LoadData(verses.First()); } }
private void BuildFromExisting(UnitOfWork uow) { uow.BeginTransaction(); AncientDictionary dic = null; if (!new XPQuery <AncientDictionary>(uow).Any()) { dic = new AncientDictionary(uow) { Language = Language.Greek }; dic.Save(); } else { dic = new XPQuery <AncientDictionary>(uow).FirstOrDefault(); } var strongs = new XPQuery <StrongCode>(uow).ToList(); var grammarCodes = new XPQuery <GrammarCode>(uow).ToList(); var items = new List <AncientDictionaryItem>(); var verseView = new XPView(uow, typeof(VerseWord)) { CriteriaString = "Translation is not null AND Translation != ''" }; verseView.Properties.Add(new ViewProperty("Oid", SortDirection.None, "[Oid]", false, true)); verseView.Properties.Add(new ViewProperty("Translation", SortDirection.None, "[Translation]", false, true)); verseView.Properties.Add(new ViewProperty("Transliteration", SortDirection.None, "[Transliteration]", false, true)); verseView.Properties.Add(new ViewProperty("SourceWord", SortDirection.None, "[SourceWord]", false, true)); verseView.Properties.Add(new ViewProperty("GrammarCodeId", SortDirection.None, "[GrammarCode.Oid]", false, true)); verseView.Properties.Add(new ViewProperty("StrongCodeId", SortDirection.None, "[StrongCode.Oid]", false, true)); var ancientDictionaryItemView = new XPView(uow, typeof(AncientDictionaryItem)) { CriteriaString = "Translation is not null AND Translation != ''" }; ancientDictionaryItemView.Properties.Add(new ViewProperty("Word", SortDirection.None, "[Word]", false, true)); foreach (ViewRecord item in ancientDictionaryItemView) { items.Add(new AncientDictionaryItem(null) { Word = item["Word"].ToString() }); } foreach (ViewRecord item in verseView) { var sourceWord = item["SourceWord"].ToString().RemoveAny(".", ":", ",", ";", "·", "—", "-", ")", "(", "]", "[", "’", ";", "\"", "?").ToLower(); if (!items.Where(x => x.Word.Equals(sourceWord)).Any()) { var translationText = item["Translation"].ToString().ToLower(); translationText = Regex.Replace(translationText, @"(?<c>\<n\>(\s+)?\[.+\](\s+)?\<\/n\>)", String.Empty, RegexOptions.IgnoreCase); translationText = translationText.RemoveAny(".", ":", ",", ";", "·", "—", "-", ")", "(", "]", "[", "’", ";", "\"", "?").Trim(); if (translationText.IsNotNullOrEmpty()) { var transliteration = item["Transliteration"].ToString().RemoveAny(".", ":", ",", ";", "·", "—", "-", ")", "(", "]", "[", "’", ";", "\"", "?").ToLower(); var dicItem = new AncientDictionaryItem(uow) { Word = sourceWord, Dictionary = dic, Translation = translationText, Transliteration = transliteration, GrammarCode = grammarCodes.Where(x => x.Oid == item["GrammarCodeId"].ToInt()).FirstOrDefault(), StrongCode = strongs.Where(x => x.Oid == item["StrongCodeId"].ToInt()).FirstOrDefault() }; dicItem.Save(); items.Add(dicItem); } } } uow.CommitChanges(); }
private void BuildFromTRO(string path, UnitOfWork uow) { var conn = GetConnection(path); var words = GetTroVerseInfos(conn); var c = new GreekTransliterationController(); uow.BeginTransaction(); var strongs = new XPQuery <StrongCode>(uow).ToList(); var grammarCodes = new XPQuery <GrammarCode>(uow).ToList(); AncientDictionary dic = null; if (!new XPQuery <AncientDictionary>(uow).Any()) { dic = new AncientDictionary(uow) { Language = Language.Greek }; dic.Save(); } else { dic = new XPQuery <AncientDictionary>(uow).FirstOrDefault(); } var ancientDictionaryItemView = new XPView(uow, typeof(AncientDictionaryItem)) { CriteriaString = "Translation is not null AND Translation != ''" }; ancientDictionaryItemView.Properties.Add(new ViewProperty("Word", SortDirection.None, "[Word]", false, true)); var exsistingWords = new List <TroVerseWord>(); foreach (ViewRecord item in ancientDictionaryItemView) { exsistingWords.Add(new TroVerseWord() { SourceWord = item["Word"].ToString() }); } foreach (var word in words) { if (!exsistingWords.Where(x => x.SourceWord == word.SourceWord).Any()) { var item = new AncientDictionaryItem(uow) { Dictionary = dic, Word = word.SourceWord, Translation = word.Translation, Transliteration = c.TransliterateWord(word.SourceWord), StrongCode = strongs.Where(x => x.Lang == Language.Greek && x.Code == word.StrongCode).FirstOrDefault(), GrammarCode = grammarCodes.Where(x => x.GrammarCodeVariant1 == word.GrammarCode || x.GrammarCodeVariant2 == word.GrammarCode || x.GrammarCodeVariant3 == word.GrammarCode).FirstOrDefault() }; item.Save(); exsistingWords.Add(new TroVerseWord() { SourceWord = word.SourceWord }); } } uow.CommitChanges(); }
public static XpoLinqQuery <T> AsWrappedQuery <T>(this XPQuery <T> source) { return(new XpoLinqQuery <T>(source)); }
public static void Populate() { Session session = null; try { session = XpoHelper.GetNewSession(); //insert default data into Inventory table if (!Util.isExistXpoObject <NAS.DAL.Nomenclature.Inventory.Inventory>("Name", Utility.Constant.NAAN_DEFAULT_NAME)) { Nomenclature.Organization.Organization.Populate(); XPQuery <Nomenclature.Organization.Organization> organizationQuery = session.Query <Nomenclature.Organization.Organization>(); Nomenclature.Organization.Organization organization = organizationQuery.Where(r => r.Code == Utility.Constant.NAAN_DEFAULT_CODE).FirstOrDefault(); InventoryUnit.Populate(); XPQuery <InventoryUnit> inventoryUnitQuery = session.Query <InventoryUnit>(); InventoryUnit inventoryUnit = inventoryUnitQuery.Where(r => r.Name == Utility.Constant.NAAN_DEFAULT_NAME).FirstOrDefault(); NAS.DAL.Nomenclature.Inventory.Inventory inventory = new NAS.DAL.Nomenclature.Inventory.Inventory(session) { Name = Utility.Constant.NAAN_DEFAULT_NAME, Description = "", OrganizationId = organization, InventoryUnitId = inventoryUnit, RowStatus = -1, RowCreationTimeStamp = DateTime.Now }; inventory.Save(); } if (!Util.isExistXpoObject <NAS.DAL.Nomenclature.Inventory.Inventory>("InventoryId", "fa31071d-6010-4788-83b9-9f0ce0c90c5f")) { Nomenclature.Organization.Organization.Populate(); XPQuery <Nomenclature.Organization.Organization> organizationQuery = session.Query <Nomenclature.Organization.Organization>(); Nomenclature.Organization.Organization organization = organizationQuery.Where(r => r.Code == Utility.Constant.NAAN_DEFAULT_CODE).FirstOrDefault(); InventoryUnit.Populate(); XPQuery <InventoryUnit> inventoryUnitQuery = session.Query <InventoryUnit>(); InventoryUnit inventoryUnit = inventoryUnitQuery.Where(r => r.Name == Utility.Constant.NAAN_DEFAULT_NAME).FirstOrDefault(); NAS.DAL.Nomenclature.Inventory.Inventory inventory = new NAS.DAL.Nomenclature.Inventory.Inventory(session) { InventoryId = Guid.Parse("fa31071d-6010-4788-83b9-9f0ce0c90c5f"), Name = "Kho mặc định", Code = "KHOMACDINH", Description = "", OrganizationId = organization, InventoryUnitId = inventoryUnit, RowStatus = 1, RowCreationTimeStamp = DateTime.Now }; inventory.Save(); } if (!Util.isExistXpoObject <NAS.DAL.Nomenclature.Inventory.Inventory>("Code", "DEFAULTCST")) { Nomenclature.Organization.Organization.Populate(); XPQuery <Nomenclature.Organization.Organization> organizationQuery = session.Query <Nomenclature.Organization.Organization>(); Nomenclature.Organization.Organization organization = organizationQuery.Where(r => r.Code == Utility.Constant.NAAN_DEFAULT_CODE).FirstOrDefault(); InventoryUnit.Populate(); XPQuery <InventoryUnit> inventoryUnitQuery = session.Query <InventoryUnit>(); InventoryUnit inventoryUnit = inventoryUnitQuery.Where(r => r.Name == Utility.Constant.NAAN_DEFAULT_NAME).FirstOrDefault(); NAS.DAL.Nomenclature.Inventory.Inventory inventory = new NAS.DAL.Nomenclature.Inventory.Inventory(session) { Code = "DEFAULTCST", Name = "Kho khách hàng", Description = "", OrganizationId = organization, InventoryUnitId = inventoryUnit, RowStatus = -1, RowCreationTimeStamp = DateTime.Now }; inventory.Save(); } if (!Util.isExistXpoObject <NAS.DAL.Nomenclature.Inventory.Inventory>("Code", "TRANSITINVENTORY")) { Nomenclature.Organization.Organization.Populate(); XPQuery <Nomenclature.Organization.Organization> organizationQuery = session.Query <Nomenclature.Organization.Organization>(); Nomenclature.Organization.Organization organization = organizationQuery.Where(r => r.Code == Utility.Constant.NAAN_DEFAULT_CODE).FirstOrDefault(); InventoryUnit.Populate(); XPQuery <InventoryUnit> inventoryUnitQuery = session.Query <InventoryUnit>(); InventoryUnit inventoryUnit = inventoryUnitQuery.Where(r => r.Name == Utility.Constant.NAAN_DEFAULT_NAME).FirstOrDefault(); NAS.DAL.Nomenclature.Inventory.Inventory inventory = new NAS.DAL.Nomenclature.Inventory.Inventory(session) { Code = "TRANSITINVENTORY", Name = "Kho trung chuyển", Description = "", OrganizationId = organization, InventoryUnitId = inventoryUnit, RowStatus = -1, RowCreationTimeStamp = DateTime.Now }; inventory.Save(); } if (!Util.isExistXpoObject <NAS.DAL.Nomenclature.Inventory.Inventory>("Code", Utility.Constant.NAAN_DEFAULT_NOTAVAILABLE)) { NAS.DAL.Nomenclature.Inventory.Inventory inventory = new NAS.DAL.Nomenclature.Inventory.Inventory(session) { Code = Utility.Constant.NAAN_DEFAULT_NOTAVAILABLE, Name = Utility.Constant.NAAN_DEFAULT_NOTAVAILABLE, Description = Utility.Constant.NAAN_DEFAULT_NOTAVAILABLE, RowStatus = 1, RowCreationTimeStamp = DateTime.Now }; inventory.Save(); } } catch (Exception) { session.RollbackTransaction(); throw; } finally { if (session != null) { session.Dispose(); } } }
private void ImportWordFile(string filePath) { IOverlaySplashScreenHandle handle = null; try { handle = SplashScreenManager.ShowOverlayForm(this); using (var editor = new RichEditControl()) { editor.LoadDocument(filePath); var fileName = Path.GetFileNameWithoutExtension(filePath); var book = new XPQuery <Book>(uow).Where(x => x.Abbreviation == fileName).FirstOrDefault(); if (book == null) { XtraMessageBox.Show("File name not match!"); return; } var rangeStartIndex = -1; var rangeEndIndex = -1; var chapter = 0; var chapter2 = 0; var verseRanges = new List <VerseRange>(); for (int i = 0; i < 5; i++) { verseRanges.Add(new VerseRange() { VerseBegin = -1, VerseEnd = -1 }); } Commentary.Items.Where(x => x.Book == book.NumberOfBook).ToList().ForEach(x => { x.Delete(); }); uow.CommitChanges(); foreach (var par in editor.Document.Paragraphs) { var text = editor.Document.GetText(par.Range).Trim(); if (par.Style != null) { if (!String.IsNullOrEmpty(text) && par.Style.Name == "heading 1") { if (text.ToLower().StartsWith("wstęp ")) { rangeStartIndex = par.Range.Start.ToInt(); } else if (rangeStartIndex != -1 && (text.ToLower().StartsWith("list ") || text.ToLower().StartsWith("ewangelia ") || text.ToLower().StartsWith("dzieje "))) { rangeEndIndex = par.Range.Start.ToInt() - 1; Commentary.Items.Add(new CommentaryItem(uow) { Book = book.NumberOfBook, ChapterBegin = 0, ChapterEnd = 0, VerseBegin = 0, VerseEnd = 0, Comments = editor.Document.GetRtfText(editor.Document.CreateRange(rangeStartIndex, rangeEndIndex - rangeStartIndex)) }); rangeStartIndex = -1; rangeEndIndex = -1; } } else if (!String.IsNullOrEmpty(text) && par.Style.Name == "heading 2") { if (rangeStartIndex == -1) { par.Range.Start.ToInt(); } } else if (!String.IsNullOrEmpty(text) && par.Style.Name == "heading 3") { var patternBase = @"\((?<chapter>[0-9]+)(\,)?"; var patternRange = @"((?<verseBegin{0}>[0-9]+)([a-z])?(\-(?<verseEnd{0}>[0-9]+)([a-z])?)?(\.)?)"; var pattern = patternBase; for (int i = 0; i < 5; i++) { pattern += String.Format(patternRange, i); pattern += "?"; } pattern += @"\)"; if (text.Contains(";")) { pattern = @"\((?<chapter1>[0-9]+)\,(?<verse1>[0-9]+)\;(?<chapter2>[0-9]+)\,(?<verse2>[0-9]+)\)"; if (Regex.IsMatch(text, pattern)) { var m = Regex.Match(text, pattern); chapter = Convert.ToInt32(m.Groups["chapter1"].Value); chapter2 = Convert.ToInt32(m.Groups["chapter2"].Value); verseRanges[0].VerseBegin = Convert.ToInt32(m.Groups["verse1"].Value); verseRanges[0].VerseEnd = Convert.ToInt32(m.Groups["verse2"].Value); for (int i = 1; i < 5; i++) { verseRanges[i].VerseBegin = -1; verseRanges[i].VerseEnd = -1; } continue; } } if (Regex.IsMatch(text, pattern)) { rangeEndIndex = SavePrevious(editor, book, rangeStartIndex, rangeEndIndex, chapter, chapter2, ref verseRanges, par); var m = Regex.Match(text, pattern); chapter = Convert.ToInt32(m.Groups["chapter"].Value); chapter2 = Convert.ToInt32(m.Groups["chapter"].Value); for (int i = 0; i < 5; i++) { if (m.Groups[$"verseEnd{i}"] != null && m.Groups[$"verseEnd{i}"].Success) { verseRanges[i].VerseBegin = Convert.ToInt32(m.Groups[$"verseBegin{i}"].Value); verseRanges[i].VerseEnd = Convert.ToInt32(m.Groups[$"verseEnd{i}"].Value); } else if (m.Groups[$"verseBegin{i}"] != null && m.Groups[$"verseBegin{i}"].Success) { verseRanges[i].VerseBegin = Convert.ToInt32(m.Groups[$"verseBegin{i}"].Value); verseRanges[i].VerseEnd = Convert.ToInt32(m.Groups[$"verseBegin{i}"].Value); } else if (chapter != 0 && i == 0) { verseRanges[i].VerseBegin = 0; verseRanges[i].VerseEnd = 0; } else { verseRanges[i].VerseBegin = -1; verseRanges[i].VerseEnd = -1; } } rangeStartIndex = par.Range.Start.ToInt(); rangeEndIndex = -1; } else { if (rangeStartIndex == -1) { par.Range.Start.ToInt(); } } } } if (par == editor.Document.Paragraphs.Last()) { rangeEndIndex = SavePrevious(editor, book, rangeStartIndex, rangeEndIndex, chapter, chapter2, ref verseRanges, par); } } uow.CommitChanges(); Commentary = new XPQuery <Commentary>(uow).Where(x => x.Oid == Commentary.Oid).FirstOrDefault(); LoadBooks(); } } finally { SplashScreenManager.CloseOverlayForm(handle); } }
public int CreateIssueDocumentFromMobileTransactions(List <int> mobileTransactionsID, int userID, int buyerID) { UnitOfWork uow = XpoHelper.GetNewUnitOfWork(); XPQuery <MobileTransaction> mobileTrans = uow.Query <MobileTransaction>(); XPQuery <InventoryDeliveries> invDeliveries = uow.Query <InventoryDeliveries>(); var mobileTransactions = mobileTrans.Where(mt => mobileTransactionsID.Any(mti => mti == mt.MobileTransactionID)).ToList(); if (mobileTransactions != null && mobileTransactions.Count > 0) { var buyer = clientRepo.GetClientByID(buyerID, session); //from locationID we get buyer IssueDocument document = new IssueDocument(session); document.IssueDocumentID = 0; document.IssueNumber = GetNextIssueDocumentNumber(); document.BuyerID = buyer; document.IssueStatus = GetIssueDocumentStatusByCode(Enums.IssueDocumentStatus.DELOVNA); document.IssueDate = DateTime.Now; document.Name = $"Izdaja materiala za kupca: {buyer.Name}"; document.Notes = "Prenos iz mobilnih transkacij"; document.InternalDocument = "000000"; document.InvoiceNumber = DateTime.Now.Year.ToString() + "/000000"; document.tsInsert = DateTime.Now; document.tsInsertUserID = userID; document.tsUpdate = DateTime.Now; document.tsUpdateUserID = userID; document.Save(); var issueDocument = GetIssueDocumentByID(document.IssueDocumentID, uow); IssueDocumentPosition pos = null; foreach (var item in mobileTransactions) { pos = new IssueDocumentPosition(uow); pos.IssueDocumentID = issueDocument; pos.SupplierID = clientRepo.GetClientByID(item.SupplierID.ClientID, uow); //Kosovna količina pos.Quantity = item.Quantity <= 0 ? invDeliveries.Count(inv => inv.PackagesUIDs.Contains(item.UIDCode)) : item.Quantity;// če se še ni shranila količina na mobilnih transkacijah jo poiščemo v invnetoryDeliveries pos.UID250 = item.UIDCode; pos.Name = item.ProductID.Name; pos.Notes = "Prenos iz mobilnih transakcij"; pos.tsInsert = DateTime.Now; pos.tsInsertUserID = userID; pos.tsUpdate = DateTime.Now; pos.tsUpdateUserID = userID; pos.ProductID = productRepo.GetProductByID(item.ProductID.ProductID, uow); pos.MobileTransactionID = item; } uow.CommitChanges(); return(document.IssueDocumentID); } return(-1); }
private void btnRemoveAbsence_Click(object sender, EventArgs e) { this.Uow = new UnitOfWork(); Absence absence = (Absence)this.gridvAbsent.GetRow(this.gridvAbsent.FocusedRowHandle); if (absence == null) return; absence = new XPQuery<Absence>(this.Uow).FirstOrDefault(q => q.Id == absence.Id); if (XtraMessageBox.Show(this.LookAndFeel, "Bent u zeker dat u deze afwezigheid wilt verwijderen?", "Verwijderen?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button3) == DialogResult.Yes) { absence.Delete(); this.Uow.CommitChanges(); FindAllAbsences(); } }
new public static void Populate() { Session session = null; try { session = XpoHelper.GetNewSession(); //insert default data into Organization table session.BeginTransaction(); //if (!Util.isExistXpoObject<ManufacturerOrg>("Code", Utility.Constant.NAAN_DEFAULT_CODE)) //{ // XPQuery<OrganizationType> organizationTypeQuery = session.Query<OrganizationType>(); // OrganizationType.Populate(); // OrganizationType organizationType = // organizationTypeQuery.Where(r => r.Code == Utility.Constant.NAAN_DEFAULT_CODE).FirstOrDefault(); // ManufacturerOrg manufacturerOrg = new ManufacturerOrg(session) // { // Code = Utility.Constant.NAAN_DEFAULT_CODE, // Name = Utility.Constant.NAAN_DEFAULT_NAME, // OrganizationTypeId = organizationType, // Description = "", // RowStatus = -1, // RowCreationTimeStamp = DateTime.Now // }; // manufacturerOrg.Save(); //} if (!Util.isExistXpoObject <ManufacturerOrg>("Code", Utility.Constant.NAAN_DEFAULT_CODE_SELECTEDALL)) { XPQuery <OrganizationType> organizationTypeQuery = session.Query <OrganizationType>(); OrganizationType.Populate(); OrganizationType organizationType = organizationTypeQuery.Where(r => r.Code == Utility.Constant.NAAN_DEFAULT_CODE).FirstOrDefault(); ManufacturerOrg manufacturerOrg = new ManufacturerOrg(session) { Code = Utility.Constant.NAAN_DEFAULT_CODE_SELECTEDALL, Name = Utility.Constant.NAAN_DEFAULT_CODE_SELECTEDALL, OrganizationTypeId = organizationType, Description = "", RowStatus = Utility.Constant.ROWSTATUS_DEFAULT_SELECTEDALL, RowCreationTimeStamp = DateTime.Now }; manufacturerOrg.Save(); } session.CommitTransaction(); } catch (Exception) { session.RollbackTransaction(); throw; } finally { if (session != null) { session.Dispose(); } } }
public IActionResult Index(string translationName, string book = null, string chapter = null, string verse = null) { var uow = new UnitOfWork(); // adresy skrótowe if (!String.IsNullOrEmpty(translationName) && book.IsNull() && translationName.Length == 5) { var _url = new XPQuery <UrlShort>(uow).Where(x => x.ShortUrl == translationName).FirstOrDefault(); if (_url.IsNotNull()) { return(Redirect(_url.Url)); } } if (!String.IsNullOrEmpty(translationName)) { var books = new XPQuery <BookBase>(uow).ToList(); // wyświetlamy listę ksiąg z tego przekładu if (String.IsNullOrEmpty(book)) { var translation = new XPQuery <Translation>(uow).Where(x => x.Name.Replace("'", "").Replace("+", "").ToLower() == translationName.ToLower()).FirstOrDefault(); if (translation != null) { return(View(new TranslationControllerModel(translation, books: books))); } } else { var translation = new XPQuery <Translation>(uow).Where(x => x.Name.Replace("'", "").Replace("+", "").ToLower() == translationName.ToLower()).FirstOrDefault(); if (translation != null) { var result = new TranslationControllerModel(translation, book, chapter, verse, books); var view = new XPView(uow, typeof(Translation)) { CriteriaString = $"[Books][[NumberOfBook] = '{book}'] AND [Hidden] = 0" }; view.Properties.Add(new ViewProperty("Name", SortDirection.None, "[Name]", false, true)); view.Properties.Add(new ViewProperty("Description", SortDirection.None, "[Description]", false, true)); view.Properties.Add(new ViewProperty("Type", SortDirection.None, "[Type]", false, true)); view.Properties.Add(new ViewProperty("Catholic", SortDirection.None, "[Catolic]", false, true)); view.Properties.Add(new ViewProperty("Recommended", SortDirection.None, "[Recommended]", false, true)); view.Properties.Add(new ViewProperty("OpenAccess", SortDirection.None, "[OpenAccess]", false, true)); foreach (ViewRecord item in view) { result.Translations.Add(new TranslationInfo() { Name = item["Name"].ToString(), Description = item["Description"].ToString(), Type = (TranslationType)item["Type"], Catholic = (bool)item["Catholic"], Recommended = (bool)item["Recommended"], PasswordRequired = !((bool)item["OpenAccess"]) }); } return(View(result)); } } } return(View()); }
private void LoadDataLookup() { XPQuery<TimekeepingName> _TimekeepingName = new XPQuery<TimekeepingName>(( (XPObjectSpace)objSpace).Session); List<TimekeepingName> listTimekeepingName = (from tso in _TimekeepingName select tso).ToList(); lkupTenBangChamCong.Properties.DataSource = listTimekeepingName; lkupTenBangChamCong.Properties.DisplayMember = "timekeepingName"; }
// 2012-04-12 От шаблона по типу можно отказаться? public void CreatePaymentDocuments(Session ses, fmCSAStatementAccount statementAccount) { var queryStatementDocs = (statementAccount.PayInDocs.Union(statementAccount.PayOutDocs)); foreach (var doc in queryStatementDocs) { //if (doc.NameTypeOfRCBDocument != typeof(typeDoc).FullName) continue; // Проверка наличия Платёжного документа, подходящего для данного документа выписки doc // 1. Тип документа, например, fmCDocRCBPaymentOrder и т.п. // 2. Номер счёта плательщика // 3. Номер документа DocNumber // 4. Дата документа DocDate XPQuery <fmCDocRCB> paymentDocs = new XPQuery <fmCDocRCB>(ses, true); // 2012-04-12 Новый способ проверки: Тип (учитывается как параметр), Номер документа, Дата документа, БИК банка плательщика, // счёт плательщика, БИК банка получаетля, счёт получателя var queryPaymentDocs = from paymentDoc in paymentDocs where paymentDoc.DocType == doc.DocType && paymentDoc.DocNumber == doc.DocNumber && paymentDoc.DocDate == doc.DocDate && paymentDoc.PaymentPayerRequisites.RCBIC == doc.PaymentPayerRequisites.RCBIC && paymentDoc.PaymentPayerRequisites.AccountParty == doc.PaymentPayerRequisites.AccountParty && paymentDoc.PaymentReceiverRequisites.RCBIC == doc.PaymentReceiverRequisites.RCBIC && paymentDoc.PaymentReceiverRequisites.AccountParty == doc.PaymentReceiverRequisites.AccountParty && paymentDoc.PaymentFunction == doc.PaymentFunction select paymentDoc; bool isFound = false; foreach (var paymentDoc in queryPaymentDocs) { isFound = true; // Найден какой-то Платёжный документ заданного типа -> сумма выписки учитывается в регистре, а сам Платёжный документ припиывается // документу выписки doc.PaymentDocument = paymentDoc; AssignCommonProperty(paymentDoc, doc); // ??? Надо обновлять ??? break; } if (!isFound) { // Не найден никакой документ заданного типа -> создаётся Платёжный документ соответствующего типа fmCDocRCB paymentDoc = null; if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBPaymentOrder).FullName) { paymentDoc = new fmCDocRCBPaymentOrder(ses); } if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBPaymentRequest).FullName) { paymentDoc = new fmCDocRCBPaymentRequest(ses); } if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBAkkreditivRequest).FullName) { paymentDoc = new fmCDocRCBAkkreditivRequest(ses); } if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBInkassOrder).FullName) { paymentDoc = new fmCDocRCBInkassOrder(ses); } if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBOthers).FullName) { paymentDoc = new fmCDocRCBOthers(ses); } paymentDoc.DocType = doc.DocType; paymentDoc.State = PaymentDocProcessingStates.IMPORTED; doc.PaymentDocument = paymentDoc; AssignCommonProperty(paymentDoc, doc); } } }
/// <summary> /// Список платёжных документов по жёсткому критерию /// </summary> /// <returns></returns> public IEnumerable GetPaymentDocsByHardCriteria <typeDoc>() where typeDoc : fmCDocRCB { //XPQuery<T> paymentDocs = new XPQuery<T>(this.Session); //var queryPaymentDocs = from paymentDoc in paymentDocs // where !(from statementDoc in paymentDocs // // select statementDoc.PaymentDocument).Contains(paymentDoc) // select paymentDoc; //foreach (var doc in queryPaymentDocs) { // // Отбираем только те, сумма которых не покрыта полностью // XPQuery<T> paymentDocs1 = new XPQuery<T>(this.Session); /* * XPQuery<typeDoc> paymentDocs = new XPQuery<typeDoc>(this.Session); * XPQuery<fmCStatementAccountDoc> accDocs = new XPQuery<fmCStatementAccountDoc>(this.Session); * var queryPaymentDocs = from paymentDoc in paymentDocs * join accDoc in accDocs on paymentDoc equals accDoc.PaymentDocument * where accDoc == null * //where !(from statementDoc in accDocs * // select statementDoc.PaymentDocument).Contains(paymentDoc) * select paymentDoc; */ //CriteriaOperator criteriaAND = new GroupOperator(); //((GroupOperator)criteriaAND).OperatorType = GroupOperatorType.And; //CriteriaOperator criteria1 = new BinaryOperator(new OperandProperty("INN"), new ConstantValue(pr.INN), BinaryOperatorType.Equal); //CriteriaOperator criteria2 = new BinaryOperator(new OperandProperty("KPP"), new ConstantValue(pr.KPP), BinaryOperatorType.Equal); //CriteriaOperator criteria3 = CriteriaOperator.Parse("'" + pr.KPP + "' != ''"); //((GroupOperator)criteriaAND).Operands.Add(criteria1); //((GroupOperator)criteriaAND).Operands.Add(criteria2); //((GroupOperator)criteriaAND).Operands.Add(criteria3); //crmCParty party = null; //crmCLegalPerson lp = null; //crmCLegalPersonUnit lpu = null; //bool lpResult = true; //party = this.Session.FindObject<crmCParty>(criteriaAND); //if (party == null) { //OperandProperty prop = new OperandProperty("LegalPerson"); //CriteriaOperator op = prop == lPerson; //CriteriaOperator criteriaPersonUnit = new BinaryOperator(new OperandProperty("KPP"), new ConstantValue(rKPP), BinaryOperatorType.Equal); //CriteriaOperator criteriaAND = new GroupOperator(); //((GroupOperator)criteriaAND).OperatorType = GroupOperatorType.And; //((GroupOperator)criteriaAND).Operands.Add(op); //((GroupOperator)criteriaAND).Operands.Add(criteriaPersonUnit); //InOperator inOp = new InOperator( /* * foreach (var doc in queryPaymentDocs) { * XPQuery<fmCStatementAccountDoc> statementDocs = new XPQuery<fmCStatementAccountDoc>(this.Session); * var queryPaymentDocs1 = from statementDoc in statementDocs * where statementDoc.PaymentDocument == doc * select statementDoc; * int count = queryPaymentDocs1.Count(); * if (count == 0) * yield return doc; * } */ XPCollection <typeDoc> docCol = new XPCollection <typeDoc>(Session); if (!docCol.IsLoaded) { docCol.Load(); } foreach (typeDoc doc in docCol) { XPQuery <fmCSAStatementAccountDoc> statementDocs = new XPQuery <fmCSAStatementAccountDoc>(this.Session); var queryPaymentDocs1 = from statementDoc in statementDocs where statementDoc.PaymentDocument == doc select statementDoc; int count = queryPaymentDocs1.Count(); if (count == 0) { yield return(doc); } } }
public override void UpdateDatabaseAfterUpdateSchema() { base.UpdateDatabaseAfterUpdateSchema(); // Disable version if (this.CurrentDBVersion != new Version("0.0.0.0")) { return; } // IObjectSpace os = ObjectSpace; Session ssn = ((ObjectSpace)os).Session; // Заполнение кодов ценностей и курсов валют UpdaterVaultaCourse uvc = new UpdaterVaultaCourse(ssn); uvc.FixValutaCourseEtc(); os.CommitChanges(); if (this.CurrentDBVersion.ToString() != "1.1.1.107") { return; } XPQuery <fmAutoBindingUpdater> autoBindingUpdaters = new XPQuery <fmAutoBindingUpdater>(ssn); fmAutoBindingUpdater ABU = (from autoBindingUpdater in autoBindingUpdaters select autoBindingUpdater).FirstOrDefault(); if (ABU == null) { ABU = os.CreateObject <fmAutoBindingUpdater>(); } if (ABU.AutoBindingUpdater) { return; // Updater уже исполнялся } // Зачистка fmCPRRepaymentJurnal результатов предыдущей автоматической привязки XPQuery <fmCPRRepaymentJurnal> paymentJurnals = new XPQuery <fmCPRRepaymentJurnal>(ssn); var queryRJ = (from paymentJurnal in paymentJurnals select paymentJurnal).ToList <fmCPRRepaymentJurnal>(); ssn.Delete(queryRJ); //ssn.PurgeDeletedObjects(); //os.CommitChanges(); //ssn.ExecuteQuery("UPDATE \"fmPRRepaymentJurnal\" SET \"GCRecord\"=null;"); // Зачистка fmCPRRepaymentTask результатов предыдущей автоматической привязки XPQuery <fmCPRRepaymentTask> repaymentTasks = new XPQuery <fmCPRRepaymentTask>(ssn); var queryRT = (from repaymentTask in repaymentTasks select repaymentTask).ToList <fmCPRRepaymentTask>(); ssn.Delete(queryRT); ssn.PurgeDeletedObjects(); os.CommitChanges(); // Возвращение PAYED в IN_PAYMENT XPQuery <fmCPRPaymentRequest> paymentRequests = new XPQuery <fmCPRPaymentRequest>(ssn, true); var queryPR = (from paymentRequest in paymentRequests where paymentRequest.State == PaymentRequestStates.PAYED select paymentRequest).ToList <fmCPRPaymentRequest>(); foreach (var pr in queryPR) { pr.State = PaymentRequestStates.IN_PAYMENT; } os.CommitChanges(); // "Наша" организация (она там одна, отсев не нужен) crmUserParty.CurrentUserParty = ValueManager.GetValueManager <crmUserParty>("UserParty"); XPQuery <crmUserParty> userParties = new XPQuery <crmUserParty>(ssn); var queryUP = (from userParty in userParties select userParty).ToList <crmUserParty>(); foreach (var up in queryUP) { crmUserParty.CurrentUserParty.Value = (crmUserParty)up; break; } // Новая автоматическая привязка DateTime startDate = new DateTime(2012, 4, 1); XPQuery <fmCSAImportResult> importResults = new XPQuery <fmCSAImportResult>(ssn); var queryIR = (from importResult in importResults select importResult).ToList <fmCSAImportResult>(); foreach (var ir in queryIR) { //ir.AutoBinding(null); foreach (fmCSAStatementAccount sa in ir.StatementOfAccounts) { //ssa.AutoBinding(null); foreach (fmCSAStatementAccountDoc sad in sa.PayInDocs) { if (sad.DocDate >= startDate) { fmCDocRCB paymentDoc = sad.PaymentDocument; paymentDoc.AutoBinding(sa.BankAccount, null); } } foreach (fmCSAStatementAccountDoc sad in sa.PayOutDocs) { if (sad.DocDate >= startDate) { fmCDocRCB paymentDoc = sad.PaymentDocument; paymentDoc.AutoBinding(sa.BankAccount, null); } } } os.CommitChanges(); } // Простановка признаков заявкам и документам, что они были привязаны, чтобы следующее выполнение этого updater // не изменяло ничего. ABU.AutoBindingUpdater = true; os.CommitChanges(); }
private void btnRemoveJob_Click(object sender, EventArgs e) { this.Uow = new UnitOfWork(); Job job = (Job) this.gridviewPlanning.GetRow(this.gridviewPlanning.FocusedRowHandle); if (job == null) return; job = new XPQuery<Job>(this.Uow).FirstOrDefault(q => q.Id == job.Id); if (XtraMessageBox.Show(this.LookAndFeel, "Bent u zeker dat u deze job wilt verwijderen?", "Verwijderen?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button3) == DialogResult.Yes) { job.Delete(); this.Uow.CommitChanges(); FindAllJobs(); } }
protected void Page_Load(object sender, EventArgs e) { artifactCodeRuleBO = new ArtifactCodeRuleBO(); SetCriteriaForOrganization(); dsVouchersAmount.CriteriaParameters["VouchesId"].DefaultValue = PrivateSession.Instance.PaymentVoucherId.ToString(); /*2013-11-24 Khoa.Truong MOD START*/ //grdVouchersAmount.DataBind(); if (!IsPostBack) { grdVouchersAmount.DataBind(); } /*2013-11-24 Khoa.Truong MOD END*/ if (Page.IsPostBack) { if (hPayViewer.Contains("print")) { XPQuery <PaymentVouches> paymentVouches = new XPQuery <PaymentVouches>(session); XPQuery <VouchesAmount> vouchesAmount = new XPQuery <VouchesAmount>(session); var list = from p in paymentVouches.AsEnumerable() join va in vouchesAmount.AsEnumerable() on p.VouchesId equals va.VouchesId.VouchesId where p.VouchesId == PrivateSession.Instance.PaymentVoucherId select new C02TT { Code = p.Code, IssuedDate = p.IssuedDate, Description = p.Description, SupplierName = p.TargetOrganizationId.Name, Address = p.Address, PayerName = p.Payee, Credit = va.Credit, ExchangeRate = va.ExchangeRate, CreditExchange = va.Credit * va.ExchangeRate, //CreditByString = Utility.Accounting.NumberToStringFullCurrency(float.Parse(va.Credit.ToString()), va.ForeignCurrencyId.Name), CreditByString = Utility.Accounting.NumberToStringFullCurrency(float.Parse(va.Credit.ToString()), va.CurrencyId.Name), //Currency = va.ForeignCurrencyId.Code Currency = va.CurrencyId.Code }; List <C02TT> lst = new List <C02TT>(); try { if (list.Count <C02TT>() > 0) { lst = list.ToList(); } } catch (Exception) { list = null; } XPQuery <PaymentVouchesTransaction> paymentVouchesTransaction = new XPQuery <PaymentVouchesTransaction>(session); XPQuery <GeneralJournal> generalJournal = new XPQuery <GeneralJournal>(session); var listg = from p in paymentVouchesTransaction.AsEnumerable() join g in generalJournal.AsEnumerable() on p.TransactionId equals g.TransactionId.TransactionId where p.PaymentVouchesId.VouchesId == PrivateSession.Instance.PaymentVoucherId orderby g.Credit, g.Debit select new { Dc = g.Debit > g.Credit ? "Nợ :" : "Có :", Account = g.AccountId.Code, Amount = Math.Max(g.Debit, g.Credit) }; grdBooking.DataSource = listg.ToList(); grdBooking.DataBind(); new ASPxGridViewCellMerger(grdBooking); _02_TT report = new _02_TT(); report.DataSource = lst; report.DataMember = ""; report.pccData.PrintableComponent = new PrintableComponentLinkBase() { Component = gvDataExporter }; rptPayViewer.Report = report; //PrivateSession.Instance.ReceiptVoucherId hPayViewer.Remove("print"); cpPayViewer.JSProperties.Add("cpShowForm", "report"); } } }
// Bejővő paraméterek (Ügylet száma, Komissiózó pont azonosítója, Komissiózó pont plc azonosítója) public void CallLoadCarriers(int ctrH, string commonType, int iocp, int weight, int lcTypeHeight) { // Megkeressük a bizonylat tételsorait Session session = new Session(); XPQuery <CommonTrDetail> details = session.Query <CommonTrDetail>(); IQueryable <CommonTrDetail> list = (from c in details where (c.CommonTrHeader.Oid == ctrH) select c); //Végigmegyünk minden tételsoron foreach (CommonTrDetail ctrD in list) { //Ládákat keresünk az ügylettípus szerint: //BETÁROLÁS //1 Betárolásnál annyi ÜRES!!! ládát kell hívnunk amennyit előkalkuláltunk if (commonType == "BETAR") { for (int i = 0; i < ctrD.CalcLcNumber; i++) { // Keresünk egy üres ládát lehetőleg onnan ahová vissza is akarjuk küldeni és le is foglaljuk az erőforrást. StorageLocation sourceLocation = FindEmptyLoadcarrier(ctrD.Product, lcTypeHeight); if (sourceLocation != null) { CreateTransportOrder(2, ctrH, ctrD.Oid, sourceLocation.LoadCarrier, iocp, weight, sourceLocation, null); } else { throw new Exception("Hiba - Nem talált kihívható ládát!"); } } } //KITÁROLÁS ÉS KOMISSIÓ // 2 Kitárolásnál és Komissiónál Allokálnunk kell és FIFO szerint kihívni a terméket tartalmazó ládákat if (commonType == "KITAR" || commonType == "KOMISSIO") { double szuksegesMennyiseg = ctrD.Quantity - ctrD.PerformedQty; double maradekMennyiseg = szuksegesMennyiseg; double allokaltMennyiseg = 0; if (szuksegesMennyiseg > 0) { foreach (Stock stock in ctrD.Product.Stocks) { if (stock.StorageLocation != null && stock.StorageLocation.StatusCode == 1) { allokaltMennyiseg = Math.Min(stock.NormalQty, maradekMennyiseg); if (allokaltMennyiseg > 0) { LoadCarrier lc = stock.LC; stock.StorageLocation.StatusCode = 2; maradekMennyiseg -= allokaltMennyiseg; CreateTransportOrder(2, ctrH, ctrD.Oid, lc, iocp, weight, stock.StorageLocation, null); ctrD.CalcLcNumber++; } } } } } //LELTÁR // 2 Kitárolásnál és Komissiónál Allokálnunk kell és FIFO szerint kihívni a terméket tartalmazó ládákat if (commonType == "LELTAR") { foreach (Stock stock in ctrD.Product.Stocks) { if (stock.StorageLocation != null && stock.StorageLocation.StatusCode == 1) { ChangeLocationStatus(stock.StorageLocation, 3); CreateTransportOrder(2, ctrH, ctrD.Oid, stock.LC, iocp, weight, stock.StorageLocation, null); ctrD.CalcLcNumber++; } } } } }
/* * public void CreateOtherPaymentDocument() { * XPQuery<fmCStatementAccountDoc> StatementDocs = new XPQuery<fmCStatementAccountDoc>(this.Session); * var queryStatementDocs = from statementDoc in StatementDocs * where statementDoc.PaymentDocument == null && * statementDoc.DocType != null && * statementDoc.DocType.Trim() != "" * // !string.IsNullOrEmpty(statementDoc.DocType) * select statementDoc; * * foreach (var doc in queryStatementDocs) { * fmCDocRCBOthers otherDoc = new fmCDocRCBOthers(this.Session); * doc.PaymentDocument = otherDoc; * AssignCommonProperty(otherDoc, doc); * otherDoc.DocType = doc.DocType; * } * } */ //public void CreatePaymentDocument(fmStatementOfAccount statementAccount) { public void CreatePaymentDocument <typeDoc>(fmCSAStatementAccount statementAccount) where typeDoc : fmCDocRCB { DateTime DatePeriodBegin = statementAccount.DateFrom.Date; DateTime DatePeriodEnd = statementAccount.DateTo.Date; XPQuery <fmCSAStatementAccountDoc> statementDocs = new XPQuery <fmCSAStatementAccountDoc>(this.Session); var queryStatementDocs = from statementDoc in statementDocs where statementDoc.PaymentDocument == null && (statementDoc.PaymentPayerRequisites.StatementOfAccount == statementAccount || statementDoc.PaymentReceiverRequisites.StatementOfAccount == statementAccount) && statementDoc.NameTypeOfRCBDocument == typeof(typeDoc).FullName //&& statementDoc.PaymentPayerRequisites.AccountParty == statementAccount.BankAccountText select statementDoc; foreach (var doc in queryStatementDocs) { //if (doc.NameTypeOfRCBDocument != typeof(typeDoc).FullName) continue; // Проверка наличия Платёжного документа, подходящего для данного документа выписки doc // 1. Тип документа, например, fmCDocRCBPaymentOrder и т.п. // 2. Номер счёта плательщика // 3. Номер документа DocNumber // 4. Дата документа DocDate XPQuery <typeDoc> paymentDocs = new XPQuery <typeDoc>(this.Session, true); var queryPaymentDocs = from paymentDoc in paymentDocs where paymentDoc.PaymentPayerRequisites.AccountParty == doc.PaymentPayerRequisites.AccountParty && paymentDoc.DocNumber == doc.DocNumber && paymentDoc.DocDate == doc.DocDate select paymentDoc; bool isFound = false; foreach (var paymentDoc in queryPaymentDocs) { isFound = true; // Найден какой-то Платёжный документ заданного типа -> сумма выписки учитывается в регистре, а сам Платёжный документ припиывается // документу выписки doc.PaymentDocument = paymentDoc; //AssignCommonProperty(paymentDoc, doc); // ??? Надо обновлять ??? // Минусуем // ????????? Даты границ берутся как даты документа или как даты списания со счёта ??????????????? /* * XPQuery<fmSettlmentRegister> registers = new XPQuery<fmSettlmentRegister>(this.Session, true); * var queryRegisters = from register in registers * where register.PaymentDocument == paymentDoc * && register.PaymentDocument.DocDate.Date >= DatePeriodBegin * && register.PaymentDocument.DocDate.Date <= DatePeriodEnd * && register.PaymentDocument.ComponentType.FullName == typeof(typeDoc).FullName * select register; */ XPQuery <fmSettlmentRegister> registers = new XPQuery <fmSettlmentRegister>(this.Session, true); var queryRegisters = from register in registers where register.PaymentDocument == paymentDoc && register.DeductedFromPayerAccount.Date >= DatePeriodBegin && register.DeductedFromPayerAccount.Date <= DatePeriodEnd && register.PaymentDocument.ComponentType.FullName == typeof(typeDoc).FullName select register; foreach (var reg in queryRegisters) { if (reg.Sum > 0) { reg.Sum = -reg.Sum; } } // Внесение корректировок в регистр. Правила следующие: // 1. Если сверх имеющихся параметров (тип документа, номер документа, дата окумента, номер Счёта плательщика) // совпала сумма, то ничего не делаем, т.к. это попросту повторный документ выписки (уже присылали ранее) // 2. Если сумма не совпала, то находим разность и вносим в регистр эту разность. //if (paymentDoc.PaymentCost != doc.PaymentCost) { decimal diff = doc.PaymentCost - paymentDoc.PaymentCost; // Размещение в регистре fmSettlmentRegister rg = new fmSettlmentRegister(Session); rg.PaymentDocument = paymentDoc; rg.StatementAccountDoc = doc; rg.Sum = diff; //} break; } if (!isFound) { // Не найден никакой документ заданного типа -> создаётся Платёжный документ соответствующего типа fmCDocRCB paymentDoc = null; if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBPaymentOrder).FullName) { paymentDoc = new fmCDocRCBPaymentOrder(Session); } if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBPaymentRequest).FullName) { paymentDoc = new fmCDocRCBPaymentRequest(Session); } if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBAkkreditivRequest).FullName) { paymentDoc = new fmCDocRCBAkkreditivRequest(Session); } if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBInkassOrder).FullName) { paymentDoc = new fmCDocRCBInkassOrder(Session); } if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBOthers).FullName) { paymentDoc = new fmCDocRCBOthers(Session); } paymentDoc.DocType = doc.DocType; doc.PaymentDocument = paymentDoc; AssignCommonProperty(paymentDoc, doc); // Размещение в регистре fmSettlmentRegister rg = new fmSettlmentRegister(Session); rg.PaymentDocument = paymentDoc; rg.StatementAccountDoc = doc; rg.Sum = doc.PaymentCost; } } /* * foreach (var doc in queryStatementDocs) { * * // Проверка наличия Платёжного документа, подходящего для данного документа выписки doc * // 1. Тип документа, например, fmCDocRCBPaymentOrder и т.п. * // 2. Номер счёта плательщика * // 3. Номер документа DocNumber * // 4. Дата документа DocDate * * * CriteriaOperator criteriaAND = new GroupOperator(); * ((GroupOperator)criteriaAND).OperatorType = GroupOperatorType.And; * * // Номер счёта * // Объяснение для Павла: если я создал Платёжный документ по какому-то предшествующему документу выписки, * // то в этом Платёжном документе определён Плательщик как объект. С другой стороны, в документе выписки должен был определиться * // Плательщик одинаковый с Плательщиком в родственном (т.е. оплачивающий доугую часть суммы) документе выписки. * // Поэтому можно сравнивать по реквизитам, а не по самим счетам. * CriteriaOperator criteria1 = new BinaryOperator(new OperandProperty("PaymentPayerRequisites.AccountParty"), new ConstantValue(doc.PaymentPayerRequisites.AccountParty), BinaryOperatorType.Equal); * * // Номер документа * CriteriaOperator criteria2 = new BinaryOperator(new OperandProperty("DocNumber"), new ConstantValue(doc.DocNumber), BinaryOperatorType.Equal); * * // Дата документа * CriteriaOperator criteria3 = new BinaryOperator(new OperandProperty("DocDate"), new ConstantValue(doc.DocDate), BinaryOperatorType.Equal); * * // Проверка совпадения типа * CriteriaOperator criteria4 = new BinaryOperator(new OperandProperty("ComponentType"), new ConstantValue(Type.GetType(doc.NameTypeOfRCBDocument)), BinaryOperatorType.Equal); * * //OperandProperty propBank = new OperandProperty("Bank"); * //CriteriaOperator opBank = propBank == requisites.Bank; * * //OperandProperty propPerson = new OperandProperty("Person"); * //CriteriaOperator opPerson = propPerson == requisites.Party.Person; * //CriteriaOperator criteria3 = CriteriaOperator.Parse("Person.INN == '" + requisites.Party.Person.INN + "'"); * * ((GroupOperator)criteriaAND).Operands.Add(criteria1); * ((GroupOperator)criteriaAND).Operands.Add(criteria3); * ((GroupOperator)criteriaAND).Operands.Add(criteria3); * ((GroupOperator)criteriaAND).Operands.Add(criteria4); * * fmCDocRCB paymentDoc = this.Session.FindObject<fmCDocRCB>(criteriaAND); * if (paymentDoc == null) { * // Не найден никакой документ заданного типа -> создаётся Платёжный документ соответствующего типа * if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBPaymentOrder).FullName) paymentDoc = new fmCDocRCBPaymentOrder(Session); * if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBPaymentRequest).FullName) paymentDoc = new fmCDocRCBPaymentRequest(Session); * if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBAkkreditivRequest).FullName) paymentDoc = new fmCDocRCBAkkreditivRequest(Session); * if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBInkassOrder).FullName) paymentDoc = new fmCDocRCBInkassOrder(Session); * if (doc.NameTypeOfRCBDocument == typeof(fmCDocRCBOthers).FullName) paymentDoc = new fmCDocRCBOthers(Session); * * paymentDoc.DocType = doc.DocType; * doc.PaymentDocument = paymentDoc; * AssignCommonProperty(paymentDoc, doc); * * } else { * // Найден какой-то Платёжный документ заданного типа -> сумма выписки учитывается в регистре, а сам Платёжный документ припиывается * // документу выписки * doc.PaymentDocument = paymentDoc; * //AssignCommonProperty(paymentDoc, doc); // ??? Надо обновлять ??? * } * } */ }
static public void ImportInvoices(IObjectSpace os, String file_name) { // OpenFileDialog dialog = new OpenFileDialog(); // if (dialog.ShowDialog() == DialogResult.OK) { FixedFileEngine engine = new FixedFileEngine(typeof(InvoiceImport)); InvoiceImport[] imp_res = (InvoiceImport[])engine.ReadFile(file_name); IList <fmCAVTInvoiceType> inv_types = os.GetObjects <fmCAVTInvoiceType>(); IList <fmCAVTInvoiceTransferType> inv_transfer_types = os.GetObjects <fmCAVTInvoiceTransferType>(); IList <fmCAVTInvoiceOperationType> inv_oper_types = os.GetObjects <fmCAVTInvoiceOperationType>(); Int32 count = 0; fmCAVTInvoiceType sf_sfz_type = os.GetObjects <fmCAVTInvoiceType>().First(x => x.Prefix == "Z"); foreach (InvoiceImport imp_rec in imp_res) { imp_rec.SF_VO_CODE = imp_rec.SF_VO_CODE.Trim(); imp_rec.SF_INT_NUMBER = imp_rec.SF_INT_NUMBER.Trim(); imp_rec.SF_NUMBER = imp_rec.SF_NUMBER.Trim(); Decimal summ_cost = Decimal.Parse(imp_rec.SUMM_COST.Trim().Replace('.', ',')); Decimal summ_nds = Decimal.Parse(imp_rec.SUMM_NDS.Trim().Replace('.', ',')); Decimal summ_sub_cost = Decimal.Parse(imp_rec.SUMM_SUB_COST.Trim().Replace('.', ',')); Decimal summ_sub_nds = Decimal.Parse(imp_rec.SUMM_SUB_NDS.Trim().Replace('.', ',')); DateTime sf_date = default(DateTime); DateTime.TryParseExact(imp_rec.SF_DATE.Trim(), "yyyyMMdd", null, System.Globalization.DateTimeStyles.None, out sf_date); crmCParty party = os.GetObjects <crmCParty>(new BinaryOperator("Code", imp_rec.SF_VO_CODE)).FirstOrDefault(); if (party == null) { System.Console.WriteLine("SF " + imp_rec.SF_NUMBER + " party not found (" + imp_rec.SF_VO_CODE + ")"); continue; } Основание.ТипИсточника ts; if (imp_rec.SF_IO_TYPE == "I") { ts = Основание.ТипИсточника.ВХОДЯЩИЙ; } else if (imp_rec.SF_IO_TYPE == "O") { ts = Основание.ТипИсточника.ИСХОДЯЩИЙ; } else { throw new ArgumentOutOfRangeException("SF " + imp_rec.SF_NUMBER + " неопределен тип входящий/исходящий"); } Основание.ТипОснования tsf; switch (imp_rec.SF_TYPE) { case "СЧФ": tsf = Основание.ТипОснования.СЧФ; break; case "УПД": tsf = Основание.ТипОснования.УПД; break; case "СФА": tsf = Основание.ТипОснования.СФА; break; case "СФЗ": tsf = Основание.ТипОснования.СФЗ; break; case "СЧГ": tsf = Основание.ТипОснования.СЧГ; break; case "БЖД": tsf = Основание.ТипОснования.БЖД; break; case "СФВ": tsf = Основание.ТипОснования.СФВ; break; case "БСО": tsf = Основание.ТипОснования.БСО; break; case "ЧЕК": tsf = Основание.ТипОснования.ЧЕК; break; default: System.Console.WriteLine("SF: " + imp_rec.SF_NUMBER + " странный тип (" + imp_rec.SF_TYPE + ")"); continue; } String inn = ""; String kpp = ""; ЛицоТип party_type = ЛицоТип.НЕЗАДАН; if (party.Person != null) { if (party.Person.Address.Country.CodeAlfa2 == "RU") { // Type party.ComponentTypeComponentObject.GetType(); if (party.ComponentType == typeof(crmCLegalPerson) || party.ComponentType == typeof(crmCLegalPersonUnit)) { party_type = ЛицоТип.ЮР_ЛИЦО; inn = party.INN; if (inn.Length == 9) { inn = "0" + inn; } kpp = party.KPP; if (inn.Length == 8) { kpp = "0" + kpp; } if (inn.Length != 10) { System.Console.WriteLine("Party: " + party.Code + " fail INN (" + inn + ")"); continue; } if (kpp.Length != 9) { System.Console.WriteLine("Party: " + party.Code + " fail KPP (" + kpp + ")"); continue; } } else { if (party.ComponentType == typeof(crmCBusinessman)) { party_type = ЛицоТип.ПРЕДПРИНИМАТЕЛЬ; inn = party.INN; if (inn.Length == 11) { inn = "0" + inn; } if (inn.Length != 12) { System.Console.WriteLine("Party: " + party.Code + " fail INN (" + inn + ")"); continue; } } else if (party.ComponentType == typeof(crmCPhysicalParty)) { party_type = ЛицоТип.ФИЗ_ЛИЦО; } } } else { party_type = ЛицоТип.ИНО_ПАРТНЕР; System.Console.WriteLine("Party: " + party.Code + " инопартнер "); } } if (party.Code == "2706") { party_type = ЛицоТип.ОЗНИЦА; } // String sale_inn = "5012039795"; if (ts == Основание.ТипИсточника.ВХОДЯЩИЙ) { sale_inn = inn; } // !!!!!!!!!!!!!!!!!!!!!!!!!! // Выбраковываем СФ if (String.IsNullOrEmpty(sale_inn) || String.IsNullOrEmpty(imp_rec.SF_REGNUM.Trim()) && tsf != Основание.ТипОснования.СФЗ) { continue; } // !!!!!!!!!!!!!!!!!!!!!!!!!! Основание sf = os.FindObject <Основание>( XPQuery <Основание> .TransformExpression( ((ObjectSpace)os).Session, rec => rec.ИннПродавца == sale_inn && rec.Номер == imp_rec.SF_NUMBER && rec.Дата >= sf_date && rec.Дата < sf_date.AddDays(1) )); if (sf == null) { sf = os.CreateObject <Основание>(); sf.Источник = ts; sf.ИНН = inn; sf.Номер = imp_rec.SF_NUMBER; sf.Дата = sf_date; sf.КПП = kpp; } sf.Корректировка = Основание.ТипПодчиненности.ОСНОВНОЙ; sf.Источник = ts; sf.Тип = tsf; sf.ЛицоТип = party_type; ОснованиеДокумент sfdoc = null; String sfdoc_sver = imp_rec.SF_PRAV_NUMBER.Trim(); if (String.IsNullOrEmpty(sfdoc_sver)) { sfdoc_sver = "0"; } UInt16 sfdoc_ver = 0; UInt16.TryParse(sfdoc_sver, out sfdoc_ver); DateTime sfdoc_date = default(DateTime); DateTime.TryParseExact(imp_rec.SF_DATE.Trim(), "yyyyMMdd", null, System.Globalization.DateTimeStyles.None, out sfdoc_date); foreach (ОснованиеДокумент doc in sf.Документы) { if (doc.НомерИсправления == sfdoc_ver) { sfdoc = doc; break; } } if (sfdoc == null) { sfdoc = os.CreateObject <ОснованиеДокумент>(); sf.Документы.Add(sfdoc); sfdoc.НомерИсправления = sfdoc_ver; if (sf.ДействующийДокумент.НомерИсправления < sfdoc.НомерИсправления) { sf.ДействующийДокумент = sfdoc; } } sfdoc.ДатаИсправления = sfdoc_date; sfdoc.егНомер = imp_rec.SF_REGNUM.Trim(); if (sf.Тип == Основание.ТипОснования.СФЗ && String.IsNullOrEmpty(sfdoc.егНомер)) { Int32 IntNumber = fmCAVTInvoiceNumberGenerator.GenerateNumber(((ObjectSpace)os).Session, sf.ДействующийДокумент.CID, sf_sfz_type, sf.Дата, 0); sfdoc.егНомер = sf_sfz_type.Prefix + sf.Дата.ToString("yyyyMM").Substring(2, 4) + IntNumber.ToString("00000"); } sfdoc.КодПартнера = party.Code; sfdoc.НаименКонтрагента = party.Name; sfdoc.СуммаВсего = summ_cost + summ_nds; sfdoc.СуммаНДС = summ_nds; sfdoc.СуммаВсегоУвел = sfdoc.СуммаВсего + summ_sub_cost; sfdoc.СуммаНДСУвел = sfdoc.СуммаНДС + summ_sub_nds; //fmCAVTInvoiceBase invoice = os.FindObject<fmCAVTInvoiceBase>( // XPQuery<fmCAVTInvoiceBase>.TransformExpression( // ((ObjectSpace)os).Session, // rec => rec.Supplier.Code == imp_rec.SF_VO_CODE && // rec.RegNumber == imp_rec.SF_INT_NUMBER && // rec.Date >= sf_date && // rec.Date < sf_date.AddDays(1) // )); ////if (invoice == null) { //// count++; //// System.Console.WriteLine(imp_rec.SF_INT_NUMBER + " " + imp_rec.SF_NUMBER + " " + imp_rec.SF_DATE + " " + summ_cost + " " + summ_nds); ////} //if (invoice == null) { // crmCParty party = os.GetObjects<crmCParty>(new BinaryOperator("Code", imp_rec.SF_VO_CODE)).FirstOrDefault(); // invoice = os.CreateObject<fmCAVTInvoiceBase>(); // invoice.RegNumber = imp_rec.SF_INT_NUMBER; // invoice.Number = imp_rec.SF_NUMBER; // invoice.Date = sf_date; // invoice.Supplier = party; // invoice.Customer = register.Party; // invoice.SummAVT = Decimal.Parse(imp_rec.SUMM_NDS.Trim().Replace('.', ',')); // invoice.SummCost = Decimal.Parse(imp_rec.SUMM_COST.Trim().Replace('.', ',')); //} //else { // invoice.SummAVT = Decimal.Parse(imp_rec.SUMM_NDS.Trim().Replace('.', ',')); // invoice.SummCost = Decimal.Parse(imp_rec.SUMM_COST.Trim().Replace('.', ',')); // fmCAVTInvoiceRegisterLine line_check = os.FindObject<fmCAVTInvoiceRegisterLine>( // CriteriaOperator.And(new BinaryOperator("InvoiceVersion", invoice.Current)), true); // if (line_check != null) continue; //} //fmCAVTInvoiceRegisterLine line = register.InLines.Where(rec => rec.Invoice == invoice).FirstOrDefault(); //if (line == null) { // line = os.CreateObject<fmCAVTInvoiceRegisterLine>(); // register.InLines.Add(line); //} //line.SequenceNumber = seq_num++; //// line_doc.DateTransfer = invoice.Date; //line.Invoice = invoice; //line.TransferType = inv_transfer_types.Where(rec => rec.Code == "1").FirstOrDefault(); //if (String.IsNullOrEmpty(imp_rec.SF_TRANS_DATE.Trim())) { // DateTime trans_date = default(DateTime); // DateTime.TryParseExact(imp_rec.SF_TRANS_DATE.Trim(), "yyyyMMdd", null, System.Globalization.DateTimeStyles.None, out trans_date); // line.DateTransfer = trans_date; //} //if (line.DateTransfer < sf_date) // line.DateTransfer = sf_date; //line.OperationType = inv_oper_types.Where(rec => rec.Code == imp_rec.SF_OPER_TYPE.Trim() || // rec.Code == '0' + imp_rec.SF_OPER_TYPE.Trim()).FirstOrDefault(); } System.Console.WriteLine("All " + count); }
private void editVerse_EditValueChanged(object sender, EventArgs e) { var arg = e as DevExpress.XtraEditors.Controls.ChangingEventArgs; if (arg.IsNotNull()) { var verseNumber = arg.NewValue.ToInt(); //var currentControl = this.Controls.OfType<Control>().Where(x => x is VerseEditorControl).FirstOrDefault() as VerseEditorControl; //if (currentControl.IsNotNull()) { // if (currentControl.IsModified()) { // if (XtraMessageBox.Show("Do you want to save your changes before opening a new verse?", "Save", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { // currentControl.Save(); // } // } // this.Controls.Remove(currentControl); // currentControl.Dispose(); // currentControl = null; //} if (VerseControl.Verse.IsNotNull() && VerseControl.IsModified()) { if (XtraMessageBox.Show("Do you want to save your changes before opening a new verse?", "Save", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { VerseControl.Save(); } VerseControl.Clear(); } else { VerseControl.Clear(); } Application.DoEvents(); var book = txtBook.EditValue as BookBaseInfo; var chapterNumber = txtChapter.EditValue.ToInt(); var verse = new XPQuery <Verse>(Uow).Where(x => x.NumberOfVerse == verseNumber && x.ParentChapter.NumberOfChapter == chapterNumber && x.ParentChapter.ParentBook.NumberOfBook == book.NumberOfBook && x.ParentChapter.ParentBook.ParentTranslation.Name == NAME).FirstOrDefault(); if (verse.IsNotNull()) { //var control = new VerseEditorControl(verse, Translation.BookType == TheBookType.Bible) { // Dock = DockStyle.Fill //}; //this.Controls.Add(control); //control.LoadData(); VerseControl.LoadData(verse, Translation.BookType == TheBookType.Bible); btnExportChapterToPDF.Enabled = btnExportChapterToWord.Enabled = btnExportBookToDocx.Enabled = btnExportBookToPdf.Enabled = btnNextVerse.Enabled = true; var allVerses = editVerse.DataSource as List <int>; if (allVerses.IsNotNull() && allVerses.Count > 0 && verseNumber == allVerses.Last()) { btnNextVerse.Enabled = false; } btnPreviousVerse.Enabled = verseNumber > 1; this.Text = $"{book.BookTitle} {chapterNumber}:{verseNumber}"; btnOblubienicaEu.Visibility = book.NumberOfBook >= 470 ? DevExpress.XtraBars.BarItemVisibility.Always : DevExpress.XtraBars.BarItemVisibility.Never; btnLogosSeptuagint.Visibility = book.NumberOfBook < 470 ? DevExpress.XtraBars.BarItemVisibility.Always : DevExpress.XtraBars.BarItemVisibility.Never; } } }
protected void Page_Load(object sender, EventArgs e) { if (ReportHiddenField.Contains("typeReport")) { XPQuery <BillTaxClaim> billTaxClaim = new XPQuery <BillTaxClaim>(session); XPQuery <Bill> bill = new XPQuery <Bill>(session); XPQuery <SaleInvoiceArtiface> saleInvoiceArtiface = new XPQuery <SaleInvoiceArtiface>(session); char vatType = (ReportHiddenField.Get("typeReport").ToString() == "01-1/GTGT" ? Constant.VAT_OUT : Constant.VAT_IN); var list = from btc in billTaxClaim.AsEnumerable() join sia in saleInvoiceArtiface on btc.BillId.BillId equals sia.BillId.BillId where sia.LegalInvoiceArtifactTypeId.Category == vatType select new C011GTGT() { Amount = btc.Amount, ClaimItem = btc.ClaimItem, Comment = btc.Comment, CreateDate = btc.CreateDate, TaxInNumber = btc.TaxInNumber, TaxInPercentage = btc.TaxInPercentage, TotalAmount = btc.TotalAmount, BillCode = sia.IssuedArtifaceCode, SeriesNumber = sia.SeriesNumber, ObjectName = btc.BillId.SourceOrganizationId.Name, ObjectTax = btc.BillId.SourceOrganizationId.TaxNumber, LegalInvoiceArtifactTypeCode = sia.LegalInvoiceArtifactTypeId.Code, LegalInvoiceArtifactTypeName = sia.LegalInvoiceArtifactTypeId.Name }; List <C011GTGT> data = new List <C011GTGT>(); try { CriteriaOperator _filter = new GroupOperator(GroupOperatorType.And, new BinaryOperator("Category", vatType, BinaryOperatorType.Equal), new BinaryOperator("RowStatus", 1, BinaryOperatorType.GreaterOrEqual)); XPCollection <NAS.DAL.Accounting.LegalInvoice.LegalInvoiceArtifactType> _legalInvoiceArtifactType = new XPCollection <NAS.DAL.Accounting.LegalInvoice.LegalInvoiceArtifactType>(session); _legalInvoiceArtifactType.Criteria = _filter; var _result = list; foreach (NAS.DAL.Accounting.LegalInvoice.LegalInvoiceArtifactType liat in _legalInvoiceArtifactType) { if (!list.ToList().Any(l => l.LegalInvoiceArtifactTypeCode == liat.Code)) { C011GTGT _c011GTGT = new C011GTGT() { Amount = 0, ClaimItem = "", Comment = "", CreateDate = DateTime.Now, TaxInNumber = 0, TaxInPercentage = 0, TotalAmount = 0, BillCode = "", SeriesNumber = "", ObjectName = "", ObjectTax = "", LegalInvoiceArtifactTypeCode = liat.Code, LegalInvoiceArtifactTypeName = liat.Name }; _result = _result.Concat(new List <C011GTGT> { _c011GTGT }); } } data = _result.ToList(); } catch { } if (vatType == Constant.VAT_OUT) { _01_1_GTGT report = new _01_1_GTGT(); report.DataSource = data; report.DataMember = ""; reportViewer.Report = report; } else { _01_2_GTGT report = new _01_2_GTGT(); report.DataSource = data; report.DataMember = ""; reportViewer.Report = report; } formInvoiceVatReport.JSProperties.Add("cpShowReport", "report"); } }
public void Save() { this.Text = $"Translation editor :: {Object.Name}"; Object.Save(); var uow = Object.Session as UnitOfWork; uow.CommitChanges(); foreach (var item in TreeItems.Where(x => x.Type == IbeTreeItemType.Book)) { var bookItem = item as IbeBookTreeItem; if (item.IsNew) { var book = new Book(uow) { AuthorName = bookItem.AuthorName, BaseBook = new XPQuery <BookBase>(uow).Where(x => x.Oid == bookItem.BaseBook.Id).FirstOrDefault(), BookName = bookItem.BookName, BookShortcut = bookItem.BookShortcut, Color = bookItem.Color, IsTranslated = bookItem.IsTranslated, NumberOfBook = bookItem.Number, ParentTranslation = Object, PlaceWhereBookWasWritten = bookItem.PlaceWhereBookWasWritten, Preface = bookItem.Preface, Purpose = bookItem.Purpose, Subject = bookItem.Subject, TimeOfWriting = bookItem.TimeOfWriting, NumberOfChapters = bookItem.NumberOfChapters }; book.Save(); uow.CommitChanges(); uow.ReloadChangedObjects(); bookItem.IsNew = false; bookItem.Changed = false; bookItem.Tag = book.Oid; // bookItem.ID = $"Book_{book.Oid}"; } else if (item.Changed) { var book = new XPQuery <Book>(uow).Where(x => x.Oid == bookItem.Tag).FirstOrDefault(); book.AuthorName = bookItem.AuthorName; book.BaseBook = new XPQuery <BookBase>(uow).Where(x => x.Oid == bookItem.BaseBook.Id).FirstOrDefault(); book.BookName = bookItem.BookName; book.BookShortcut = bookItem.BookShortcut; book.Color = bookItem.Color; book.IsTranslated = bookItem.IsTranslated; book.NumberOfBook = bookItem.Number; book.PlaceWhereBookWasWritten = bookItem.PlaceWhereBookWasWritten; book.Preface = bookItem.Preface; book.Purpose = bookItem.Purpose; book.Subject = bookItem.Subject; book.TimeOfWriting = bookItem.TimeOfWriting; book.NumberOfChapters = bookItem.NumberOfChapters; book.Save(); uow.CommitChanges(); bookItem.Changed = false; } } foreach (var item in TreeItems.Where(x => x.Type == IbeTreeItemType.Chapter)) { var chapterItem = item as IbeChapterTreeItem; if (item.IsNew) { var parentBookItem = TreeItems.Where(x => x.ID == chapterItem.ParentID).FirstOrDefault() as IbeBookTreeItem; var chapter = new Chapter(uow) { IsTranslated = chapterItem.IsTranslated, NumberOfChapter = chapterItem.Number, NumberOfVerses = chapterItem.NumberOfVerses, ParentBook = new XPQuery <Book>(uow).Where(x => x.Oid == parentBookItem.Tag).FirstOrDefault() }; chapter.Save(); uow.CommitChanges(); uow.ReloadChangedObjects(); chapterItem.IsNew = false; chapterItem.Changed = false; chapterItem.Tag = chapter.Oid; // chapterItem.ID = $"Chapter_{chapter.Oid}"; } else if (item.Changed) { var chapter = new XPQuery <Chapter>(uow).Where(x => x.Oid == chapterItem.Tag).FirstOrDefault(); chapter.IsTranslated = chapterItem.IsTranslated; chapter.NumberOfChapter = chapterItem.Number; chapter.NumberOfVerses = chapterItem.NumberOfVerses; chapter.Save(); uow.CommitChanges(); chapterItem.Changed = false; } } foreach (var item in TreeItems.Where(x => x.Type == IbeTreeItemType.Verse)) { var verseItem = item as IbeVerseTreeItem; if (item.IsNew) { var parentChapterItem = TreeItems.Where(x => x.ID == verseItem.ParentID).FirstOrDefault() as IbeChapterTreeItem; var verse = new Verse(uow) { NumberOfVerse = verseItem.Number, StartFromNewLine = verseItem.StartFromNewLine, Text = verseItem.Value, ParentChapter = new XPQuery <Chapter>(uow).Where(x => x.Oid == parentChapterItem.Tag).FirstOrDefault() }; SetSubtitle(verse, verseItem, uow, 1); SetSubtitle(verse, verseItem, uow, 2); //if (verseItem.SubtitleLevel1.IsNotNullOrEmpty()) { // var subtitle1 = verse.ParentChapter.Subtitles.Where(x => x.BeforeVerseNumber == verse.NumberOfVerse && x.Level == 1).FirstOrDefault(); // if (subtitle1.IsNotNull()) { // subtitle1.BeforeVerseNumber = verse.NumberOfVerse; // subtitle1.ParentChapter = verse.ParentChapter; // subtitle1.Level = 1; // subtitle1.Text = verseItem.SubtitleLevel1; // } // else { // subtitle1 = new Subtitle(uow) { // BeforeVerseNumber = verse.NumberOfVerse, // ParentChapter = verse.ParentChapter, // Level = 1, // Text = verseItem.SubtitleLevel1 // }; // } // subtitle1.Save(); //} //if (verseItem.SubtitleLevel2.IsNotNullOrEmpty()) { // var subtitle2 = verse.ParentChapter.Subtitles.Where(x => x.BeforeVerseNumber == verse.NumberOfVerse && x.Level == 2).FirstOrDefault(); // if (subtitle2.IsNotNull()) { // subtitle2.BeforeVerseNumber = verse.NumberOfVerse; // subtitle2.ParentChapter = verse.ParentChapter; // subtitle2.Level = 1; // subtitle2.Text = verseItem.SubtitleLevel2; // } // else { // subtitle2 = new Subtitle(uow) { // BeforeVerseNumber = verse.NumberOfVerse, // ParentChapter = verse.ParentChapter, // Level = 2, // Text = verseItem.SubtitleLevel2 // }; // } // subtitle2.Save(); //} verse.Save(); uow.CommitChanges(); uow.ReloadChangedObjects(); verseItem.IsNew = false; verseItem.Changed = false; verseItem.Tag = verse.Oid; } else if (item.Changed) { var verse = new XPQuery <Verse>(uow).Where(x => x.Oid == verseItem.Tag).FirstOrDefault(); verse.StartFromNewLine = verseItem.StartFromNewLine; verse.NumberOfVerse = verseItem.Number; verse.Text = verseItem.Value; SetSubtitle(verse, verseItem, uow, 1); SetSubtitle(verse, verseItem, uow, 2); verse.Save(); uow.CommitChanges(); verseItem.Changed = false; } } // refresh translations window try { if (ObjectSaved.IsNotNull()) { ObjectSaved(Object, EventArgs.Empty); } } catch { } }
private void DeleteData() { while (ShouldDoCleaning()) { using (var uow = new UnitOfWork()) { var videoQuery = new XPQuery<Damany.PortraitCapturer.DAL.DTO.Video>(uow); var oldestVideo = (from v in videoQuery orderby v.CaptureTime ascending select v).FirstOrDefault(); var portraitQuery = new XPQuery<Damany.PortraitCapturer.DAL.DTO.Portrait>(uow); var oldestPortrait = (from p in portraitQuery orderby p.CaptureTime ascending select p).FirstOrDefault(); var oldest = DateTime.MaxValue; if (oldestVideo != null) { if (oldestVideo.CaptureTime <= oldest) { oldest = oldestVideo.CaptureTime; } } if (oldestPortrait != null) { if (oldestPortrait.CaptureTime <= oldest) { oldest = oldestPortrait.CaptureTime; } } if (oldest != DateTime.MaxValue) { var range = new Damany.Util.DateTimeRange(oldest.Date, oldest.Date.AddDays(1)); DeleteOutdatedPortrait(range, uow); DeleteOutdatedFrame(range, uow); DeleteOutdatedVideos(range, uow); } uow.CommitChanges(); uow.PurgeDeletedObjects(); } } }
public XpoLinqQuery(XPQuery <T> query) : this(new XpoLinqQueryProvider(query, query.Session), ((IQueryable)query).Expression) { }
/// <summary> /// /// </summary> private static void SQL_ReloadAccount( ExecuteInfoNull sqlInfo ) { s_UnitOfWork.ReloadChangedObjects(); XPQuery<Account> accounts = new XPQuery<Account>( s_UnitOfWork ); var accountList = from account in accounts select account; // 账号是不会删除的,人物会删除,所以只需要添加即可。 foreach ( Account account in accountList ) { WowAccount wowAccount = new WowAccount(); wowAccount.AccountGuid = account.Oid; wowAccount.AccountName = account.AccountName.ToUpper(); wowAccount.Password = account.Password; wowAccount.Locked = account.IsLocked; wowAccount.Banned = account.IsBanned; wowAccount.AccessLevel = (AccessLevel)account.GMLevel; wowAccount.IsTBC = account.IsTBC; s_WowAccountManager.Add( wowAccount.AccountName, wowAccount ); } LOGs.WriteLine( LogMessageType.MSG_INFO, "Wow帐号:读取数据库内的 Wow 帐号完成" ); }
// // Xử lý các dữ liệu của 1 chấm công // private Timekeeping CalProperties(Timekeeping t, bool isXepCaMacDinh) { XPQuery<DefaultValueTimekeeping> _DefaultValueTimekeeping = new XPQuery<DefaultValueTimekeeping>(( (XPObjectSpace)objSpace).Session); Parameter parameter; List<DefaultValueTimekeeping> xpcDefaultValueTimekeeping; xpcDefaultValueTimekeeping = (from tso in _DefaultValueTimekeeping select tso).ToList(); using (IObjectSpace objNewSpace = frame.Application.CreateObjectSpace()) { XPCollection xpcPar = new XPCollection(((XPObjectSpace)objNewSpace).Session, typeof(Parameter)); parameter = xpcPar[0] as Parameter; } if (t.ThoiGianVao != null && t.ThoiGianRa != null) { TimeSpan tsValue = (t.ThoiGianRa - t.ThoiGianVao); double _SoGioLamCuaCa = 0; #region Dự đoán ca làm việc foreach (DefaultValueTimekeeping value in xpcDefaultValueTimekeeping) { if (value.ThoiGianVao != null && value.ThoiGianRa != null) { TimeSpan ts = t.ThoiGianVao - value.ThoiGianVao; if (ts.Hours == 0 && ts.Minutes > -30 && ts.Minutes < 30) { if (!isXepCaMacDinh) { t.Shift = value.Shift; } #region Tính thời gian đi trể về sớm if (ts.TotalMinutes > 0) { t.SoPhutDiTre = Math.Round(ts.TotalMinutes, 2); } ts = t.ThoiGianRa - value.ThoiGianRa; if (ts.TotalMinutes < 0) { t.SoPhutVeSom = Math.Round(-ts.TotalMinutes, 2); } _SoGioLamCuaCa = value.TongSoGioLam; break; } } } #endregion #region Tổng số giờ làm if (tsValue.TotalHours > 0) { t.TongSoGioLam = Math.Round(tsValue.TotalHours, 2); } else { t.TongSoGioLam = 0; } #endregion t.SoGioTangCaNL = 0; t.SoGioTangCaNN = 0; t.SoGioTangCaNNCaDem = 0; t.SoGioTangCaNT = 0; t.SoGioTangCaNTCaDem = 0; t.NgayCongThucTe = 0; t.NgayTinhCong = 0; if (t.Shift != null) { // // Ngày công thực tế nếu có làm thì gán bằng 1 // #region Ngày công thực tế t.NgayCongThucTe = 1; #endregion // // Ngày tính công nếu làm mà không phải tăng ca thì tính bằng 1, ngược lại bằng 0. Mặc định bằng 1 // t.NgayTinhCong = 1; // // Kiểm tra ngày chấm công có phải ngày lễ không // Holiday holidayDate = objSpace.FindObject<Holiday>(CriteriaOperator.And(new BinaryOperator( "StartDate", t.Date, BinaryOperatorType.GreaterOrEqual), new BinaryOperator( "EndDate", t.Date, BinaryOperatorType.LessOrEqual))); if (holidayDate != null) { t.SoGioTangCaNL = Math.Round(tsValue.TotalHours, 2); t.NgayTinhCong = 0; } else { // // Kiểm tra xem ngày đó có ca không nếu có ca thì là tăng ca ngày thường, không ca tăng ca ngày nghĩ. // if (t.Shift != null) { if (_SoGioLamCuaCa != 0) { double d = tsValue.TotalHours - _SoGioLamCuaCa; if (d >= parameter.SoGioToiThieuTinhTangCa) // Lớn hơn 15p thì mới tính tăng ca (0.25 giờ) { t.SoGioTangCaNT = Math.Round(d, 2); TimeSpan ts2 = t.ThoiGianRa - parameter.ThoiGianTinhCaDem; // Nếu giờ ra sau giờ ra tính ca đêm, thì mới tính ca đêm if (ts2.TotalHours >= parameter.SoGioToiThieuTinhTangCa) { t.SoGioTangCaNTCaDem = Math.Round(ts2.TotalHours, 2); t.SoGioTangCaNT = Math.Round((tsValue.TotalHours - ts2.TotalHours), 2); } } } } else { t.SoGioTangCaNN = Math.Round(tsValue.TotalHours, 2); TimeSpan ts2 = t.ThoiGianRa - parameter.ThoiGianTinhCaDem; // Nếu giờ ra sau giờ ra tính ca đêm, thì mới tính ca đêm if (ts2.TotalHours >= parameter.SoGioToiThieuTinhTangCa) { t.SoGioTangCaNNCaDem = Math.Round(ts2.TotalHours, 2); t.SoGioTangCaNN = Math.Round((tsValue.TotalHours - ts2.TotalHours), 2); } } } #endregion } } return t; }
/// <summary> /// /// </summary> private static void SQL_HandleCharLogin( CharLoginSQL sqlInfo ) { ////////////////////////////////////////////////////////////////////////// // 读取人物基础信息(CharacterBase) // 读取人物状态信息(CharacterBase) // 读取道具信息(CharacterItem) // 读取技能信息(CharacterSkill) // 读取法术信息(CharacterSpell) // 读取天赋信息(CharactersGift) // 读取宠物信息(CharacterPet) // 读取探索信息(CharacterExplore) // 读取声望信息(CharacterReputation) // 读取邮件信息(Mail) // 读取飞行点信息(CharactersTaxi) // 读取快捷按钮信息(CharacterActionBar) // 读取好友信息(CharacterSocial) // 读取行会信息(Guild)/ // 读取团队信息(Group) // 读取组队信息 ? // 计算攻防信息 // 读取人物增益/减益信息(CharacterAura) // 读取法书/道具冷却信息(CharacterSpellCooldown) ////////////////////////////////////////////////////////////////////////// // 读取人物基础信息(CharacterBase) XPQuery<CharacterBase> characters = new XPQuery<CharacterBase>( OneDatabase.Session ); var characterList = from character in characters where character.Oid == sqlInfo.LoginCharGuid select character; bool bIsFinde = false; WowCharacter wowCharacter = new WowCharacter(); foreach ( CharacterBase character in characterList ) { ////////////////////////////////////////////////////////////////////////// // 读取人物状态信息(CharacterBase) wowCharacter.GuildGuid = character.Oid; wowCharacter.Name = character.CharacterName; wowCharacter.Level = (uint)character.Level; wowCharacter.Race = (uint)character.Race; wowCharacter.Class = (uint)character.Class; wowCharacter.ZoneId = (uint)character.ZoneId; wowCharacter.MapId = (uint)character.MapId; wowCharacter.X = character.PositionX; wowCharacter.Y = character.PositionY; wowCharacter.Z = character.PositionZ; wowCharacter.Gender = (uint)character.Gender; wowCharacter.Face = (uint)character.Face; wowCharacter.HairStyle = (uint)character.HairStyle; wowCharacter.HairColor = (uint)character.HairColor; wowCharacter.FacialHair = (uint)character.FacialHair; ////////////////////////////////////////////////////////////////////////// // 读取道具信息(CharacterItem) XPQuery<CharacterItem> characterItems = new XPQuery<CharacterItem>( OneDatabase.Session ); var characterItemList = from characterItem in characterItems where characterItem.Owner == character && characterItem.BagId > InventorySlotBag.InventorySlotEquipmentBag && characterItem.BagId < InventorySlotBag.InventorySlotMainBag select characterItem; foreach ( CharacterItem characterItem in characterItemList ) { if ( characterItem.SlotId != BaseItem.SlotNotSet ) continue; WowItemContainer wowItemContainer = wowCharacter.BagManager.FindContainerAtSlot( characterItem.BagId ) as WowItemContainer; if ( wowItemContainer != null ) continue; else { WowItemTemplate wowItemTemplate = ProcessServer.WowZoneCluster.World.ItemTemplateManager.GetItemTemplate( (Serial)characterItem.ItemTemplateGuid ) as WowItemTemplate; if ( wowItemTemplate == null ) continue; wowItemContainer = new WowItemContainer(); wowItemContainer.InitContainerSlot( 0, wowItemTemplate.ContainerSlots ); wowItemContainer.Item = new WowItem(); wowItemContainer.Item.Serial = characterItem.Oid; wowItemContainer.Item.ItemTemplate = wowItemTemplate; wowCharacter.BagManager.AddContainer( characterItem.BagId, wowItemContainer ); } } characterItemList = from characterItem in characterItems select characterItem; foreach ( CharacterItem characterItem in characterItemList ) { if ( characterItem.SlotId != BaseItem.SlotNotSet ) continue; WowItem wowItem = new WowItem(); wowItem.Serial = characterItem.Oid; if ( characterItem.BagId == InventorySlotBag.InventorySlotEquipmentBag ) { if ( characterItem.SlotId == BaseItem.SlotNotSet || characterItem.SlotId < EquipmentSlot.EquipmentSlotStart || characterItem.SlotId >= EquipmentSlot.EquipmentSlotEnd ) continue; if ( wowCharacter.BagManager.EquipmentBag.FindSubItemAtSlot( characterItem.SlotId ) != null ) continue; wowCharacter.BagManager.EquipmentBag.AddSubItem( characterItem.SlotId, wowItem ); } else if ( characterItem.BagId == InventorySlotBag.InventorySlotMainBag ) { if ( characterItem.SlotId == BaseItem.SlotNotSet || characterItem.SlotId < BagSlotItem.BagSlotItemStart || characterItem.SlotId >= BagSlotItem.BagSlotItemEnd ) continue; if ( wowCharacter.BagManager.EquipmentBag.FindSubItemAtSlot( characterItem.SlotId ) != null ) continue; wowCharacter.BagManager.MainBag.AddSubItem( characterItem.SlotId, wowItem ); } else { WowItemContainer wowItemContainer = wowCharacter.BagManager.FindContainerAtSlot( characterItem.BagId ) as WowItemContainer; if ( wowItemContainer == null ) continue; else { if ( wowItemContainer.FindSubItemAtSlot( characterItem.SlotId ) != null ) continue; wowItemContainer.AddSubItem( characterItem.SlotId, wowItem ); } } } ////////////////////////////////////////////////////////////////////////// // 读取技能信息(CharacterSkill) XPQuery<CharacterSkill> characterSkills = new XPQuery<CharacterSkill>( OneDatabase.Session ); var characterSkillList = from characterSkill in characterSkills where characterSkill.Owner == character select characterSkill; foreach ( CharacterSkill characterSkill in characterSkillList ) { WowSkill wowSkill = new WowSkill(); wowSkill.Serial = characterSkill.SkillId; wowCharacter.SkillManager.AddSkill( wowSkill.Serial, wowSkill ); } ////////////////////////////////////////////////////////////////////////// // 读取法术信息(CharacterSpell) XPQuery<CharacterSpell> characterSpells = new XPQuery<CharacterSpell>( OneDatabase.Session ); var characterSpellList = from characterSpell in characterSpells where characterSpell.Owner == character select characterSpell; foreach ( CharacterSpell characterSpell in characterSpellList ) { WowSpell wowSpell = new WowSpell(); wowSpell.Serial = characterSpell.SpellId; wowCharacter.SpellManager.AddSpell( wowSpell.Serial, wowSpell ); } ////////////////////////////////////////////////////////////////////////// // 读取天赋信息(CharactersGift) XPQuery<CharactersGift> charactersGifts = new XPQuery<CharactersGift>( OneDatabase.Session ); var charactersGiftList = from charactersGift in charactersGifts where charactersGift.Owner == character select charactersGift; foreach ( CharactersGift charactersGift in charactersGiftList ) { WowTalent wowTalent = new WowTalent(); wowTalent.Serial = charactersGift.Oid; wowCharacter.TalentManager.AddTalent( wowTalent.Serial, wowTalent ); } ////////////////////////////////////////////////////////////////////////// // 读取宠物信息(CharacterPet) XPQuery<CharacterPet> characterPets = new XPQuery<CharacterPet>( OneDatabase.Session ); var characterPetList = from characterPet in characterPets where characterPet.Owner == character select characterPet; foreach ( CharacterPet characterPet in characterPetList ) { WowPet wowPet = new WowPet(); } ////////////////////////////////////////////////////////////////////////// // 读取探索信息(CharacterExplore) XPQuery<CharacterExplore> characterExplores = new XPQuery<CharacterExplore>( OneDatabase.Session ); var characterExploreList = from characterExplore in characterExplores where characterExplore.Owner == character select characterExplore; foreach ( CharacterExplore characterExplore in characterExploreList ) { } ////////////////////////////////////////////////////////////////////////// // 读取声望信息(CharacterReputation) XPQuery<CharacterReputation> characterReputations = new XPQuery<CharacterReputation>( OneDatabase.Session ); var characterReputationList = from characterReputation in characterReputations where characterReputation.Owner == character select characterReputation; foreach ( CharacterReputation characterReputation in characterReputationList ) { } ////////////////////////////////////////////////////////////////////////// // 读取邮件信息(Mail) XPQuery<Mail> mails = new XPQuery<Mail>( OneDatabase.Session ); var mailList = from mail in mails where mail.Receiver == character select mail; foreach ( Mail mail in mailList ) { } ////////////////////////////////////////////////////////////////////////// // 读取飞行点信息(CharactersTaxi) XPQuery<CharactersTaxi> charactersTaxis = new XPQuery<CharactersTaxi>( OneDatabase.Session ); var charactersTaxiList = from charactersTaxi in charactersTaxis where charactersTaxi.Owner == character select charactersTaxi; foreach ( CharactersTaxi charactersTaxi in charactersTaxiList ) { } ////////////////////////////////////////////////////////////////////////// // 读取快捷按钮信息(CharacterActionBar) XPQuery<CharacterActionBar> characterActionBars = new XPQuery<CharacterActionBar>( OneDatabase.Session ); var characterActionBarList = from characterActionBar in characterActionBars where characterActionBar.Owner == character select characterActionBar; foreach ( CharacterActionBar characterActionBar in characterActionBarList ) { } ////////////////////////////////////////////////////////////////////////// // 读取好友信息(CharacterSocial) XPQuery<CharacterSocial> characterSocials = new XPQuery<CharacterSocial>( OneDatabase.Session ); var characterSocialList = from characterSocial in characterSocials where characterSocial.Owner == character select characterSocial; foreach ( CharacterSocial characterSocial in characterSocialList ) { } ////////////////////////////////////////////////////////////////////////// // 读取行会信息(Guild) XPQuery<Guild> guilds = new XPQuery<Guild>( OneDatabase.Session ); var guildList = from guild in guilds where guild.Leader == character select guild; foreach ( Guild guild in guildList ) { } ////////////////////////////////////////////////////////////////////////// // 读取团队信息(Group) XPQuery<Group> groups = new XPQuery<Group>( OneDatabase.Session ); var groupList = from groupItem in groups where groupItem.Leader == character select groupItem; foreach ( Group group in groupList ) { } ////////////////////////////////////////////////////////////////////////// // 读取组队信息 ? ////////////////////////////////////////////////////////////////////////// // 计算攻防信息 ////////////////////////////////////////////////////////////////////////// // 读取人物增益/减益信息(CharacterAura) XPQuery<CharacterAura> characterAuras = new XPQuery<CharacterAura>( OneDatabase.Session ); var characterAuraList = from characterAura in characterAuras where characterAura.Owner == character select characterAura; foreach ( CharacterAura characterAura in characterAuraList ) { } ////////////////////////////////////////////////////////////////////////// // 读取法书/道具冷却信息(CharacterSpellCooldown) XPQuery<CharacterSpellCooldown> characterSpellCooldowns = new XPQuery<CharacterSpellCooldown>( OneDatabase.Session ); var characterSpellCooldownList = from characterSpellCooldown in characterSpellCooldowns where characterSpellCooldown.Owner == character select characterSpellCooldown; foreach ( CharacterSpellCooldown characterSpellCooldown in characterSpellCooldownList ) { } bIsFinde = true; break; } if ( bIsFinde == false ) { Debug.WriteLine( "CHAR_LOGIN_FAILED error!" ); sqlInfo.NetState.Send( new Word_PlayerLoginFailedResponse( ResponseCodes.CHAR_LOGIN_FAILED ) ); return; } sqlInfo.NetState.Send( new Word_PlayerDungeonDifficulty( InstanceMode.MODE_NORMAL ) ); sqlInfo.NetState.Send( new Word_PlayerLoginVerifyWorld( wowCharacter.MapId, wowCharacter.X, wowCharacter.Y, wowCharacter.Z, wowCharacter.O ) ); AccountData[] accountDataArray = new AccountData[8]; for ( int iIndex = 0; iIndex < accountDataArray.Length; iIndex++ ) accountDataArray[iIndex] = new AccountData(); sqlInfo.NetState.Send( new Word_PlayerAccountDataMd5( accountDataArray ) ); sqlInfo.NetState.Send( new Word_PlayerVoiceSystemStatus( 0 ) );// 需要连接套接字 sqlInfo.NetState.Send( new Word_PlayerTriggerCinematic( 0 ) ); sqlInfo.NetState.Send( new Word_PlayerBroadcastMsg( "ookk1234567" ) ); sqlInfo.NetState.Send( new Word_PlayerSetRestStart() ); sqlInfo.NetState.Send( new Word_PlayerBindPointUpdate( wowCharacter.X, wowCharacter.Y, wowCharacter.Z, wowCharacter.MapId, wowCharacter.ZoneId ) ); uint[] uiTutorialArray = new uint[8]; for ( int iIndex = 0; iIndex < uiTutorialArray.Length; iIndex++ ) uiTutorialArray[iIndex] = 0; sqlInfo.NetState.Send( new Word_PlayerTutorialFlags( uiTutorialArray ) ); sqlInfo.NetState.Send( new Word_PlayerInitialSpells( wowCharacter.SpellManager.ToArray(), wowCharacter.SpellCooldownManager.ToArray() ) ); sqlInfo.NetState.Send( new Word_PlayerActionButtons( wowCharacter.ActionBarManager.ToArray() ) ); sqlInfo.NetState.Send( new Word_PlayerInitializeFactions( wowCharacter.ReputationManager.ToArray() ) ); sqlInfo.NetState.Send( new Word_PlayerInitWorldStates( wowCharacter.MapId, wowCharacter.ZoneId, 0 ) ); sqlInfo.NetState.Send( new Word_PlayerLoginSetTimeSpeed( DateTime.Now ) ); }
private void VideoQueryForm_Load(object sender, EventArgs e) { var oldestQuery = new XPQuery<Damany.PortraitCapturer.DAL.DTO.Video>(session1); var oldest = (from v in oldestQuery orderby v.CaptureTime ascending select v).FirstOrDefault(); var newest = (from v in oldestQuery orderby v.CaptureTime descending select v).FirstOrDefault(); var range = string.Format(" ({0} —— {1})", oldest.CaptureTime, newest.CaptureTime); groupControl1.Text += range; }
/// <summary> /// /// </summary> private static void SQL_UpdateAccountLastIP( UpdateAccountLastIPSQL sqlInfo ) { XPQuery<Account> accounts = new XPQuery<Account>( OneDatabase.Session ); var accountList = from account in accounts where account.AccountName == sqlInfo.AccountsName select account; // 可能数据已添加,但没有刷新。 if ( accountList.Count() == 0 ) { s_UnitOfWork.ReloadChangedObjects(); accounts = new XPQuery<Account>( OneDatabase.Session ); accountList = from account in accounts where account.AccountName == sqlInfo.AccountsName select account; } foreach ( Account account in accountList ) { account.LastIP = sqlInfo.LastIP; account.Save(); OneDatabase.Session.CommitChanges(); break; } }
public static List<Employee> FilteredEmployeesWithUpdateRequests(this ImportTask importTask, DevExpress.Xpo.Session session) { importTask.Filters.Reload(); importTask.Phonebook.Employees.Reload(); XPQuery<Employee> employeesQuery = new XPQuery<Employee>(session); XPQuery<UpdateRequest> updateRequestsQuery = new XPQuery<UpdateRequest>(session); var updateRequestsInImportTask = (from u in updateRequestsQuery where u.ImportTask == importTask select u); var distinctEmployeesFromUpdateRequests = (from u in updateRequestsInImportTask select u.Employee).DistinctBy(e => e.Oid); IQueryable<Employee> employees = (from employee in distinctEmployeesFromUpdateRequests.AsQueryable() where employee.IsDeleted == false select employee); List<string> employeeFieldNames = Utilities.GetPropertyNames<Employee>().ToList(); foreach (Filter filter in importTask.Filters.ToList<Filter>()) { if (employeeFieldNames.Contains(filter.FieldName)) { if (filter.ComparisonOperator.Replace(" ", "") == "!=") { employees.Where(x => Convert.ToString(x.GetMemberValue(filter.FieldName)).EmptyIfNull() != filter.FieldValue); } else if (filter.ComparisonOperator.Replace(" ", "") == "==") { employees.Where(x => Convert.ToString(x.GetMemberValue(filter.FieldName)).EmptyIfNull() == filter.FieldValue); } } } return employees.ToList(); }
/// <summary> /// /// </summary> private static void SQL_HandleCharDelete(CharDeleteSQL sqlInfo) { XPQuery <CharacterBase> characters = new XPQuery <CharacterBase>(OneDatabase.Session); var characterList = from character in characters where character.Oid == sqlInfo.DelCharGuid select character; bool bIsFinde = false; string strCharacterName = string.Empty; foreach (CharacterBase character in characterList) { XPQuery <CharacterPet> creaturePets = new XPQuery <CharacterPet>(OneDatabase.Session); var creaturePetList = from creaturePet in creaturePets where creaturePet.Owner == character select creaturePet; foreach (CharacterPet creaturePet in creaturePetList) { creaturePet.Delete(); } XPQuery <CharacterItem> characterItems = new XPQuery <CharacterItem>(OneDatabase.Session); var characterItemList = from characterItem in characterItems where characterItem.Owner == character select characterItem; foreach (CharacterItem characterItem in characterItemList) { characterItem.Delete(); } character.Delete(); OneDatabase.Session.CommitChanges(); strCharacterName = character.CharacterName; bIsFinde = true; break; } if (bIsFinde == false) { sqlInfo.NetState.Send(new Word_CharDeleteResponseError(ResponseCodes.CHAR_DELETE_FAILED)); } else { ProcessServer.WowZoneCluster.World.GlobalPlayerInfo.RemovePlayerInfo(strCharacterName); sqlInfo.NetState.Send(new Word_CharDeleteResponse()); } CharEnumSQL charEnumSQL = new CharEnumSQL(sqlInfo.WorldExtendData, sqlInfo.NetState); WaitExecuteInfo <CharEnumSQL> waitExecuteInfo = new WaitExecuteInfo <CharEnumSQL>(charEnumSQL, WorldPacketHandlers.SQL_HandleCharEnum); ProcessServer.WowZoneCluster.World.WaitExecute.JoinWaitExecuteQueue(waitExecuteInfo); }
public DataSales() { InitializeComponent(); SalesBS.PositionChanged += SalesBS_PositionChanged; sh_coll = SalesUOW.Query <SalesheadsModel>(); }
/// <summary> /// /// </summary> private static void SQL_HandleCharLogin(CharLoginSQL sqlInfo) { ////////////////////////////////////////////////////////////////////////// // 读取人物基础信息(CharacterBase) // 读取人物状态信息(CharacterBase) // 读取道具信息(CharacterItem) // 读取技能信息(CharacterSkill) // 读取法术信息(CharacterSpell) // 读取天赋信息(CharactersGift) // 读取宠物信息(CharacterPet) // 读取探索信息(CharacterExplore) // 读取声望信息(CharacterReputation) // 读取邮件信息(Mail) // 读取飞行点信息(CharactersTaxi) // 读取快捷按钮信息(CharacterActionBar) // 读取好友信息(CharacterSocial) // 读取行会信息(Guild)/ // 读取团队信息(Group) // 读取组队信息 ? // 计算攻防信息 // 读取人物增益/减益信息(CharacterAura) // 读取法书/道具冷却信息(CharacterSpellCooldown) ////////////////////////////////////////////////////////////////////////// // 读取人物基础信息(CharacterBase) XPQuery <CharacterBase> characters = new XPQuery <CharacterBase>(OneDatabase.Session); var characterList = from character in characters where character.Oid == sqlInfo.LoginCharGuid select character; bool bIsFinde = false; WowCharacter wowCharacter = new WowCharacter(); foreach (CharacterBase character in characterList) { ////////////////////////////////////////////////////////////////////////// // 读取人物状态信息(CharacterBase) wowCharacter.GuildGuid = character.Oid; wowCharacter.Name = character.CharacterName; wowCharacter.Level = (uint)character.Level; wowCharacter.Race = (uint)character.Race; wowCharacter.Class = (uint)character.Class; wowCharacter.ZoneId = (uint)character.ZoneId; wowCharacter.MapId = (uint)character.MapId; wowCharacter.X = character.PositionX; wowCharacter.Y = character.PositionY; wowCharacter.Z = character.PositionZ; wowCharacter.Gender = (uint)character.Gender; wowCharacter.Face = (uint)character.Face; wowCharacter.HairStyle = (uint)character.HairStyle; wowCharacter.HairColor = (uint)character.HairColor; wowCharacter.FacialHair = (uint)character.FacialHair; ////////////////////////////////////////////////////////////////////////// // 读取道具信息(CharacterItem) XPQuery <CharacterItem> characterItems = new XPQuery <CharacterItem>(OneDatabase.Session); var characterItemList = from characterItem in characterItems where characterItem.Owner == character && characterItem.BagId > InventorySlotBag.InventorySlotEquipmentBag && characterItem.BagId < InventorySlotBag.InventorySlotMainBag select characterItem; foreach (CharacterItem characterItem in characterItemList) { if (characterItem.SlotId != BaseItem.SlotNotSet) { continue; } WowItemContainer wowItemContainer = wowCharacter.BagManager.FindContainerAtSlot(characterItem.BagId) as WowItemContainer; if (wowItemContainer != null) { continue; } else { WowItemTemplate wowItemTemplate = ProcessServer.WowZoneCluster.World.ItemTemplateManager.GetItemTemplate((Serial)characterItem.ItemTemplateGuid) as WowItemTemplate; if (wowItemTemplate == null) { continue; } wowItemContainer = new WowItemContainer(); wowItemContainer.InitContainerSlot(0, wowItemTemplate.ContainerSlots); wowItemContainer.Item = new WowItem(); wowItemContainer.Item.Serial = characterItem.Oid; wowItemContainer.Item.ItemTemplate = wowItemTemplate; wowCharacter.BagManager.AddContainer(characterItem.BagId, wowItemContainer); } } characterItemList = from characterItem in characterItems select characterItem; foreach (CharacterItem characterItem in characterItemList) { if (characterItem.SlotId != BaseItem.SlotNotSet) { continue; } WowItem wowItem = new WowItem(); wowItem.Serial = characterItem.Oid; if (characterItem.BagId == InventorySlotBag.InventorySlotEquipmentBag) { if (characterItem.SlotId == BaseItem.SlotNotSet || characterItem.SlotId < EquipmentSlot.EquipmentSlotStart || characterItem.SlotId >= EquipmentSlot.EquipmentSlotEnd) { continue; } if (wowCharacter.BagManager.EquipmentBag.FindSubItemAtSlot(characterItem.SlotId) != null) { continue; } wowCharacter.BagManager.EquipmentBag.AddSubItem(characterItem.SlotId, wowItem); } else if (characterItem.BagId == InventorySlotBag.InventorySlotMainBag) { if (characterItem.SlotId == BaseItem.SlotNotSet || characterItem.SlotId < BagSlotItem.BagSlotItemStart || characterItem.SlotId >= BagSlotItem.BagSlotItemEnd) { continue; } if (wowCharacter.BagManager.EquipmentBag.FindSubItemAtSlot(characterItem.SlotId) != null) { continue; } wowCharacter.BagManager.MainBag.AddSubItem(characterItem.SlotId, wowItem); } else { WowItemContainer wowItemContainer = wowCharacter.BagManager.FindContainerAtSlot(characterItem.BagId) as WowItemContainer; if (wowItemContainer == null) { continue; } else { if (wowItemContainer.FindSubItemAtSlot(characterItem.SlotId) != null) { continue; } wowItemContainer.AddSubItem(characterItem.SlotId, wowItem); } } } ////////////////////////////////////////////////////////////////////////// // 读取技能信息(CharacterSkill) XPQuery <CharacterSkill> characterSkills = new XPQuery <CharacterSkill>(OneDatabase.Session); var characterSkillList = from characterSkill in characterSkills where characterSkill.Owner == character select characterSkill; foreach (CharacterSkill characterSkill in characterSkillList) { WowSkill wowSkill = new WowSkill(); wowSkill.Serial = characterSkill.SkillId; wowCharacter.SkillManager.AddSkill(wowSkill.Serial, wowSkill); } ////////////////////////////////////////////////////////////////////////// // 读取法术信息(CharacterSpell) XPQuery <CharacterSpell> characterSpells = new XPQuery <CharacterSpell>(OneDatabase.Session); var characterSpellList = from characterSpell in characterSpells where characterSpell.Owner == character select characterSpell; foreach (CharacterSpell characterSpell in characterSpellList) { WowSpell wowSpell = new WowSpell(); wowSpell.Serial = characterSpell.SpellId; wowCharacter.SpellManager.AddSpell(wowSpell.Serial, wowSpell); } ////////////////////////////////////////////////////////////////////////// // 读取天赋信息(CharactersGift) XPQuery <CharactersGift> charactersGifts = new XPQuery <CharactersGift>(OneDatabase.Session); var charactersGiftList = from charactersGift in charactersGifts where charactersGift.Owner == character select charactersGift; foreach (CharactersGift charactersGift in charactersGiftList) { WowTalent wowTalent = new WowTalent(); wowTalent.Serial = charactersGift.Oid; wowCharacter.TalentManager.AddTalent(wowTalent.Serial, wowTalent); } ////////////////////////////////////////////////////////////////////////// // 读取宠物信息(CharacterPet) XPQuery <CharacterPet> characterPets = new XPQuery <CharacterPet>(OneDatabase.Session); var characterPetList = from characterPet in characterPets where characterPet.Owner == character select characterPet; foreach (CharacterPet characterPet in characterPetList) { WowPet wowPet = new WowPet(); } ////////////////////////////////////////////////////////////////////////// // 读取探索信息(CharacterExplore) XPQuery <CharacterExplore> characterExplores = new XPQuery <CharacterExplore>(OneDatabase.Session); var characterExploreList = from characterExplore in characterExplores where characterExplore.Owner == character select characterExplore; foreach (CharacterExplore characterExplore in characterExploreList) { } ////////////////////////////////////////////////////////////////////////// // 读取声望信息(CharacterReputation) XPQuery <CharacterReputation> characterReputations = new XPQuery <CharacterReputation>(OneDatabase.Session); var characterReputationList = from characterReputation in characterReputations where characterReputation.Owner == character select characterReputation; foreach (CharacterReputation characterReputation in characterReputationList) { } ////////////////////////////////////////////////////////////////////////// // 读取邮件信息(Mail) XPQuery <Mail> mails = new XPQuery <Mail>(OneDatabase.Session); var mailList = from mail in mails where mail.Receiver == character select mail; foreach (Mail mail in mailList) { } ////////////////////////////////////////////////////////////////////////// // 读取飞行点信息(CharactersTaxi) XPQuery <CharactersTaxi> charactersTaxis = new XPQuery <CharactersTaxi>(OneDatabase.Session); var charactersTaxiList = from charactersTaxi in charactersTaxis where charactersTaxi.Owner == character select charactersTaxi; foreach (CharactersTaxi charactersTaxi in charactersTaxiList) { } ////////////////////////////////////////////////////////////////////////// // 读取快捷按钮信息(CharacterActionBar) XPQuery <CharacterActionBar> characterActionBars = new XPQuery <CharacterActionBar>(OneDatabase.Session); var characterActionBarList = from characterActionBar in characterActionBars where characterActionBar.Owner == character select characterActionBar; foreach (CharacterActionBar characterActionBar in characterActionBarList) { } ////////////////////////////////////////////////////////////////////////// // 读取好友信息(CharacterSocial) XPQuery <CharacterSocial> characterSocials = new XPQuery <CharacterSocial>(OneDatabase.Session); var characterSocialList = from characterSocial in characterSocials where characterSocial.Owner == character select characterSocial; foreach (CharacterSocial characterSocial in characterSocialList) { } ////////////////////////////////////////////////////////////////////////// // 读取行会信息(Guild) XPQuery <Guild> guilds = new XPQuery <Guild>(OneDatabase.Session); var guildList = from guild in guilds where guild.Leader == character select guild; foreach (Guild guild in guildList) { } ////////////////////////////////////////////////////////////////////////// // 读取团队信息(Group) XPQuery <Group> groups = new XPQuery <Group>(OneDatabase.Session); var groupList = from groupItem in groups where groupItem.Leader == character select groupItem; foreach (Group group in groupList) { } ////////////////////////////////////////////////////////////////////////// // 读取组队信息 ? ////////////////////////////////////////////////////////////////////////// // 计算攻防信息 ////////////////////////////////////////////////////////////////////////// // 读取人物增益/减益信息(CharacterAura) XPQuery <CharacterAura> characterAuras = new XPQuery <CharacterAura>(OneDatabase.Session); var characterAuraList = from characterAura in characterAuras where characterAura.Owner == character select characterAura; foreach (CharacterAura characterAura in characterAuraList) { } ////////////////////////////////////////////////////////////////////////// // 读取法书/道具冷却信息(CharacterSpellCooldown) XPQuery <CharacterSpellCooldown> characterSpellCooldowns = new XPQuery <CharacterSpellCooldown>(OneDatabase.Session); var characterSpellCooldownList = from characterSpellCooldown in characterSpellCooldowns where characterSpellCooldown.Owner == character select characterSpellCooldown; foreach (CharacterSpellCooldown characterSpellCooldown in characterSpellCooldownList) { } bIsFinde = true; break; } if (bIsFinde == false) { Debug.WriteLine("CHAR_LOGIN_FAILED error!"); sqlInfo.NetState.Send(new Word_PlayerLoginFailedResponse(ResponseCodes.CHAR_LOGIN_FAILED)); return; } sqlInfo.NetState.Send(new Word_PlayerDungeonDifficulty(InstanceMode.MODE_NORMAL)); sqlInfo.NetState.Send(new Word_PlayerLoginVerifyWorld(wowCharacter.MapId, wowCharacter.X, wowCharacter.Y, wowCharacter.Z, wowCharacter.O)); AccountData[] accountDataArray = new AccountData[8]; for (int iIndex = 0; iIndex < accountDataArray.Length; iIndex++) { accountDataArray[iIndex] = new AccountData(); } sqlInfo.NetState.Send(new Word_PlayerAccountDataMd5(accountDataArray)); sqlInfo.NetState.Send(new Word_PlayerVoiceSystemStatus(0)); // 需要连接套接字 sqlInfo.NetState.Send(new Word_PlayerTriggerCinematic(0)); sqlInfo.NetState.Send(new Word_PlayerBroadcastMsg("ookk1234567")); sqlInfo.NetState.Send(new Word_PlayerSetRestStart()); sqlInfo.NetState.Send(new Word_PlayerBindPointUpdate(wowCharacter.X, wowCharacter.Y, wowCharacter.Z, wowCharacter.MapId, wowCharacter.ZoneId)); uint[] uiTutorialArray = new uint[8]; for (int iIndex = 0; iIndex < uiTutorialArray.Length; iIndex++) { uiTutorialArray[iIndex] = 0; } sqlInfo.NetState.Send(new Word_PlayerTutorialFlags(uiTutorialArray)); sqlInfo.NetState.Send(new Word_PlayerInitialSpells(wowCharacter.SpellManager.ToArray(), wowCharacter.SpellCooldownManager.ToArray())); sqlInfo.NetState.Send(new Word_PlayerActionButtons(wowCharacter.ActionBarManager.ToArray())); sqlInfo.NetState.Send(new Word_PlayerInitializeFactions(wowCharacter.ReputationManager.ToArray())); sqlInfo.NetState.Send(new Word_PlayerInitWorldStates(wowCharacter.MapId, wowCharacter.ZoneId, 0)); sqlInfo.NetState.Send(new Word_PlayerLoginSetTimeSpeed(DateTime.Now)); }
/// <summary> /// /// </summary> internal bool SaveNewCreature() { XPQuery<CharacterBase> characters = new XPQuery<CharacterBase>( OneDatabase.Session ); var characterList = from character in characters where character.Oid == m_CharacterAccountGuid select character; if ( characterList.Count() > WOW_MAX_CHARACTER_COUNT ) // 人物过多 return false; CharacterBase newCharacter = new CharacterBase( OneDatabase.Session ); this.Serial = newCharacter.Oid; newCharacter.CharacterName = this.Name; //newCharacter.Account = this.AccountGuid; newCharacter.Gender = (byte)this.Gender; newCharacter.Skin = (byte)this.Skin; newCharacter.Face = (byte)this.Face; newCharacter.HairStyle = (byte)this.HairColor; newCharacter.HairColor = (byte)this.HairColor; newCharacter.FacialHair = (byte)this.FacialHair; newCharacter.Race = (byte)this.Race; newCharacter.Class = (int)this.Class; newCharacter.Level = (int)this.Level; newCharacter.MapId = (int)this.MapId; newCharacter.ZoneId = (int)this.ZoneId; newCharacter.PositionX = this.X; newCharacter.PositionY = this.Y; newCharacter.PositionZ = this.Z; newCharacter.Orientation = this.O; newCharacter.Guild = null; // 人物的坐骑航线标记点 32位值|32位值|32位值|32位值 // 00000000000000000000000000000000|...|...|... // 以位域标示 1~TaxiId~32| 32~TaxiId~64|65~TaxiId~96|96~TaxiId~128 newCharacter.TaxiMask = this.TaxiMask; newCharacter.IsGhost = false; newCharacter.IsCinematic = false; newCharacter.IsNeedRename = false; newCharacter.TotalTime = 0; newCharacter.LevelTime = 0; newCharacter.LogoutTime = DateTime.Now; newCharacter.CreatingTime = DateTime.Now; newCharacter.IsBanned = false; newCharacter.IsDelete = false; newCharacter.DeleteTime = DateTime.Now; CharacterHomeBind newCharacterHomeBind = new CharacterHomeBind( OneDatabase.Session ); //newCharacterHomeBind.Owner = newCharacter.Oid; newCharacterHomeBind.MapId = (int)this.BindMapId; newCharacterHomeBind.ZoneId = (int)this.BindZoneId; newCharacterHomeBind.PositionX = this.BindX; newCharacterHomeBind.PositionY = this.BindY; newCharacterHomeBind.PositionZ = this.BindZ; foreach ( BaseSkill baseSkill in SkillManager.ToArray() ) { WowSkill wowSkill = baseSkill as WowSkill; if ( wowSkill == null ) continue; if ( wowSkill.Serial != 0 ) continue; WowSkillTemplate wowSkillTemplate = wowSkill.SkillTemplate as WowSkillTemplate; if ( wowSkillTemplate == null ) continue; CharacterSkill newCharactersSkill = new CharacterSkill( OneDatabase.Session ); wowSkill.Serial = newCharactersSkill.Oid; //newCharactersSkill.Owner = newCharacter.Oid; newCharactersSkill.SkillId = wowSkillTemplate.Serial; newCharactersSkill.Value = wowSkill.Level; } foreach ( BaseSpell baseSpell in SpellManager.ToArray() ) { WowSpell wowSpell = baseSpell as WowSpell; if ( wowSpell == null ) continue; if ( wowSpell.Serial != 0 ) continue; WowSpellTemplate wowSpellTemplate = baseSpell.SpellTemplate as WowSpellTemplate; if ( wowSpellTemplate == null ) continue; CharacterSpell newCharacterSpell = new CharacterSpell( OneDatabase.Session ); wowSpell.Serial = newCharacterSpell.Oid; //newCharacterSpell.Owner = newCharacter.Oid; newCharacterSpell.SpellId = wowSpellTemplate.Serial; //newCharacterSpell.Slot = baseSpell.Slot; } foreach ( WowActionBar baseActionBar in ActionBarManager.ToArray() ) { WowActionBar wowActionBar = baseActionBar as WowActionBar; if ( baseActionBar == null ) continue; if ( wowActionBar.Serial != 0 ) continue; CharacterActionBar newCharactersAction = new CharacterActionBar( OneDatabase.Session ); wowActionBar.Serial = newCharactersAction.Oid; //newCharactersAction.Owner= newCharacter.Oid; newCharactersAction.Slot = wowActionBar.ActionBarSlotId; newCharactersAction.ActionId = wowActionBar.Action; newCharactersAction.ActionType = wowActionBar.Type; } foreach ( BaseItem baseItem in BagManager.EquipmentBag.SubItemsToArray() ) { WowItem wowItem = baseItem as WowItem; if ( wowItem == null ) continue; if ( wowItem.Serial != 0 ) continue; WowItemTemplate wowItemTemplate = wowItem.ItemTemplate as WowItemTemplate; if ( wowItemTemplate == null ) continue; CharacterItem newCharactersItem = new CharacterItem( OneDatabase.Session ); wowItem.Serial = newCharactersItem.Oid; //newCharactersItem.Owner = newCharacter.Oid; newCharactersItem.ItemTemplateGuid = (ulong)wowItemTemplate.Serial; newCharactersItem.Amount = (int)wowItem.Amount; newCharactersItem.BagId = (int)BagManager.EquipmentBag.Item.SlotId; newCharactersItem.SlotId = (int)wowItem.SlotId; } foreach ( WowReputation baseReputation in ReputationManager.ToArray() ) { WowReputation wowReputation = baseReputation as WowReputation; if ( wowReputation == null ) continue; if ( wowReputation.Serial != 0 ) continue; CharacterReputation newCharacterReputation = new CharacterReputation( OneDatabase.Session ); wowReputation.Serial = newCharacterReputation.Oid; //newCharacterReputation.Owner = newCharacter.Oid; newCharacterReputation.FactionId = wowReputation.FactionId; newCharacterReputation.Reputation = wowReputation.Reputation; newCharacterReputation.Flag = wowReputation.Flag; } return true; }
void ConfigureGauge() { int year = DateTime.Now.Year; int roomBookingsCount = new XPQuery<RoomBooking>(new UnitOfWork()).Where(rb => rb.StartTime.Year == year).Count(); var rbcyScale = roomBookingsCurrentYearGauge.Scales[0]; rbcyScale.Value = roomBookingsCount; }
public List<Vacation> GetByEmployee(Employee emp) { try { List<Vacation> vacations = new XPQuery<Vacation>(uow).Where(v => v.Employee.empID == emp.empID).OrderBy(e => e.Employee.DisplayName).ToList(); return vacations; } catch (Exception exception1) { Exception innerException = exception1; throw new Exception(MethodBase.GetCurrentMethod().Name, innerException); } }
private void barEditItem3_EditValueChanged(object sender, EventArgs e) { _eventAggregator.PublishSwitchMotionDetectorEvent(); var camConfig = _configurationManager.GetCameras().FirstOrDefault(); if (camConfig == null) return; var modeName = ((int)switchMode.EditValue) == 0 ? "室内模式" : "室外模式"; var modesQuery = new XPQuery<WorkModeCamSetting>(new Session()); var selectedConfig = modesQuery.Where(cfg => cfg.ModeName == modeName).FirstOrDefault(); if (selectedConfig == null) { return; } var worker = Task.Factory.StartNew(() => { var sanyocamera = new Damany.Component.SanyoNetCamera(); sanyocamera.UserName = "******"; sanyocamera.Password = "******"; sanyocamera.IPAddress = camConfig.Location.Host; sanyocamera.Connect(); sanyocamera.SetIris(IrisMode.Manual, selectedConfig.IrisLevel); sanyocamera.SetShutter( ShutterMode.Short, selectedConfig.ShutterSpeed); sanyocamera.SetAGCMode(true, selectedConfig.DigitalGain); }); worker.ContinueWith(ant => { if (ant.Exception != null) { var error = ant.Exception; _messageBoxService.ShowError("设置摄像头参数失败! 请确认摄像机已经正确连接。"); } }, CancellationToken.None, TaskContinuationOptions.OnlyOnFaulted, TaskScheduler.FromCurrentSynchronizationContext()); }