public override bool Save() { if (!Entity.HasFixedPrice && Entity.FixedPrices.Count > 0) { foreach (var v in Entity.FixedPrices.ToList()) { Entity.FixedPrices.Remove(v); UoW.Delete(v); } } var valid = new QSValidator <WaterSalesAgreement>(UoWGeneric.Root); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } logger.Info("Сохраняем доп. соглашение..."); UoWGeneric.Save(); logger.Info("Ok"); if (AgreementSaved != null) { AgreementSaved(this, new AgreementSavedEventArgs(UoWGeneric.Root)); } return(true); }
public override bool Save() { logger.Info("Сохраняем тег контрагента..."); UoWGeneric.Save(); logger.Info("Ok"); return(true); }
public override bool Save() { Employee author; if (!GetAuthor(out author)) { return(false); } if (Entity.Author == null) { Entity.Author = author; } var valid = new QS.Validation.QSValidator <Fine> (UoWGeneric.Root); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } Entity.UpdateWageOperations(UoW); Entity.UpdateFuelOperations(UoW); logger.Info("Сохраняем штраф..."); UoWGeneric.Save(); logger.Info("Ok."); return(true); }
public override bool Save() { logger.Info("Запись документа..."); var valid = new QSValidator <Income> (UoWGeneric.Root); if (valid.RunDlgIfNotValid((Gtk.Window)Toplevel)) { return(false); } var ask = new GtkQuestionDialogsInteractive(); Entity.UpdateOperations(UoW, ask); if (Entity.Id == 0) { Entity.CreationDate = DateTime.Now; } UoWGeneric.Save(); if (Entity.Operation == IncomeOperations.Return) { logger.Debug("Обновляем записи о выданной одежде в карточке сотрудника..."); Entity.UpdateEmployeeWearItems(); UoWGeneric.Commit(); } logger.Info("Ok"); return(true); }
public override bool Save() { var validationContext = new Dictionary <object, object> { { "IsSelfDelivery", true } }; var valid = new QSValidator <Expense>(UoWGeneric.Root, validationContext); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } Entity.AcceptSelfDeliveryPaid(CallTaskWorker); if (UoW.IsNew) { logger.Info("Создаем документ распределения налички по юр лицу..."); selfDeliveryCashOrganisationDistributor.DistributeExpenseCash(UoW, Entity.Order, Entity); } else { logger.Info("Меняем документ распределения налички по юр лицу..."); selfDeliveryCashOrganisationDistributor.UpdateRecords(UoW, Entity.Order, Entity, _employeeRepository.GetEmployeeForCurrentUser(UoW)); } logger.Info("Сохраняем расходный ордер..."); UoWGeneric.Save(); logger.Info("Ok"); return(true); }
public override bool Save() { var validationContext = new Dictionary <object, object> { { nameof(IRouteListItemRepository), new RouteListItemRepository() } }; var valid = new QSValidator <RouteList>(Entity, validationContext); if (valid.RunDlgIfNotValid((Window)this.Toplevel)) { return(false); } if (Entity.Status > RouteListStatus.OnClosing) { if (Entity.FuelOperationHaveDiscrepancy()) { if (!MessageDialogHelper.RunQuestionDialog("Был изменен водитель или автомобиль, при сохранении МЛ баланс по топливу изменится с учетом этих изменений. Продолжить сохранение?")) { return(false); } } Entity.UpdateFuelOperation(); } if (Entity.Status == RouteListStatus.Delivered) { ChangeStatusAndCreateTaskFromDelivered(); } Entity.CalculateWages(_wageParameterService); UoWGeneric.Save(); return(true); }
protected void OnButtonCloseRouteListClicked(object sender, EventArgs e) { var valid = new QSValidator <RouteList>(Entity, new Dictionary <object, object> { { "NewStatus", RouteListStatus.Closed } }); if (valid.RunDlgIfNotValid((Window)this.Toplevel)) { return; } if (Entity.ConfirmedDistance < Entity.ActualDistance && !Entity.Car.IsCompanyHavings) { decimal excessKM = Entity.ActualDistance - Entity.ConfirmedDistance; decimal redundantPayForFuel = Entity.GetLitersOutlayed(excessKM) * Entity.Car.FuelType.Cost; string fineReason = "Перевыплата топлива"; var fine = new Fine(); fine.Fill(redundantPayForFuel, Entity, fineReason, DateTime.Today, Entity.Driver); fine.Author = EmployeeRepository.GetEmployeeForCurrentUser(UoW); fine.UpdateWageOperations(UoWGeneric); UoWGeneric.Save(fine); } else { Entity.RecalculateFuelOutlay(); } yspinConfirmedDistance.Sensitive = false; buttonConfirm.Sensitive = false; buttonCloseRouteList.Sensitive = false; Entity.ConfirmMileage(UoWGeneric); }
public override bool Save() { if (Entity.TypeOperation == IncomeType.Return && UoW.IsNew && selectableAdvances != null) { Entity.PrepareCloseAdvance(selectableAdvances.Where(x => x.Selected).Select(x => x.Value).ToList()); } var valid = new QSValidator <Income> (UoWGeneric.Root); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } logger.Info("Сохраняем Приходный ордер..."); if (Entity.TypeOperation == IncomeType.Return && UoW.IsNew) { logger.Info("Закрываем авансы..."); Entity.CloseAdvances(UoW); } if (UoW.IsNew) { DistributeCash(); } else { UpdateCashDistributionsDocuments(); } UoWGeneric.Save(); logger.Info("Ok"); return(true); }
public override bool Save() { var valid = new QSValidator <Trainee>(Entity); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } phonesView.RemoveEmpty(); logger.Info("Сохраняем стажера..."); try { UoWGeneric.Save(); if (Entity.Id != 0) { attachmentFiles.ItemId = Entity.Id; } attachmentFiles.SaveChanges(); } catch (Exception ex) { logger.Error(ex, "Не удалось записать стажера."); QSProjectsLib.QSMain.ErrorMessage((Gtk.Window) this.Toplevel, ex); return(false); } logger.Info("Ok"); return(true); }
public override bool Save() { if (!Entity.CanEdit) { return(false); } var valid = new QS.Validation.QSValidator <RegradingOfGoodsDocument> (UoWGeneric.Root); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } Entity.LastEditor = _employeeRepository.GetEmployeeForCurrentUser(UoW); Entity.LastEditedTime = DateTime.Now; if (Entity.LastEditor == null) { MessageDialogHelper.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете изменять складские документы, так как некого указывать в качестве кладовщика."); return(false); } logger.Info("Сохраняем документ пересортицы..."); UoWGeneric.Save(); logger.Info("Ok."); return(true); }
public override bool Save() { var messages = new List <string>(); var valid = new QSValidator <TransferOperationDocument>(UoWGeneric.Root); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } Entity.LastEditor = _employeeRepository.GetEmployeeForCurrentUser(UoW); if (Entity.LastEditor == null) { MessageDialogHelper.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете изменять складские документы, так как некого указывать в качестве кладовщика."); return(false); } if (spinBottles.Value == 0f && spinDepositsBottles.Value == 0f && spinDepositsEquipment.Value == 0f) { MessageDialogHelper.RunErrorDialog("Вы ничего не указали для перемещения."); return(false); } messages.AddRange(Entity.SaveOperations(UoWGeneric, (int)spinBottles.Value, (decimal)spinDepositsBottles.Value, (decimal)spinDepositsEquipment.Value)); logger.Info("Сохраняем документ переноса..."); UoWGeneric.Save(); logger.Info("Ok."); return(true); }
protected void OnBtnAddNomenclatureClicked(object sender, System.EventArgs e) { var nomenclatureFilter = new NomenclatureRepFilter(UoWGeneric); nomenclatureFilter.SetAndRefilterAtOnce( x => x.AvailableCategories = Nomenclature.GetCategoriesForSaleToOrder(), x => x.DefaultSelectedCategory = NomenclatureCategory.water, x => x.DefaultSelectedSaleCategory = SaleCategory.forSale ); PermissionControlledRepresentationJournal SelectDialog = new PermissionControlledRepresentationJournal(new NomenclatureForSaleVM(nomenclatureFilter)) { Mode = JournalSelectMode.Multiple, ShowFilter = true }; SelectDialog.CustomTabName("Номенклатура на продажу"); SelectDialog.ObjectSelected += (s, ea) => { var selectedNodes = ea.GetNodes <NomenclatureForSaleVMNode>(); if (!selectedNodes.Any()) { return; } foreach (var node in selectedNodes) { Nomenclature n = UoWGeneric.GetById <Nomenclature>(node.Id); if (n != null && !Entity.ObservableNomenclatures.Any(x => x == n)) { Entity.ObservableNomenclatures.Add(n); } } }; TabParent.AddSlaveTab(this, SelectDialog); }
public override bool Save () { if(!Entity.CanEdit) return false; if(CheckWarehouseItems() == false){ MessageDialogHelper.RunErrorDialog("На складе не хватает материалов"); return false; } var valid = new QSValidator<IncomingWater> (UoWGeneric.Root); if (valid.RunDlgIfNotValid ((Gtk.Window)this.Toplevel)) return false; Entity.LastEditor = EmployeeSingletonRepository.GetInstance().GetEmployeeForCurrentUser (UoW); Entity.LastEditedTime = DateTime.Now; if(Entity.LastEditor == null) { MessageDialogHelper.RunErrorDialog ("Ваш пользователь не привязан к действующему сотруднику, вы не можете изменять складские документы, так как некого указывать в качестве кладовщика."); return false; } logger.Info ("Сохраняем документ производства..."); UoWGeneric.Save (); logger.Info ("Ok."); return true; }
public override bool Save() { var valid = new QSValidator <Car>(UoWGeneric.Root); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } logger.Info("Сохраняем автомобиль..."); try { UoWGeneric.Save(); if (UoWGeneric.IsNew) { attachmentFiles.ItemId = UoWGeneric.Root.Id; } attachmentFiles.SaveChanges(); } catch (Exception ex) { logger.Error(ex, "Не удалось записать Автомобиль."); QSProjectsLib.QSMain.ErrorMessage((Gtk.Window) this.Toplevel, ex); return(false); } logger.Info("Ok"); return(true); }
public override bool Save() { bool hasDuplicate = CheckDuplicate(); bool userAnswer = true; if (hasDuplicate) { userAnswer = MessageDialogWorks.RunQuestionDialog( "Контрагент с данным ИНН уже существует. Сохранить?"); } if (userAnswer) { Entity.UoW = UoW; var valid = new QSValidator <Counterparty>(UoWGeneric.Root); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } logger.Info("Сохраняем контрагента..."); phonesView.SaveChanges(); emailsView.SaveChanges(); UoWGeneric.Save(); logger.Info("Ok."); return(true); } return(false); }
public override bool Save() { try { SetSensetivity(false); Entity.CalculateWages(wageParameterService); UoWGeneric.Save(); var changedList = items.Where(item => item.ChangedDeliverySchedule || item.HasChanged).ToList(); if (changedList.Count == 0) { return(true); } var currentEmployee = _employeeRepository.GetEmployeeForCurrentUser(UoWGeneric); if (currentEmployee == null) { MessageDialogHelper.RunInfoDialog("Ваш пользователь не привязан к сотруднику, уведомления об изменениях в маршрутном листе не будут отправлены водителю."); return(true); } return(true); } finally { SetSensetivity(true); } }
public override bool Save() { var valid = new QSValidator <Expense> (UoWGeneric.Root); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } Entity.UpdateWagesOperations(UoW); if (UoW.IsNew) { DistributeCash(); } else { UpdateCashDistributionsDocuments(); } logger.Info("Сохраняем расходный ордер..."); UoWGeneric.Save(); logger.Info("Ok"); return(true); }
public override bool Save() { if (!UpdateReceivedItemsOnEntity()) { return(false); } var valid = new QSValidation.QSValidator <CarUnloadDocument>(UoWGeneric.Root); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } Entity.LastEditor = Repository.EmployeeRepository.GetEmployeeForCurrentUser(UoW); Entity.LastEditedTime = DateTime.Now; if (Entity.LastEditor == null) { MessageDialogWorks.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете изменять складские документы, так как некого указывать в качестве кладовщика."); return(false); } logger.Info("Сохраняем разгрузочный талон..."); UoWGeneric.Save(); logger.Info("Ok."); return(true); }
public override bool Save() { if (!Entity.CanEdit) { return(false); } Entity.UpdateAlreadyLoaded(UoW, _routeListRepository); var valid = new QS.Validation.QSValidator <CarLoadDocument> (UoWGeneric.Root); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } Entity.LastEditor = _employeeRepository.GetEmployeeForCurrentUser(UoW); Entity.LastEditedTime = DateTime.Now; if (Entity.LastEditor == null) { MessageDialogHelper.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете изменять складские документы, так как некого указывать в качестве кладовщика."); return(false); } if (Entity.Items.Any(x => x.Amount == 0)) { var res = MessageDialogHelper.RunQuestionYesNoCancelDialog( "<span foreground=\"red\">В списке есть нулевые позиции. Убрать нулевые позиции перед сохранением?</span>"); switch (res) { case -4: //DeleteEvent case -6: //Cancel return(false); case -8: //Yes Entity.ClearItemsFromZero(); break; case -9: //No break; } } Entity.UpdateOperations(UoW); logger.Info("Сохраняем погрузочный талон..."); UoWGeneric.Save(); logger.Info("Меняем статус маршрутного листа..."); if (Entity.RouteList.ShipIfCan(UoW, CallTaskWorker, out _)) { MessageDialogHelper.RunInfoDialog("Маршрутный лист отгружен полностью."); } UoW.Save(Entity.RouteList); UoW.Commit(); logger.Info("Ok."); return(true); }
public override void Destroy() { if (UoWGeneric != null) { UoWGeneric.Dispose(); } base.Destroy(); }
public override bool Save () { var valid = new QS.Validation.QSValidator<EquipmentType> (UoWGeneric.Root); if (valid.RunDlgIfNotValid ((Gtk.Window)this.Toplevel)) return false; logger.Info ("Сохраняем тип оборудования..."); UoWGeneric.Save (); return true; }
public override bool Save() { if (!ServicesConfig.ValidationService.Validate(Entity, _validationContext)) { return(false); } logger.Info("Сохраняем правило для цены доставки..."); UoWGeneric.Save(); return(true); }
public override bool Save() { var valid = new QSValidator <Certificate>(UoWGeneric.Root); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } UoWGeneric.Save(); return(true); }
public override bool Save() { var valid = new QSValidator <ClientCameFrom>(Entity); if (valid.RunDlgIfNotValid((Window)this.Toplevel)) { return(false); } UoWGeneric.Save(); return(true); }
public override bool Save() { if (!ServicesConfig.ValidationService.Validate(Entity, _validationContext)) { return(false); } logger.Info("Сохраняем пакет бесплатной аренды..."); UoWGeneric.Save(); return(true); }
public override bool Save() { var valid = new QSValidator <CounterpartyActivityKind>(Entity); if (valid.RunDlgIfNotValid((Window)this.Toplevel)) { return(false); } UoWGeneric.Save(); return(true); }
void CreateOrder() { var employee = _employeeRepository.GetEmployeeForCurrentUser(UoWGeneric); var order = Order.CreateFromServiceClaim(Entity, employee); UoWGeneric.Save(order); UoWGeneric.Commit(); var orderDlg = new OrderDlg(order); TabParent.AddTab(orderDlg, this); }
public override bool Save() { var valid = new QSValidator <DeliveryPointCategory>(Entity); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } UoWGeneric.Save(); return(true); }
public override bool Save() { Entity.Author = EmployeeRepository.GetEmployeeForCurrentUser(UoW); if (Entity.Author == null) { MessageDialogHelper.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете создавать , так как некого указывать в качестве автора документа."); FailInitialize = true; } UoWGeneric.Save(); return(true); }
public override bool Save() { var valid = new QSValidator <FreeRentPackage> (UoWGeneric.Root); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } logger.Info("Сохраняем пакет бесплатной аренды..."); UoWGeneric.Save(); return(true); }