public static void Sum(Bookkeeping obj) { int sum = 0; Console.Write($"Введите название товара для подсчёты суммарной стоимости данных продуктов: "); string name = Console.ReadLine(); foreach (var items in obj._list) { if (items.name == name) { sum += items.cost; } } Console.WriteLine($"Суммарная стоимость продуктов: {sum}\n"); }
public static double SumPrice(Bookkeeping bookkeepingArr, string name) { double sum = 0; Document[] array = (Document[])bookkeepingArr.Get(); for (int i = 0; i < array.Length; i++) { if (array[i] is Invoice) { if (array[i].NameOfOrganization == name) { sum += array[i].Price; } } } return(sum); }
public ActionResult Delete(int id, Bookkeeping bookkeeping) { try { if (ModelState.IsValid) { context.Bookkeepings.Remove(context.Bookkeepings.Find(id)); context.SaveChanges(); return(RedirectToAction("Index")); } return(View(bookkeeping)); } catch { return(View()); } }
public ActionResult Create(Bookkeeping bookkeeping) { try { if (ModelState.IsValid) { context.Bookkeepings.Add(bookkeeping); context.SaveChanges(); return(RedirectToAction("Index")); } return(View(bookkeeping)); } catch { return(View()); } }
public ServiceResult <string> CreateBookkeeping(DateTime time, string voucherTypeId, string voucherNum, string abst, decimal amount, int direction, string remark, string createrId) { try { decimal balance = ERPDao.GetLastBalance(); balance = ((BookkeepingDirectionEnum)direction) == BookkeepingDirectionEnum.Borrow ? balance + amount : balance - amount; string id = new Bookkeeping().Create(time, voucherTypeId, voucherNum, abst, amount, direction, balance, remark, createrId); return(new ServiceResult <string>(id)); } catch (DomainException domainEx) { return(new ServiceResult <string>(null, ResultStatus.ERROR, 2, domainEx.Message)); } catch (Exception ex) { return(new ServiceResult <string>(null, ResultStatus.Unknown, ex.Message)); } }
static void Main(string[] args) { // Задание 1 Console.WriteLine($"\nЗадание 1\n"); Product.User user1; user1.name = "Tom"; user1.age = 16; user1.DisplayInfo(); Product.Days day1; day1 = Product.Days.Monday; Console.WriteLine($"day1 = {day1}"); // Задание 2 Console.WriteLine($"\nЗадание 2\n"); User user = new User(); user.name = "Иван"; user.age = 16; user.weight = 70; user.height = 178; user.DisplayToScreen(); // Задание 3 Console.WriteLine($"\nЗадание 3\n"); Product pr1 = new Product("Молоко", 500); Product pr2 = new Product("Молоко", 1500); Product pr3 = new Product("Молоко", 800); Bookkeeping bk1 = new Bookkeeping(); bk1.Add(pr1); bk1.Add(pr2); bk1.Add(pr3); bk1.Information(); // Задание 4 Console.WriteLine($"\nЗадание 4\n"); TestController.Sum(bk1); }
static void Main(string[] args) { Client client = new Client("Каролина", "Мергель"); Waybill waybill = new Waybill("Накладная на машину", new DateTime(2012, 05, 12), client, new Organization("Пока не придумала"), 7800); Receipt receipt = new Receipt("Квитанция об оплате", new DateTime(2020, 05, 12), client, new Organization("Netflix"), 49); Check check = new Check("Чек", new DateTime(2020, 10, 15), client, new Organization("McDonalds"), 5); Waybill waybill2 = new Waybill("Накладная на машину", new DateTime(2012, 05, 12), client, new Organization("Пока не придумала"), 7800); Waybill waybill3 = new Waybill("Накладная на машину", new DateTime(2012, 05, 12), client, new Organization("Пока не придумала"), 7800); Waybill waybill4 = new Waybill("Накладная на машину", new DateTime(2012, 05, 12), client, new Organization("Пока не придумала"), 7800); Waybill waybill5 = new Waybill("Накладная на машину", new DateTime(2012, 05, 12), client, new Organization("Пока не придумала"), 7800); Bookkeeping bkkeeping = new Bookkeeping(); BookkeepingController controll = new BookkeepingController(); bkkeeping.AddReceipt(receipt); bkkeeping.AddWaybill(waybill); bkkeeping.AddCheck(check); bkkeeping.AddWaybill(waybill2); bkkeeping.AddWaybill(waybill3); bkkeeping.AddWaybill(waybill4); bkkeeping.AddWaybill(waybill5); bkkeeping.ShowList(); Console.WriteLine(); Console.WriteLine("Суммарную стоимость продукции заданного наименования по всем накладным = {0}", bkkeeping.GetWaybillPrice("Накладная на машину")); Console.WriteLine(); bkkeeping.GetDocuments(new DateTime(2020, 01, 01), new DateTime(2021, 01, 01)); Console.WriteLine(); Console.WriteLine("Количество чеков: {0}", controll.Count(bkkeeping)); Console.ReadKey(); }
public ActionResult Edit(int id, [Bind(Include = "Id,StudentStatusId,StudentStatus,SumToPay,StudentId,Student")] Bookkeeping boo) { try { if (ModelState.IsValid) { boo.StudentId = context.Bookkeepings.First(x => x.Id == id).StudentId; boo.Student = context.Students.Where(x => x.Id == boo.StudentId).First(); boo.StudentStatusId = context.Bookkeepings.First(x => x.Id == id).StudentStatusId; boo.StudentStatus.Id = boo.StudentStatusId; Bookkeeping oldBook = context.Bookkeepings.First(x => x.Id == id); context.Bookkeepings.Remove(oldBook); context.Bookkeepings.Add(boo); context.SaveChanges(); return(RedirectToAction("Index")); } return(View()); } catch (Exception ex) { return(View(boo)); } }
/// <summary> /// Получает всю сверку по партнерам или торговым точкам /// </summary> /// <param name="request"></param> /// <returns></returns> public BookkeepingsResponse GetAllBookkeeping(BookkeepingRequest request) { BookkeepingsResponse response = new BookkeepingsResponse(); try { var bookkeepings = new List <Bookkeeping>(); _cnn.Open(); var cmd = _cnn.CreateCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = request.IsOperator ? "OperatorBookkeepingPaging" : "BookkeepingPaging"; cmd.CommandTimeout = 300; if (request.Operator > 0) { cmd.Parameters.AddWithValue("@operator", request.Operator); } if (request.Partner > 0) { cmd.Parameters.AddWithValue("@partner", request.Partner); } if (request.Pos > 0) { cmd.Parameters.AddWithValue("@pos", request.Pos); } if (request.Page == 0) { request.Page++; } cmd.Parameters.AddWithValue("@start", request.Page); //Если start = -1 и length = -1 это значит выгрузить все без пагинации if (request.Page != -1) { cmd.Parameters.AddWithValue("@length", request.Page + request.PageSize); } else { cmd.Parameters.AddWithValue("@length", request.PageSize); } cmd.Parameters.Add("@errormessage", SqlDbType.NVarChar, 100); cmd.Parameters["@errormessage"].Direction = ParameterDirection.Output; cmd.Parameters.Add("@result", SqlDbType.Int); cmd.Parameters["@result"].Direction = ParameterDirection.ReturnValue; cmd.Parameters.Add("@total_rows", SqlDbType.Int); cmd.Parameters["@total_rows"].Direction = ParameterDirection.Output; //Фильтр по дате (Верхний фильтр с диапазоном) if (!string.IsNullOrEmpty(request.DateStart)) { if (DateTime.TryParseExact(request.DateStart, new[] { "dd.MM.yyyy" }, CultureInfo.InvariantCulture, DateTimeStyles.None, out var date)) { cmd.Parameters.AddWithValue("@f_date_start", date.ToString("yyyy-MM-dd")); } } //Фильтр по дате (Верхний фильтр с диапазоном) if (!string.IsNullOrEmpty(request.DateEnd)) { if (DateTime.TryParseExact(request.DateEnd, new[] { "dd.MM.yyyy" }, CultureInfo.InvariantCulture, DateTimeStyles.None, out var date)) { cmd.Parameters.AddWithValue("@f_date_end", date.ToString("yyyy-MM-dd")); } } //Фильтр по названию if (!string.IsNullOrEmpty(request.Name)) { cmd.Parameters.AddWithValue("@f_name", request.Name); } if (request.IsOperator && !string.IsNullOrEmpty(request.PosName)) { cmd.Parameters.AddWithValue("@pos_name", request.PosName); } //Фильтр по Покупкам if (!string.IsNullOrEmpty(request.PurchasesMore)) { cmd.Parameters.AddWithValue("@f_buy_more", Convert.ToInt64(request.PurchasesMore)); } if (!string.IsNullOrEmpty(request.PurchasesLess)) { cmd.Parameters.AddWithValue("@f_buy_less", Convert.ToInt64(request.PurchasesLess)); } //Фильтр по Начислено if (!string.IsNullOrEmpty(request.AddedMore)) { cmd.Parameters.AddWithValue("@f_added_more", Convert.ToInt64(request.AddedMore)); } if (!string.IsNullOrEmpty(request.AddedLess)) { cmd.Parameters.AddWithValue("@f_added_less", Convert.ToInt64(request.AddedLess)); } //Фильтр по Списано if (!string.IsNullOrEmpty(request.RedeemedMore)) { cmd.Parameters.AddWithValue("@f_redeemed_more", Convert.ToInt64(request.RedeemedMore)); } if (!string.IsNullOrEmpty(request.RedeemedLess)) { cmd.Parameters.AddWithValue("@f_redeemed_less", Convert.ToInt64(request.RedeemedLess)); } //Фильтр по Клиентам if (!string.IsNullOrEmpty(request.ClientsMore)) { cmd.Parameters.AddWithValue("@f_clients_more", Convert.ToInt64(request.ClientsMore)); } if (!string.IsNullOrEmpty(request.ClientsLess)) { cmd.Parameters.AddWithValue("@f_clients_less", Convert.ToInt64(request.ClientsLess)); } SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Bookkeeping bookkeeping = new Bookkeeping(); try { var i = 0; if (!reader.IsDBNull(0)) { bookkeeping.Id = reader.GetInt16(0); } if (!reader.IsDBNull(1)) { bookkeeping.Caption = reader.GetString(1); } if (request.Operator > 0 && request.Partner == 0) { i = 1; if (!reader.IsDBNull(2)) { bookkeeping.PosName = reader.GetString(2); } } if (!reader.IsDBNull(2 + i)) { bookkeeping.Gain = reader.GetDecimal(2 + i); } if (!reader.IsDBNull(3 + i)) { bookkeeping.Added = reader.GetDecimal(3 + i); } if (!reader.IsDBNull(4 + i)) { bookkeeping.Redeemed = reader.GetDecimal(4 + i); } if (!reader.IsDBNull(5 + i)) { bookkeeping.Clients = reader.GetInt32(5 + i); } if (!reader.IsDBNull(6 + i)) { bookkeeping.GainMonth1 = reader.GetInt64(6 + i); } if (!reader.IsDBNull(7 + i)) { bookkeeping.AddedMonth1 = reader.GetInt64(7 + i); } if (!reader.IsDBNull(8 + i)) { bookkeeping.RedeemedMonth1 = reader.GetInt64(8 + i); } if (!reader.IsDBNull(9 + i)) { bookkeeping.ClientsMonth1 = reader.GetInt64(9 + i); } if (!reader.IsDBNull(10 + i)) { bookkeeping.GainMonth2 = reader.GetInt64(10 + i); } if (!reader.IsDBNull(11 + i)) { bookkeeping.AddedMonth2 = reader.GetInt64(11 + i); } if (!reader.IsDBNull(12 + i)) { bookkeeping.RedeemedMonth2 = reader.GetInt64(12 + i); } if (!reader.IsDBNull(13 + i)) { bookkeeping.ClientsMonth2 = reader.GetInt64(13 + i); } if (!reader.IsDBNull(14 + i)) { bookkeeping.GainMonth3 = reader.GetInt64(14 + i); } if (!reader.IsDBNull(15 + i)) { bookkeeping.AddedMonth3 = reader.GetInt64(15 + i); } if (!reader.IsDBNull(16 + i)) { bookkeeping.RedeemedMonth3 = reader.GetInt64(16 + i); } if (!reader.IsDBNull(17 + i)) { bookkeeping.ClientsMonth3 = reader.GetInt64(17 + i); } if (!reader.IsDBNull(18 + i)) { bookkeeping.GainMonth4 = reader.GetInt64(18 + i); } if (!reader.IsDBNull(19 + i)) { bookkeeping.AddedMonth4 = reader.GetInt64(19 + i); } if (!reader.IsDBNull(20 + i)) { bookkeeping.RedeemedMonth4 = reader.GetInt64(20 + i); } if (!reader.IsDBNull(21 + i)) { bookkeeping.ClientsMonth4 = reader.GetInt64(21 + i); } if (!reader.IsDBNull(22 + i)) { bookkeeping.GainMonth5 = reader.GetInt64(22 + i); } if (!reader.IsDBNull(23 + i)) { bookkeeping.AddedMonth5 = reader.GetInt64(23 + i); } if (!reader.IsDBNull(24 + i)) { bookkeeping.RedeemedMonth5 = reader.GetInt64(24 + i); } if (!reader.IsDBNull(25 + i)) { bookkeeping.ClientsMonth5 = reader.GetInt64(25 + i); } if (!reader.IsDBNull(26 + i)) { bookkeeping.GainMonth6 = reader.GetInt64(26 + i); } if (!reader.IsDBNull(27 + i)) { bookkeeping.AddedMonth6 = reader.GetInt64(27 + i); } if (!reader.IsDBNull(28 + i)) { bookkeeping.RedeemedMonth6 = reader.GetInt64(28 + i); } if (!reader.IsDBNull(29 + i)) { bookkeeping.ClientsMonth6 = reader.GetInt64(29 + i); } if (!reader.IsDBNull(30 + i)) { bookkeeping.GainMonth7 = reader.GetInt64(30 + i); } if (!reader.IsDBNull(31 + i)) { bookkeeping.AddedMonth7 = reader.GetInt64(31 + i); } if (!reader.IsDBNull(32 + i)) { bookkeeping.RedeemedMonth7 = reader.GetInt64(32 + i); } if (!reader.IsDBNull(33 + i)) { bookkeeping.ClientsMonth7 = reader.GetInt64(33 + i); } if (!reader.IsDBNull(34 + i)) { bookkeeping.GainMonth8 = reader.GetInt64(34 + i); } if (!reader.IsDBNull(35 + i)) { bookkeeping.AddedMonth8 = reader.GetInt64(35 + i); } if (!reader.IsDBNull(36 + i)) { bookkeeping.RedeemedMonth8 = reader.GetInt64(36 + i); } if (!reader.IsDBNull(37 + i)) { bookkeeping.ClientsMonth8 = reader.GetInt64(37 + i); } if (!reader.IsDBNull(38 + i)) { bookkeeping.GainMonth9 = reader.GetInt64(38 + i); } if (!reader.IsDBNull(39 + i)) { bookkeeping.AddedMonth9 = reader.GetInt64(39 + i); } if (!reader.IsDBNull(40 + i)) { bookkeeping.RedeemedMonth9 = reader.GetInt64(40 + i); } if (!reader.IsDBNull(41 + i)) { bookkeeping.ClientsMonth9 = reader.GetInt64(41 + i); } if (!reader.IsDBNull(42 + i)) { bookkeeping.GainMonth10 = reader.GetInt64(42 + i); } if (!reader.IsDBNull(43 + i)) { bookkeeping.AddedMonth10 = reader.GetInt64(43 + i); } if (!reader.IsDBNull(44 + i)) { bookkeeping.RedeemedMonth10 = reader.GetInt64(44 + i); } if (!reader.IsDBNull(45 + i)) { bookkeeping.ClientsMonth10 = reader.GetInt64(45 + i); } if (!reader.IsDBNull(46 + i)) { bookkeeping.GainMonth11 = reader.GetInt64(46 + i); } if (!reader.IsDBNull(47 + i)) { bookkeeping.AddedMonth11 = reader.GetInt64(47 + i); } if (!reader.IsDBNull(48 + i)) { bookkeeping.RedeemedMonth11 = reader.GetInt64(48 + i); } if (!reader.IsDBNull(49 + i)) { bookkeeping.ClientsMonth11 = reader.GetInt64(49 + i); } if (!reader.IsDBNull(50 + i)) { bookkeeping.GainMonth12 = reader.GetInt64(50 + i); } if (!reader.IsDBNull(51 + i)) { bookkeeping.AddedMonth12 = reader.GetInt64(51 + i); } if (!reader.IsDBNull(52 + i)) { bookkeeping.RedeemedMonth12 = reader.GetInt64(52 + i); } if (!reader.IsDBNull(53 + i)) { bookkeeping.ClientsMonth12 = reader.GetInt64(53 + i); } } catch (Exception ex) { Log.Error(ex, "BookkeepingService read bookkeeping operator {0}, partner {1}, pos {2}", request.Operator, request.Partner, request.Pos); } bookkeepings.Add(bookkeeping); } reader.Close(); response.ErrorCode = Convert.ToInt32(cmd.Parameters["@result"].Value); response.Message = Convert.ToString(cmd.Parameters["@errormessage"].Value); response.RecordTotal = Convert.ToInt32(cmd.Parameters["@total_rows"].Value); response.RecordFilterd = response.RecordTotal; response.Bookkeepings = bookkeepings; } catch (Exception e) { response.ErrorCode = 10; response.Message = e.Message; } finally { _cnn.Close(); } return(response); }
/// <summary> /// 交易紀錄_賣出 /// </summary> /// <param name="transaction"></param> /// <param name="transNum">交易數量(負數)</param> /// <param name="transCost">交易成本(負數)</param> public void Tx_SaleFunction(TransactionViewModel transaction, out int transNum, out int transCost) { var tranList = dbConnection.QueryableTransactionRecords.OrderBy(p => p.TransactionTime).ThenByDescending(p => p.UnitPrice) .Where(p => p.ProductSeq == transaction.ProductSeq && p.InStock > 0); var updateTransaction = new TransactionRecord(); var oddTransaction = tranList.FirstOrDefault(p => p.InStock < 1000); //除了零股足夠外其餘都直接取整張做交易 updateTransaction = tranList.FirstOrDefault(p => p.InStock == 1000); if (transaction.Num < 1000) { //確認資產是否有零股且零股足夠交易 if (oddTransaction != null && oddTransaction.InStock >= transaction.Num) { updateTransaction = oddTransaction; } else if (oddTransaction != null) { //不夠的話賣出整張後把餘額合併到原本的零股 updateTransaction.InStock += oddTransaction.InStock; updateTransaction.TotalPrice += oddTransaction.InStock * oddTransaction.UnitPrice; updateTransaction.UnitPrice = updateTransaction.TotalPrice / updateTransaction.InStock; //清除舊有的零股 oddTransaction.InStock = 0; oddTransaction.Remark += $"零股賣出合併至編號:{updateTransaction.Seq}"; dbConnection.Modified(oddTransaction, EntityState.Modified); } } updateTransaction.SaleTime = transaction.TransactionTime; updateTransaction.SalePrice = transaction.UnitPrice; updateTransaction.SaleTax = transaction.Fee; updateTransaction.InStock -= transaction.Num; updateTransaction.Remark += $"/ {transaction.Remark}"; dbConnection.Modified(updateTransaction, EntityState.Modified); transNum = 0 - transaction.Num; //扣的資產應為交易本身的成本而非售價(此cost為負數) transCost = 0 - (int)(updateTransaction.UnitPrice * transaction.Num); //計算本次收益到記帳本 var salePrice = (transaction.Num * transaction.UnitPrice); var incom = salePrice + transCost - transaction.Fee - updateTransaction.AdministractionFee; var newBookkepping = new Bookkeeping() { ProductSeq = transaction.ProductSeq, Type = BookkeepingType.TransactionRecord.ToString(), RelatedSeq = updateTransaction.Seq, Amount = (int)incom, CreateTime = DateTime.Now, }; dbConnection.Modified(newBookkepping, EntityState.Added); }
// GET: Bookkeeping/Edit/5 public ActionResult Edit(int id) { Bookkeeping book = context.Bookkeepings.Include(x => x.StudentStatus).Where(x => x.Id == id).First(); return(View(book)); }
static void Main(string[] args) { try { //var a = 0; //a = 2 / a; Client client = new Client("Каролина", "Мергель"); Organization org = new Organization("Пока не придумала"); Organization org_exc = new Organization(""); // Organization org_e = new Organization("12345678901234567890123457890"); Waybill waybill = new Waybill("Накладная на машину", new DateTime(2012, 05, 12), client, new Organization("Пока не придумала"), 7800); Receipt receipt = new Receipt("Квитанция об оплате", new DateTime(2020, 05, 12), client, new Organization("Netflix"), 49); Check check = new Check("Чек", new DateTime(2020, 10, 15), client, new Organization("McDonalds"), 5); Waybill waybill2 = new Waybill("Накладная на машину", new DateTime(2012, 05, 12), client, org, 7800); Waybill waybill3 = new Waybill("Накладная на машину", new DateTime(2012, 05, 12), client, org, 7800); Waybill waybill4 = new Waybill("Накладная на машину", new DateTime(2012, 05, 12), client, new Organization("Пока не придумала"), 7800); Waybill waybill5 = new Waybill("Накладная на машину", new DateTime(2012, 05, 12), client, new Organization("Пока не придумала"), 7800); Bookkeeping bkkeeping = new Bookkeeping(); BookkeepingController controll = new BookkeepingController(); bkkeeping.AddReceipt(receipt); bkkeeping.AddWaybill(waybill); bkkeeping.AddCheck(check); bkkeeping.AddWaybill(waybill2); bkkeeping.AddWaybill(waybill3); bkkeeping.AddWaybill(waybill4); bkkeeping.AddWaybill(waybill5); bkkeeping.ShowList(); Console.WriteLine(); Console.WriteLine("Суммарную стоимость продукции заданного наименования по всем накладным = {0}", bkkeeping.GetWaybillPrice("Накладная на машину")); Console.WriteLine(); bkkeeping.GetDocuments(new DateTime(2020, 01, 01), new DateTime(2021, 01, 01)); Console.WriteLine(); Console.WriteLine("Количество чеков: {0}", controll.Count(bkkeeping)); } catch (EmptyException e) { Console.WriteLine(e.ToString()); Logger.FileLogger.WriteLog(e); } catch (LongException e) { Console.WriteLine(e.ToString()); Logger.FileLogger.WriteLog(e); } catch (PriceException e) { Console.WriteLine(e.ToString()); Logger.FileLogger.WriteLog(e); } catch (IndexException e) { Console.WriteLine(e.ToString()); Logger.FileLogger.WriteLog(e); } catch (Exception e) { Console.WriteLine(e.ToString()); Logger.FileLogger.WriteLog(e); } finally { Console.WriteLine("\n--------------------finally-------------------- \n She'll be right ;)"); } Console.ReadKey(); }