public void SaveCreditTransaction(ICreditTransaction document) { try { using (var context = IoC.Resolve <IAimpContext>()) { if (document.Id == 0) { document.UserId = CurrentUserProvider.User.Id; } else { ICreditTransaction dbTransaction = null; if (document.Id != 0) { dbTransaction = context.CreditTransactions.Get(document.Id, x => x.DkpDocument, x => x.AgentDocument); } UserFileCheck.AddOrUpdate(context, document, document.DkpDocument, dbTransaction?.DkpDocument); UserFileCheck.AddOrUpdate(context, document, document.AgentDocument, dbTransaction?.AgentDocument); } context.CreditTransactions.AddOrUpdate(document); context.SaveChanges(); } } catch (Exception ex) { LoggerProvider.Logger.Log(ex); throw; } }
public string GetUserName(ICreditTransaction trn) { var user = Users.FirstOrDefault(x => x.UserId == trn.UserId); if (user == null) { return(string.Empty); } return($"{user.FirstName} {user.LastName} [{user.UserName}]"); }
public CreditTransactionViewModel(ICreditTransaction creditTransaction, IEnumerable <PrintItem> printedList, IEnumerable <ICreditor> creditors, IEnumerable <IRequisit> requisits) { IsProxy = creditTransaction.Owner != null; PrintedList = new ObservableCollection <PrintItem>(printedList); creditTransaction.Creditor = creditors.FirstOrDefault(x => x.Id == creditTransaction.Creditor?.Id); creditTransaction.Requisit = requisits.FirstOrDefault(x => x.Id == creditTransaction.Requisit?.Id); Creditors = new ObservableCollection <ICreditor>(creditors); Requisits = new ObservableCollection <IRequisit>(requisits); CreditTransaction = creditTransaction; _transaction = TinyMapper.Map <ICreditTransaction>(CreditTransaction); }
public bool?IsCredit(ICreditTransaction trn) { var location = Locations.First(l => l.LocationId == trn.LocationId); if (location.IsCredeitReversed) { return(trn.BallanceUnits > 0); } else { return(trn.BallanceUnits < 0); } }
public static void CopyTo(this ICreditTransaction from, ICreditTransaction to, bool allowDefaultValues = true) { (from as IHasCreditTransactionId).CopyTo(to, allowDefaultValues); (from as IHasProductId).CopyTo(to, allowDefaultValues); (from as IHasLocationId).CopyTo(to, allowDefaultValues); (from as IHasUserId).CopyTo(to, allowDefaultValues); (from as IHasDescription).CopyTo(to, allowDefaultValues); (from as IHasBallanceUnits).CopyTo(to, allowDefaultValues); if (allowDefaultValues || (from.TransactionTime != null && from.TransactionTime != DateTime.MinValue)) { to.TransactionTime = from.TransactionTime; } }
public void DeleteCreditTransaction(ICreditTransaction document) { try { using (var context = IoC.Resolve <IAimpContext>()) { context.CreditTransactions.Delete(document.Id); context.SaveChanges(); } } catch (Exception ex) { LoggerProvider.Logger.Log(ex); throw; } }
internal DB.ProfileCredit ReplaceCreditTransaction(DB.MembershipCashierEntitiesDataContext Db, DB.CreditTransaction prevCt, ICreditTransaction newCt) { var pc = Db.ProfileCredits.First(x => x.LocationId == prevCt.LocationId && x.ProductId == prevCt.ProductId && x.UserId == prevCt.UserId); var adjustmentUnits = newCt.BallanceUnits - prevCt.BallanceUnits; var oldPrice = FindProductPriceAtPointInTime(Db, prevCt.ProductId, prevCt.TransactionTime); var newPrice = FindProductPriceAtPointInTime(Db, prevCt.ProductId, prevCt.TransactionTime); var priceDiff = newPrice.Price - oldPrice.Price; if (adjustmentUnits != 0 || priceDiff != decimal.Zero) { if (adjustmentUnits == 0) //only price changed { if (pc.Location.IsCredeitReversed) { pc.Ballance = pc.Ballance + (prevCt.BallanceUnits * oldPrice.Price) - (newCt.BallanceUnits * newPrice.Price); } else { pc.Ballance = pc.Ballance - (prevCt.BallanceUnits * oldPrice.Price) + (newCt.BallanceUnits * newPrice.Price); } } else if (priceDiff == decimal.Zero) //price stayed the same { pc.BallanceUnits += adjustmentUnits; if (pc.Location.IsCredeitReversed) { pc.Ballance = pc.Ballance - (adjustmentUnits * oldPrice.Price); } else { pc.Ballance = pc.Ballance + (adjustmentUnits * oldPrice.Price); } } else //both price and amount changed { pc.BallanceUnits += adjustmentUnits; if (pc.Location.IsCredeitReversed) { pc.Ballance = pc.Ballance + (prevCt.BallanceUnits * oldPrice.Price) - (newCt.BallanceUnits * newPrice.Price); } else { pc.Ballance = pc.Ballance - (prevCt.BallanceUnits * oldPrice.Price) + (newCt.BallanceUnits * newPrice.Price); } } } return(pc); }
public IProduct GetProduct(ICreditTransaction trn) { return(Products.FirstOrDefault(x => x.ProductId == trn.ProductId)); }
public AktTransactionPrintedDocumentTemplate(ICreditTransaction transaction, byte[] templateFile) { TemplateFile = templateFile; _labelValues = new Dictionary <string, string>(); _labelValues.Add("банк_кредитор", transaction.Creditor.Name); _labelValues.Add("пропись_итого_комиссия", MoneyToText.Convert(((transaction.CreditSumm - (transaction.RealPrice - transaction.DownPaymentCashbox)) - transaction.ReportInsurance - transaction.Rollback + transaction.CommissionCashbox))); _labelValues.Add("итого_комиссия", ((transaction.CreditSumm - (transaction.RealPrice - transaction.DownPaymentCashbox)) - transaction.ReportInsurance - transaction.Rollback + transaction.CommissionCashbox).ToString()); _labelValues.Add("остаток_в_сумме", (transaction.CreditSumm - (transaction.RealPrice - transaction.DownPaymentCashbox)).ToString()); _labelValues.Add("пропись_остаток_в_сумме", MoneyToText.Convert(transaction.CreditSumm - (transaction.RealPrice - transaction.DownPaymentCashbox))); _labelValues.Add("к_выдаче_продавцу", (transaction.RealPrice - transaction.DownPaymentCashbox).ToString()); _labelValues.Add("пропись_к_выдаче_продавцу", MoneyToText.Convert(transaction.RealPrice - transaction.DownPaymentCashbox)); _labelValues.Add("пропись_комиссия_касса", MoneyToText.Convert(transaction.CommissionCashbox)); _labelValues.Add("пропись_сумма_кредит", MoneyToText.Convert(transaction.CreditSumm)); _labelValues.Add("пропись_первый_взнос", MoneyToText.Convert(transaction.DownPayment)); _labelValues.Add("пропись_стоимость_банк", MoneyToText.Convert(transaction.PriceBank)); _labelValues.Add("реквизит", transaction.Requisit.Name); _labelValues.Add("бик_реквизит", transaction.Requisit.Bik); _labelValues.Add("рс_реквизит", transaction.Requisit.Ros_schet); _labelValues.Add("кс_реквизит", transaction.Requisit.Kor_schet); _labelValues.Add("в_банке_реквизит", transaction.Requisit.InBank); _labelValues.Add("месяц_доверенность", transaction.DateProxy?.Month.ToString()); _labelValues.Add("месяц_ад", transaction.DateAgent?.Month.ToString()); _labelValues.Add("месяц", transaction.Date.Month.ToString()); _labelValues.Add("имя_мен", transaction.User.FirstName); _labelValues.Add("фамилия_мен", transaction.User.LastName); _labelValues.Add("отчество_мен", transaction.User.MiddleName); _labelValues.Add("имя_р__мен", transaction.User.FirstNameGenitive); _labelValues.Add("фамилия_р_мен", transaction.User.LastNameGenitive); _labelValues.Add("отчество_р__мен", transaction.User.MiddleNameGenitive); _labelValues.Add("номер_мен", transaction.User.Number); _labelValues.Add("дата_мен", transaction.User.Date.ToString("dd.MM.yyyy")); _labelValues.Add("номер", transaction.Number.ToString()); _labelValues.Add("дата_да", transaction.DateAgent?.ToString("dd.MM.yyyy")); _labelValues.Add("дата", transaction.Date.ToString("dd.MM.yyyy")); _labelValues.Add("дата_доверенность", transaction.DateProxy?.ToString("dd.MM.yyyy")); _labelValues.Add("номер_доверенность", transaction.NumberProxy); _labelValues.Add("номер_реестр", transaction.NumberRegistry); _labelValues.Add("стоимость", transaction.Price.ToString()); _labelValues.Add("пропись", MoneyToText.Convert(transaction.Price)); _labelValues.Add("стоимость_банк", transaction.PriceBank.ToString()); _labelValues.Add("первый_взнос", transaction.DownPayment.ToString()); _labelValues.Add("сумма_кредит", transaction.CreditSumm.ToString()); _labelValues.Add("стоимость_реальная", transaction.RealPrice.ToString()); _labelValues.Add("первый_взнос_касса", transaction.DownPaymentCashbox.ToString()); _labelValues.Add("отчёт_по_страховым", transaction.ReportInsurance.ToString()); _labelValues.Add("откат", transaction.Rollback.ToString()); _labelValues.Add("источник", transaction.Source); _labelValues.Add("комиссия_Касса", transaction.CommissionCashbox.ToString()); if (transaction.Seller != null) { _labelValues.Add("п_фио", ReportHelper.GetFullName(transaction.Seller)); _labelValues.Add("п_фио_сокр", ReportHelper.GetShortName(transaction.Seller)); _labelValues.Add("п_контрагент_и", ReportHelper.GetContractorName(transaction.Seller)); _labelValues.Add("п_контрагент_р", ReportHelper.GetContractorNameGenitive(transaction.Seller)); _labelValues.Add("п_подпись", ReportHelper.GetContractorSignature(transaction.Seller)); } else { _labelValues.Add("п_фио", null); _labelValues.Add("п_фио_сокр", null); _labelValues.Add("п_контрагент_и", null); _labelValues.Add("п_контрагент_р", null); _labelValues.Add("п_подпись", null); } if (transaction.Buyer != null) { _labelValues.Add("по_фио", transaction.Buyer.GetFullName()); _labelValues.Add("по_фио_сокр", ReportHelper.GetShortName(transaction.Buyer)); _labelValues.Add("по_контрагент_и", ReportHelper.GetContractorName(transaction.Buyer)); _labelValues.Add("по_контрагент_р", ReportHelper.GetContractorNameGenitive(transaction.Buyer)); _labelValues.Add("по_подпись", ReportHelper.GetContractorSignature(transaction.Buyer)); } else { _labelValues.Add("по_фио", null); _labelValues.Add("по_фио_сокр", null); _labelValues.Add("по_контрагент_и", null); _labelValues.Add("по_контрагент_р", null); _labelValues.Add("по_подпись", null); } if (transaction.Owner != null) { _labelValues.Add("соб_фио", ReportHelper.GetFullName(transaction.Owner)); _labelValues.Add("соб_фио_сокр", ReportHelper.GetShortName(transaction.Owner)); _labelValues.Add("соб_контрагент_и", ReportHelper.GetContractorName(transaction.Owner)); _labelValues.Add("соб_контрагент_р", ReportHelper.GetContractorNameGenitive(transaction.Owner)); _labelValues.Add("соб_подпись", ReportHelper.GetContractorSignature(transaction.Owner)); } else { _labelValues.Add("соб_фио", null); _labelValues.Add("соб_фио_сокр", null); _labelValues.Add("соб_контрагент_и", null); _labelValues.Add("соб_контрагент_р", null); _labelValues.Add("соб_подпись", null); } _labelValues.Add("вид_тс", transaction.Trancport.Type.Name); _labelValues.Add("год_тс", transaction.Trancport.Year.ToString()); _labelValues.Add("вин", transaction.Trancport.Vin); _labelValues.Add("гос_номер_тс", transaction.Trancport.Number); _labelValues.Add("дата_птс", transaction.Trancport.DatePts?.ToString("dd.MM.yyyy")); _labelValues.Add("дата_cтс", transaction.Trancport.DateSts?.ToString("dd.MM.yyyy")); _labelValues.Add("изготовитель_тс", transaction.Trancport.Maker); _labelValues.Add("категория_тc", transaction.Trancport.Category.Name); _labelValues.Add("кем_птс", transaction.Trancport.ByPts); _labelValues.Add("кем_стс", transaction.Trancport.BySts); _labelValues.Add("кузов", transaction.Trancport.BodyNumber); _labelValues.Add("макс_масса", transaction.Trancport.MaxMass); _labelValues.Add("марка_двиг", transaction.Trancport.EngineMake); _labelValues.Add("марка_тс", transaction.Trancport.Make.Name); _labelValues.Add("модель_тс", transaction.Trancport.Model.Name); _labelValues.Add("масса", transaction.Trancport.Mass); _labelValues.Add("мощность", transaction.Trancport.Strong); _labelValues.Add("номер_птс", transaction.Trancport.NumberPts); _labelValues.Add("номер_стс", transaction.Trancport.NumberSts); _labelValues.Add("объем", transaction.Trancport.Volume); _labelValues.Add("па", transaction.Trancport.Pa); _labelValues.Add("серия_птс", transaction.Trancport.SerialPts); _labelValues.Add("серия_стс", transaction.Trancport.SerialSts); _labelValues.Add("типы_двигателей_тс", transaction.Trancport.EngineType.Name); _labelValues.Add("цвет", transaction.Trancport.Color); _labelValues.Add("шасси", transaction.Trancport.ChassisNumber); }
public SaveEntityResult SaveCreditTransaction(ICreditTransaction document) { throw new NotImplementedException(); }
public void DeleteCreditTransaction(ICreditTransaction document) { throw new NotImplementedException(); }