void OnCounterpartyChanged(Counterparty newCounterparty) { if (newCounterparty != null) { SelectedCounterparty = newCounterparty; CounterpartyChangeEvent evt = eventAggregator.GetEvent <CounterpartyChangeEvent>(); evt.Publish(newCounterparty); } }
public IList <GoodsInRouteListResultWithSpecialRequirements> GetGoodsInRLWithoutEquipmentsWithSpecialRequirements(IUnitOfWork uow, RouteList routeList) { GoodsInRouteListResultWithSpecialRequirements resultAlias = null; VodovozOrder orderAlias = null; OrderItem orderItemsAlias = null; Counterparty counterpartyAlias = null; Nomenclature OrderItemNomenclatureAlias = null; var ordersQuery = QueryOver.Of(() => orderAlias); var routeListItemsSubQuery = QueryOver.Of <RouteListItem>() .Where(r => r.RouteList.Id == routeList.Id) .Where(r => !r.WasTransfered || (r.WasTransfered && r.NeedToReload)) .Select(r => r.Order.Id); ordersQuery.WithSubquery.WhereProperty(o => o.Id).In(routeListItemsSubQuery).Select(o => o.Id); var orderitemsQuery = uow.Session.QueryOver <OrderItem>(() => orderItemsAlias) .WithSubquery.WhereProperty(i => i.Order.Id).In(ordersQuery) .JoinAlias(() => orderItemsAlias.Nomenclature, () => OrderItemNomenclatureAlias) .JoinAlias(() => orderItemsAlias.Order, () => orderAlias) .JoinAlias(() => orderAlias.Client, () => counterpartyAlias) .Where(() => OrderItemNomenclatureAlias.Category.IsIn(Nomenclature.GetCategoriesForShipment())); return(orderitemsQuery.SelectList(list => list .Select( Projections.GroupProperty( Projections.Conditional( Restrictions.And( Restrictions.Where(() => counterpartyAlias.SpecialExpireDatePercentCheck), Restrictions.Where(() => OrderItemNomenclatureAlias.Category == NomenclatureCategory.water) ), Projections.SqlFunction( new SQLFunctionTemplate(NHibernateUtil.String, "CONCAT(?1, ' >', ?2, '% срока годности')"), NHibernateUtil.String, Projections.Property(() => OrderItemNomenclatureAlias.Name), Projections.Cast(NHibernateUtil.String, Projections.Property(() => counterpartyAlias.SpecialExpireDatePercent)) ), Projections.Property(() => OrderItemNomenclatureAlias.Name) ) ) ).WithAlias(() => resultAlias.NomenclatureName) .Select( Projections.Conditional( Restrictions.And( Restrictions.Where(() => counterpartyAlias.SpecialExpireDatePercentCheck), Restrictions.Where(() => OrderItemNomenclatureAlias.Category == NomenclatureCategory.water) ), Projections.Property(() => counterpartyAlias.SpecialExpireDatePercent), Projections.Constant(null, NHibernateUtil.Decimal) ) ).WithAlias(() => resultAlias.ExpireDatePercent) .Select(() => OrderItemNomenclatureAlias.Id).WithAlias(() => resultAlias.NomenclatureId) .SelectSum(() => orderItemsAlias.Count).WithAlias(() => resultAlias.Amount)) .TransformUsing(Transformers.AliasToBean <GoodsInRouteListResultWithSpecialRequirements>()) .List <GoodsInRouteListResultWithSpecialRequirements>()); }
public static int GetBottlesAtCouterpartyAndDeliveryPoint(IUnitOfWork uow, Counterparty counterparty, DeliveryPoint deliveryPoint, DateTime?before = null) { return(new EntityRepositories.Operations.BottlesRepository().GetBottlesAtCouterpartyAndDeliveryPoint( uow, counterparty, deliveryPoint, before )); }
public AddExistingDocumentsDlg(IUnitOfWorkGeneric <Order> uow, Counterparty client) { this.Build(); UoW = uow; counterpartydocumentsview1.Config(uow, client, true); orderselectedview1.Config(uow, client); orderselectedview1.OrderActivated += Orderselectedview1_OrderActivated; TabName = "Добавление документов"; }
public IList <VodovozOrder> GetCounterpartyOrders(IUnitOfWork UoW, Counterparty counterparty) { VodovozOrder orderAlias = null; return(UoW.Session.QueryOver(() => orderAlias) .Where(() => orderAlias.Client.Id == counterparty.Id) //.Where(() => orderAlias.OrderPaymentStatus != OrderPaymentStatus.paid) .List()); }
public static ChangedItem CompareAndChange(Counterparty oldCP, Counterparty newCP) { if (oldCP == null || newCP == null) return null; var result = new List<FieldChange>(); if (oldCP.Name != newCP.Name) { result.Add(new FieldChange("Изменено имя", oldCP.Name, newCP.Name)); oldCP.Name = newCP.Name; } if (oldCP.PersonType != newCP.PersonType) { result.Add(new FieldChange("Изменен тип", oldCP.PersonType.GetEnumTitle(), newCP.PersonType.GetEnumTitle())); oldCP.PersonType = newCP.PersonType; } if (oldCP.PaymentMethod != newCP.PaymentMethod) { result.Add(new FieldChange("Изменен метод оплаты", oldCP.PaymentMethod.GetEnumTitle(), newCP.PaymentMethod.GetEnumTitle())); oldCP.PaymentMethod = newCP.PaymentMethod; } if (oldCP.Comment != newCP.Comment) { result.Add(new FieldChange("Изменен комментарий", oldCP.Comment, newCP.Comment)); oldCP.Comment = newCP.Comment; } if (oldCP.FullName != newCP.FullName) { result.Add(new FieldChange("Изменено полное имя", oldCP.FullName, newCP.FullName)); oldCP.FullName = newCP.FullName; } if (oldCP.INN != newCP.INN) { result.Add(new FieldChange("Изменен ИНН", oldCP.INN, newCP.INN)); oldCP.INN = newCP.INN; } if (oldCP.KPP != newCP.KPP) { result.Add(new FieldChange("Изменен КПП", oldCP.KPP, newCP.KPP)); oldCP.KPP = newCP.KPP; } if (oldCP.TypeOfOwnership != newCP.TypeOfOwnership) { result.Add(new FieldChange("Изменена форма собственности", oldCP.TypeOfOwnership, newCP.TypeOfOwnership)); oldCP.TypeOfOwnership = newCP.TypeOfOwnership; } if (result.Count > 0) return new ChangedItem { Title = string.Format("Контрагент с кодом {0} и именем {1}", oldCP.Code1c, oldCP.Name), Fields = result }; else return null; }
private void btnDelete_Click(object sender, EventArgs e) { using (DBCtx db = new DBCtx()) { Counterparty counterparty = (from c in db.Counterparty where c.inn == inn && c.deleted == null select c).FirstOrDefault(); if (counterparty == null) { MessageBox.Show("Не удалось найти покупателя или поставщика, удаление невозможно", "Информация"); return; } Dictionary dict = (from _d in db.Dictionary from _e in db.Entity where _d.entity_id == _e.id && _d.term_name == attr_name && _e.name == "counterparty" select _d).FirstOrDefault(); if (dict == null) { MessageBox.Show("Не удалось найти атрибут, удаление невозможно", "Информация"); return; } CounterpartyAttrs cpa = (from _cpa in db.CounterpartyAttrs where _cpa.counterparty_id == counterparty.id && _cpa.attr_id == dict.id && _cpa.attr_value == attr_value && _cpa.deleted == null select _cpa).FirstOrDefault(); if (cpa == null) { MessageBox.Show("Ошибка получения атрибута, возможно он был удален"); return; } cpa.deleted = "Y"; Logs log = new Logs(); log.username = username; log.acttime = DateTime.Now; log.action = String.Format("Delete counterparty attrs: counterparty(name - {0}, inn - {1}, kpp - {2}), attr (name - {3} id - {4}, value - {5})", counterparty.name, counterparty.inn, counterparty.kpp, dict.term_name, cpa.attr_id, cpa.attr_value); db.Logs.Add(log); try { db.SaveChanges(); } catch (Exception) { MessageBox.Show("Произошла ошибка, атрибут покупателя или поставщика не был удален", "Информация"); return; } MessageBox.Show("Атрибут покупателя или поставщика успешно удален из системы", "Информация"); this.Close(); } }
private void UpdateNodes() { SelectedOrdersDocumentVMNode resultAlias = null; Vodovoz.Domain.Orders.Order orderAlias = null; Counterparty counterpartyAlias = null; OrderDocument orderDocumentAlias = null; DeliveryPoint deliveryPointAlias = null; var query = UoW.Session.QueryOver <OrderDocument>(() => orderDocumentAlias); Counterparty client = entryreferencevm1.GetSubject <Counterparty>(); if (client != null) { query.Where(() => counterpartyAlias.Id == client.Id); } int orderId = default(int); if (int.TryParse(yvalidatedentry1.Text, out orderId)) { //query.Where(() => orderAlias.Id == orderId); query.WhereRestrictionOn(() => orderAlias.Id).IsLike(orderId); } Documents = query .JoinAlias(() => orderDocumentAlias.Order, () => orderAlias) .JoinAlias(() => orderAlias.Client, () => counterpartyAlias) .JoinAlias(() => orderAlias.DeliveryPoint, () => deliveryPointAlias) .Where(() => orderDocumentAlias.GetType() == typeof(BillDocument) || orderDocumentAlias.GetType() == typeof(DoneWorkDocument) || orderDocumentAlias.GetType() == typeof(EquipmentTransferDocument) || orderDocumentAlias.GetType() == typeof(InvoiceBarterDocument) || orderDocumentAlias.GetType() == typeof(InvoiceDocument) || orderDocumentAlias.GetType() == typeof(InvoiceContractDoc) || orderDocumentAlias.GetType() == typeof(UPDDocument) || orderDocumentAlias.GetType() == typeof(DriverTicketDocument) || orderDocumentAlias.GetType() == typeof(Torg12Document) || orderDocumentAlias.GetType() == typeof(ShetFacturaDocument) ) .SelectList(list => list .Select(() => orderAlias.Id).WithAlias(() => resultAlias.OrderId) .Select(() => orderAlias.DeliveryDate).WithAlias(() => resultAlias.OrderDate) .Select(() => counterpartyAlias.Id).WithAlias(() => resultAlias.ClientId) .Select(() => counterpartyAlias.Name).WithAlias(() => resultAlias.ClientName) .Select(() => orderDocumentAlias.Id).WithAlias(() => resultAlias.DocumentId) .Select(() => orderDocumentAlias.GetType()).WithAlias(() => resultAlias.DocumentTypeString) .Select(() => deliveryPointAlias.CompiledAddress).WithAlias(() => resultAlias.AddressString) ).OrderBy(() => orderAlias.DeliveryDate).Desc .TransformUsing(Transformers.AliasToBean <SelectedOrdersDocumentVMNode>()) .List <SelectedOrdersDocumentVMNode>().ToList(); datatreeviewOrderDocuments.SetItemsSource(Documents); }
// Yeni kontragentin yaddaşda saxlanılması: private void Save_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrWhiteSpace(TxtCounterpartyName.Text)) { TxtCounterpartyName.BorderBrush = Brushes.Red; TxtCounterpartyName.BorderThickness = new Thickness(2); } if (string.IsNullOrWhiteSpace(TxtResponsiblePerson.Text)) { TxtResponsiblePerson.BorderBrush = Brushes.Red; TxtResponsiblePerson.BorderThickness = new Thickness(2); } if (string.IsNullOrWhiteSpace(TxtPhone.Text)) { TxtPhone.BorderBrush = Brushes.Red; TxtPhone.BorderThickness = new Thickness(2); } if (string.IsNullOrWhiteSpace(TxtAddress.Text)) { TxtAddress.BorderBrush = Brushes.Red; TxtAddress.BorderThickness = new Thickness(2); } if (string.IsNullOrWhiteSpace(TxtCounterpartyName.Text) || string.IsNullOrWhiteSpace(TxtResponsiblePerson.Text) || string.IsNullOrWhiteSpace(TxtPhone.Text) || string.IsNullOrWhiteSpace(TxtAddress.Text)) { TxtBlcAttention.Text = "Qırmızı sahələr doldurulmalıdır"; return; } if (CmbPosition.SelectedItem == null) { MessageBox.Show("Vəzifə seçin"); return; } TxtBlcAttention.Text = ""; if (db.Counterparties.Count(c => c.Phone == TxtPhone.Text) > 0) { TxtBlcAttention.Text = "Bu telefon nömrəsi artıq qeyd olunub"; TxtPhone.Focus(); return; } Counterparty counterparty = new Counterparty { Name = TxtCounterpartyName.Text, ResponsiblePerson = TxtResponsiblePerson.Text, PositionID = db.Positions.First(p => p.Name == CmbPosition.SelectedValue.ToString()).Id, Phone = TxtPhone.Text, Mobile = TxtMobile.Text, Address = TxtAddress.Text }; db.Counterparties.Add(counterparty); db.SaveChanges(); TxtBlcAttention.Text = "Yeni kontragent yaddaşa yazıldı"; }
// Kontragentin məlumat bazasından silinməsi: private void BtnDelete_Click(object sender, RoutedEventArgs e) { Counterparty counterparty = db.Counterparties.Find(selectedCounterparty.Id); db.Counterparties.Remove(counterparty); db.SaveChanges(); TxtBlcAttention.Text = "Kontragent silindi"; BtnUpdate.IsEnabled = false; crmWindow.Refresh(); }
public bool IsBottleStockExists(IUnitOfWork uow, Counterparty counterparty) { var stockBottleOrder = uow.Session.QueryOver <VodovozOrder>() .Where(x => x.IsBottleStock) .And(x => x.Client.Id == counterparty.Id) .Take(1) .SingleOrDefault(); return(stockBottleOrder != null); }
public CounterpartyContractDlg(Counterparty counterparty, PaymentType paymentType, Organization organizetion, DateTime?date) : this(counterparty, organizetion) { var contractType = DocTemplateRepository.GetContractTypeForPaymentType(counterparty.PersonType, paymentType); Entity.ContractType = contractType; if (date.HasValue) { UoWGeneric.Root.IssueDate = date.Value; } }
public static IList <Residue> GetResidueByCounterpary(IUnitOfWork UoW, Counterparty counterparty, int count = int.MaxValue) { Residue residueAlias = null; var residueQuery = UoW.Session.QueryOver <Residue>(() => residueAlias) .Where(() => residueAlias.Customer.Id == counterparty.Id) .Take(count) .List(); return(residueQuery); }
public VirtualContract(Counterparty counterparty, Organization organization, string title) { //В договор создаем виртуальный номер id, по номеру контрагента но отрицательный, чтобы не пересекалось с настоящими id договоров. //Поиск в GetReferenceId ищет по id. Id = -counterparty.Id; ContractSubNumber = 1; Counterparty = counterparty; Organization = organization; this.title = title; }
void OnCounterpartyChanged(Counterparty newCounterparty) { var usage = usageService.FindByCounterparty(newCounterparty); var pivotedUsageData = new PivotedUsageData(usage); Usage = pivotedUsageData; CounterpartyName = newCounterparty.Name; }
private void Refresh(object changedObj) { if (InfoProvider == null) { return; } _counterparty = changedObj as Counterparty; RefreshData(); }
private void btnAdd_Click(object sender, EventArgs e) { if (!fillCheck()) { MessageBox.Show("Одно или несколько полей не заполнены", "Информация"); return; } using (DBCtx db = new DBCtx()) { string inn = tbINN.Text; int attr_id = 0; int.TryParse(cbAttr.SelectedValue.ToString(), out attr_id); string val = tbVal.Text; if (attr_id == 0) { MessageBox.Show("Ошибка выбора элемента списка", "Информация"); return; } Counterparty counterparty = (from c in db.Counterparty where c.inn == inn && c.deleted == null select c).FirstOrDefault(); if (counterparty == null) { MessageBox.Show("Покупатель или поставщик не найден, возможно он был удален", "Информация"); return; } CounterpartyAttrs cpa = new CounterpartyAttrs(); cpa.attr_id = attr_id; cpa.counterparty_id = counterparty.id; cpa.attr_value = val; db.CounterpartyAttrs.Add(cpa); Logs log = new Logs(); log.username = username; log.acttime = DateTime.Now; log.action = String.Format("Add counterparty attribute: counterparty(name - {0}, inn - {1}, kpp - {2}), attribute(attr - {3}, value - {4})", counterparty.name, counterparty.inn, counterparty.kpp, cbAttr.GetItemText(cbAttr.SelectedItem), val); db.Logs.Add(log); try { db.SaveChanges(); } catch (Exception) { MessageBox.Show("Произошла ошибка, атрибут покупателя или поставщика не был создан", "Информация"); return; } MessageBox.Show("Атрибут покупателя или поставщика успешно создан в системе", "Информация"); this.Close(); } }
public ActionResult Edit([Bind(Include = "Id,IdOrest,OwneshipTypeId,Name,FullName,VATPayer,CodVATPayer,VATCertificateNumber,BankName,AccountNumber,BankMFO,EDRPO,LegalAdress,ActualAddress,PhoneNumber,ContactPerson,Comment,Discount")] Counterparty counterparty) { if (ModelState.IsValid) { db.Entry(counterparty).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Details/" + counterparty.Id)); } ViewBag.OwneshipTypeId = new SelectList(db.OwnershipTypes, "Id", "OwnershipTypeName", counterparty.OwneshipTypeId); return(View(counterparty)); }
public IList <IncomingCallsAnalysisReportNode> GetLastOrderIdAndDeliveryDateByPhone( IUnitOfWork uow, IEnumerable <string> incomingCallsNumbers) { Phone phoneAlias = null; Counterparty counterpartyAlias = null; DeliveryPoint deliveryPointAlias = null; Order orderAlias = null; IncomingCallsAnalysisReportNode resultAlias = null; var query = uow.Session.QueryOver(() => phoneAlias) .Left.JoinAlias(() => phoneAlias.Counterparty, () => counterpartyAlias) .Left.JoinAlias(() => phoneAlias.DeliveryPoint, () => deliveryPointAlias) .Where(() => counterpartyAlias.Id != null || deliveryPointAlias.Id != null) .WhereRestrictionOn(() => phoneAlias.DigitsNumber).IsInG(incomingCallsNumbers); var lastOrderIdForCounterparty = QueryOver.Of(() => orderAlias) .Where(() => orderAlias.Client.Id == counterpartyAlias.Id) .Select(o => o.Id) .OrderBy(o => o.DeliveryDate).Desc .Take(1); var lastOrderIdForDeliveryPoint = QueryOver.Of(() => orderAlias) .Where(() => orderAlias.DeliveryPoint.Id == deliveryPointAlias.Id) .Select(o => o.Id) .OrderBy(o => o.DeliveryDate).Desc .Take(1); var lastOrderDeliveryDateForCounterparty = QueryOver.Of(() => orderAlias) .Where(() => orderAlias.Client.Id == counterpartyAlias.Id) .Select(o => o.DeliveryDate) .OrderBy(o => o.DeliveryDate).Desc .Take(1); var lastOrderDeliveryDateForDeliveryPoint = QueryOver.Of(() => orderAlias) .Where(() => orderAlias.DeliveryPoint.Id == deliveryPointAlias.Id) .Select(o => o.DeliveryDate) .OrderBy(o => o.DeliveryDate).Desc .Take(1); return(query.SelectList(list => list .Select(() => phoneAlias.DigitsNumber).WithAlias(() => resultAlias.PhoneDigitsNumber) .Select(() => counterpartyAlias.Id).WithAlias(() => resultAlias.CounterpartyId) .Select(() => deliveryPointAlias.Id).WithAlias(() => resultAlias.DeliveryPointId) .Select(Projections.Conditional( Restrictions.IsNull(Projections.Property(() => counterpartyAlias.Id)), Projections.SubQuery(lastOrderIdForDeliveryPoint), Projections.SubQuery(lastOrderIdForCounterparty))).WithAlias(() => resultAlias.LastOrderId) .Select(Projections.Conditional( Restrictions.IsNull(Projections.Property(() => counterpartyAlias.Id)), Projections.SubQuery(lastOrderDeliveryDateForDeliveryPoint), Projections.SubQuery(lastOrderDeliveryDateForCounterparty))).WithAlias(() => resultAlias.LastOrderDeliveryDate)) .TransformUsing(Transformers.AliasToBean <IncomingCallsAnalysisReportNode>()) .List <IncomingCallsAnalysisReportNode>()); }
public VodovozOrder GetLatestCompleteOrderForCounterparty(IUnitOfWork UoW, Counterparty counterparty) { VodovozOrder orderAlias = null; var queryResult = UoW.Session.QueryOver(() => orderAlias) .Where(() => orderAlias.Client.Id == counterparty.Id) .Where(() => orderAlias.OrderStatus == OrderStatus.Closed) .OrderBy(() => orderAlias.Id).Desc .Take(1).List(); return(queryResult.FirstOrDefault()); }
/// <summary> /// Creates the counterparty. /// </summary> /// <param name="counterparty">The counterparty.</param> /// <returns>The <see cref="Task"/> containing the API response with <see cref="Counterparty"/>.</returns> public virtual Task <ApiResponse <Counterparty> > CreateAsync(Counterparty counterparty) { if (counterparty == null) { throw new ArgumentNullException(nameof(counterparty)); } var requestContext = PrepareRequestContext(method: Method.POST).WithBody(Serialize(counterparty)); return(CallAsync <Counterparty>(requestContext)); }
public Modify(string username, Counterparty oldCounterparty) { InitializeComponent(); this.username = username; this.oldCounterparty = oldCounterparty; tbName.Text = oldCounterparty.name; tbINN.Text = oldCounterparty.inn; tbKPP.Text = oldCounterparty.kpp; }
public override void UpdateNodes() { TransferOperationDocument transferAlias = null; Employee authorAlias = null; Employee lastEditorAlias = null; Counterparty fromCounterpartyAlias = null; Counterparty toCounterpartyAlias = null; DeliveryPoint fromDeliveryPointAlias = null; DeliveryPoint toDeliveryPointAlias = null; TransferOperationVMNode resultAlias = null; var result = new List <TransferOperationVMNode>(); var transferQuery = UoW.Session.QueryOver <TransferOperationDocument>(() => transferAlias) .JoinQueryOver(() => transferAlias.Author, () => authorAlias, NHibernate.SqlCommand.JoinType.LeftOuterJoin) .JoinQueryOver(() => transferAlias.LastEditor, () => lastEditorAlias, NHibernate.SqlCommand.JoinType.LeftOuterJoin) .JoinQueryOver(() => transferAlias.FromClient, () => fromCounterpartyAlias, NHibernate.SqlCommand.JoinType.LeftOuterJoin) .JoinQueryOver(() => transferAlias.ToClient, () => toCounterpartyAlias, NHibernate.SqlCommand.JoinType.LeftOuterJoin) .JoinQueryOver(() => transferAlias.FromDeliveryPoint, () => fromDeliveryPointAlias, NHibernate.SqlCommand.JoinType.LeftOuterJoin) .JoinQueryOver(() => transferAlias.ToDeliveryPoint, () => toDeliveryPointAlias, NHibernate.SqlCommand.JoinType.LeftOuterJoin); var transferList = transferQuery .SelectList(list => list .Select(() => transferAlias.Id).WithAlias(() => resultAlias.Id) .Select(() => transferAlias.TimeStamp).WithAlias(() => resultAlias.Date) .Select(() => transferAlias.Comment).WithAlias(() => resultAlias.Comment) .Select(() => fromCounterpartyAlias.Name).WithAlias(() => resultAlias.FromCounterparty) .Select(() => toCounterpartyAlias.Name).WithAlias(() => resultAlias.ToCounterparty) .Select(() => fromDeliveryPointAlias.ShortAddress).WithAlias(() => resultAlias.FromDeliveryPoint) .Select(() => toDeliveryPointAlias.ShortAddress).WithAlias(() => resultAlias.ToDeliveryPoint) .Select(() => authorAlias.LastName).WithAlias(() => resultAlias.AuthorSurname) .Select(() => authorAlias.Name).WithAlias(() => resultAlias.AuthorName) .Select(() => authorAlias.Patronymic).WithAlias(() => resultAlias.AuthorPatronymic) .Select(() => lastEditorAlias.LastName).WithAlias(() => resultAlias.LastEditorSurname) .Select(() => lastEditorAlias.Name).WithAlias(() => resultAlias.LastEditorName) .Select(() => lastEditorAlias.Patronymic).WithAlias(() => resultAlias.LastEditorPatronymic)) .TransformUsing(Transformers.AliasToBean <TransferOperationVMNode>()) .List <TransferOperationVMNode>(); result.AddRange(transferList); result.Sort((x, y) => { if (x.Date < y.Date) { return(1); } if (x.Date == y.Date) { return(0); } return(-1); }); SetItemsSource(result); }
public void AddOrUpdateFixedPrice(IUnitOfWork uow, Counterparty counterparty, Nomenclature nomenclature, decimal fixedPrice) { if (nomenclature.Category == NomenclatureCategory.water) { AddOrUpdateWaterFixedPrice(uow, counterparty, nomenclature, fixedPrice); } else { throw new NotSupportedException("Не поддерживается."); } }
/// <summary> /// Двойной клик по контрагенту /// </summary> private void dgCounterparties_DoubleClick(object sender, MouseButtonEventArgs e) { Counterparty counterparty = (Counterparty)dataGrid.SelectedItem; CounterpartyWindow view = new CounterpartyWindow(WindowMode.Read, counterparty); view.Owner = this; view.ShowDialog(); dataGrid.Items.Refresh(); }
public int GetReferenceId(Account account, Counterparty owner) { int id; if (!items.TryGetValue(account, out id)) { id = ++exportData.objectCounter; items.Add(account, id); Add(account, owner); } return(id); }
public void Add(Account account, Counterparty owner) { var item = new CatalogObjectNode { Id = GetReferenceId(account, owner), CatalogueType = this.Name }; item.Reference = CreateReferenceTo(account, owner); item.Properties.AddRange(GetProperties(account, owner)); exportData.Objects.Add(item); }
public void Add(Counterparty counterparty) { var cp = new EFDataLayer.Counterparty(); cp.Code = counterparty.Code; cp.Name = counterparty.Name; if (counterparty.IsValid) { counterparty.Id = counterpartyRepository.Add(cp); } }
/// <summary> /// Редактирование контрагента /// </summary> private void EditCounterparty_Execute(object sender, ExecutedRoutedEventArgs e) { Counterparty counterparty = (Counterparty)dataGrid.SelectedItem; CounterpartyWindow view = new CounterpartyWindow(WindowMode.Edit, counterparty); view.Owner = this; view.ShowDialog(); dataGrid.Items.Refresh(); }
private Task <Result> ChangeActivityStatus(Counterparty counterparty, ActivityStatus status) { var convertedStatus = ConvertToDbStatus(status); if (convertedStatus == counterparty.IsActive) { return(Task.FromResult(Result.Success())); } return(ChangeCounterpartyActivityStatus() .Tap(ChangeCounterpartyAccountsActivityStatus) .Tap(ChangeCounterpartyAgenciesActivityStatus)); async Task <Result> ChangeCounterpartyActivityStatus() { counterparty.IsActive = convertedStatus; counterparty.Updated = _dateTimeProvider.UtcNow(); _context.Update(counterparty); await _context.SaveChangesAsync(); return(Result.Success()); } async Task ChangeCounterpartyAccountsActivityStatus() { var counterpartyAccounts = await _context.CounterpartyAccounts .Where(c => c.CounterpartyId == counterparty.Id) .ToListAsync(); foreach (var account in counterpartyAccounts) { account.IsActive = convertedStatus; } _context.UpdateRange(counterpartyAccounts); await _context.SaveChangesAsync(); } async Task ChangeCounterpartyAgenciesActivityStatus() { var agencies = await _context.Agencies .Where(ag => ag.CounterpartyId == counterparty.Id && ag.IsActive != convertedStatus) .ToListAsync(); foreach (var agency in agencies) { await ChangeActivityStatus(agency, status); } } }
public CounterpartyContractDlg(Counterparty counterparty, PaymentType paymentType, Organization organizetion, DateTime?date) : this(counterparty, organizetion) { var orderOrganizationProviderFactory = new OrderOrganizationProviderFactory(); var orderOrganizationProvider = orderOrganizationProviderFactory.CreateOrderOrganizationProvider(); var counterpartyContractRepository = new CounterpartyContractRepository(orderOrganizationProvider); var contractType = counterpartyContractRepository.GetContractTypeForPaymentType(counterparty.PersonType, paymentType); Entity.ContractType = contractType; if (date.HasValue) { UoWGeneric.Root.IssueDate = date.Value; } }
public static int GetBottlesAtCounterparty(IUnitOfWork UoW, Counterparty counterparty, DateTime? before = null) { BottlesMovementOperation operationAlias = null; BottlesBalanceQueryResult result = null; var queryResult = UoW.Session.QueryOver<BottlesMovementOperation>(() => operationAlias) .Where(() => operationAlias.Counterparty.Id == counterparty.Id); if (before.HasValue) queryResult.Where(() => operationAlias.OperationTime < before); var bottles = queryResult.SelectList(list => list .SelectSum(() => operationAlias.Delivered).WithAlias(() => result.Delivered) .SelectSum(() => operationAlias.Returned).WithAlias(() => result.Returned) ).TransformUsing(Transformers.AliasToBean<BottlesBalanceQueryResult>()).List<BottlesBalanceQueryResult>() .FirstOrDefault()?.BottlesDebt ?? 0; return bottles; }
public void Refresh() { Counterparty = (InfoProvider as ICounterpartyInfoProvider)?.Counterparty; if (Counterparty == null) return; labelName.LabelProp = Counterparty.FullName; textviewComment.Buffer.Text = Counterparty.Comment; var debt = MoneyRepository.GetCounterpartyDebt(InfoProvider.UoW, Counterparty); string labelDebtFormat = "<span {0}>{1}</span>"; string backgroundDebtColor = ""; if (debt > 0) { backgroundDebtColor = "background=\"red\""; ylabelDebtInfo.LabelProp = "Долг:"; } if (debt < 0) { backgroundDebtColor = "background=\"lightgreen\""; ylabelDebtInfo.LabelProp = "Баланс:"; debt = -debt; } labelDebt.Markup = string.Format(labelDebtFormat, backgroundDebtColor, CurrencyWorks.GetShortCurrencyString(debt)); var latestOrder = OrderRepository.GetLatestCompleteOrderForCounterparty(InfoProvider.UoW, Counterparty); if (latestOrder != null) { var daysFromLastOrder = (DateTime.Today - latestOrder.DeliveryDate.Value).Days; labelLatestOrderDate.Text = String.Format( "{0} ({1} {2} назад)", latestOrder.DeliveryDate.Value.ToShortDateString(), daysFromLastOrder, RusNumber.Case(daysFromLastOrder, "день", "дня", "дней") ); } else { labelLatestOrderDate.Text = "(Выполненных заказов нет)"; } var currentOrders = OrderRepository.GetCurrentOrders(InfoProvider.UoW, Counterparty); ytreeCurrentOrders.SetItemsSource<Order>(currentOrders); vboxCurrentOrders.Visible = currentOrders.Count > 0; }
public static Counterparty CreateEntityWithTwoDetailsAndTwoMappings() { SourceSystem endur = repository.Queryable<SourceSystem>().Where(system => system.Name == "Endur").First(); SourceSystem trayport = repository.Queryable<SourceSystem>().Where(system => system.Name == "Trayport").First(); var entity = new Counterparty(); entity.Party = ObjectMother.Create<Party>(); baseDate = DateTime.Today.Subtract(new TimeSpan(72, 0, 0)); SystemTime.UtcNow = () => new DateTime(DateTime.Today.Subtract(new TimeSpan(73, 0, 0)).Ticks); AddDetailsToEntity(entity, DateTime.MinValue, baseDate); AddDetailsToEntity(entity, baseDate, DateTime.MaxValue); SystemTime.UtcNow = () => DateTime.Now; var trayportMapping = new PartyRoleMapping { MappingValue = Guid.NewGuid().ToString(), System = trayport, Validity = new DateRange(DateTime.MinValue, DateTime.MaxValue) }; var endurMapping = new PartyRoleMapping { MappingValue = Guid.NewGuid().ToString(), System = endur, IsDefault = true, Validity = new DateRange(DateTime.MinValue, DateTime.MaxValue) }; entity.ProcessMapping(trayportMapping); entity.ProcessMapping(endurMapping); repository.Add(entity); repository.Flush(); return entity; }
public void ValidContractIsSaved() { // Arrange var validatorFactory = new Mock<IValidatorEngine>(); var mappingEngine = new Mock<IMappingEngine>(); var repository = new Mock<IRepository>(); var searchCache = new Mock<ISearchCache>(); var service = new CounterpartyService(validatorFactory.Object, mappingEngine.Object, repository.Object, searchCache.Object); var counterparty = new Counterparty(); var contract = new EnergyTrading.MDM.Contracts.Sample.Counterparty(); validatorFactory.Setup(x => x.IsValid(It.IsAny<EnergyTrading.MDM.Contracts.Sample.Counterparty>(), It.IsAny<IList<IRule>>())).Returns(true); mappingEngine.Setup(x => x.Map<EnergyTrading.MDM.Contracts.Sample.Counterparty, Counterparty>(contract)).Returns(counterparty); // Act var expected = service.Create(contract); // Assert Assert.AreSame(expected, counterparty, "Counterparty differs"); repository.Verify(x => x.Add(counterparty)); repository.Verify(x => x.Flush()); }
public static IUnitOfWorkGeneric<DeliveryPoint> CreateUowForNew(Counterparty counterparty) { var uow = UnitOfWorkFactory.CreateWithNewRoot<DeliveryPoint> (); uow.Root.Counterparty = counterparty; return uow; }
public static IList<Equipment> GetEquipmentForClient(IUnitOfWork uow, Counterparty counterparty) { return GetEquipmentAtDeliveryPointQuery(counterparty, null) .GetExecutableQueryOver(uow.Session) .List(); }
public static QueryOver<Equipment> GetEquipmentAtDeliveryPointQuery(Counterparty client, DeliveryPoint deliveryPoint) { Equipment equipmentAlias=null; CounterpartyMovementOperation operationAlias = null; CounterpartyMovementOperation subsequentOperationAlias = null; var subsequentOperationsSubquery = QueryOver.Of<CounterpartyMovementOperation> (() => subsequentOperationAlias) .Where (() => operationAlias.Id < subsequentOperationAlias.Id && operationAlias.Equipment == subsequentOperationAlias.Equipment) .Select (op=>op.Id); var availableEquipmentIDsSubquery = QueryOver.Of<CounterpartyMovementOperation>(() => operationAlias) .WithSubquery.WhereNotExists(subsequentOperationsSubquery) .Where (() => operationAlias.IncomingCounterparty.Id == client.Id); if (deliveryPoint != null) availableEquipmentIDsSubquery .Where(() => operationAlias.IncomingDeliveryPoint.Id == deliveryPoint.Id); availableEquipmentIDsSubquery .Select(op=>op.Equipment.Id); return QueryOver.Of<Equipment> (() => equipmentAlias).WithSubquery.WhereProperty (() => equipmentAlias.Id).In (availableEquipmentIDsSubquery); }
private static void CreateSearchData(Search search, Counterparty entity1, Counterparty entity2) { search.AddSearchCriteria(SearchCombinator.Or) .AddCriteria("Name", SearchCondition.Equals, entity1.LatestDetails.Name) .AddCriteria("Name", SearchCondition.Equals, entity2.LatestDetails.Name); }
private static void AddDetailsToEntity(Counterparty entity, DateTime startDate, DateTime endDate) { var newEntity = ObjectMother.Create<Counterparty>(); entity.PartyRoleType = newEntity.PartyRoleType; entity.AddDetails(new CounterpartyDetails() { Name = newEntity.Details[0].Name, Phone = ((CounterpartyDetails)newEntity.Details[0]).Phone, Fax = ((CounterpartyDetails)newEntity.Details[0]).Fax, ShortName = ((CounterpartyDetails)newEntity.Details[0]).ShortName, }); }
public static void CreateSearch(Search search, Counterparty entity1, Counterparty entity2) { CreateSearchData(search, entity1, entity2); }
public virtual void CreateOperation(Counterparty counterpartySrc, DeliveryPoint pointSrc, Counterparty counterpartyDst, DeliveryPoint pointDst, DateTime time) { WarehouseMovementOperation = null; CounterpartyMovementOperation = new CounterpartyMovementOperation { IncomingCounterparty = counterpartyDst, IncomingDeliveryPoint = pointDst, WriteoffCounterparty = counterpartySrc, WriteoffDeliveryPoint = pointSrc, Amount = Amount, OperationTime = time, Nomenclature = Nomenclature, Equipment = Equipment }; }
public static DeliveryPoint Create(Counterparty counterparty) { var point = new DeliveryPoint (); point.Counterparty = counterparty; counterparty.DeliveryPoints.Add(point); return point; }