public MainWindow(IUnitOfWork unitOfWork, IMainRepository <User> userRepository, ITenantRepository <Store> storeRepository) { //InitializeComponent(); //var dbLocation = string.Empty; //var userCount = userRepository.GetAll().Count(); //var storeCount = storeRepository.GetAll().Count(); //if (unitOfWork.ChangeDataBase("Store",@"C:\Users\muthukumara\Documents\TenantDB.db")) //{ // var newcount = storeRepository.GetAll().Count(); //} var tempUser = BootStrapper.Resolve <IMainRepository <User> >(); if (tempUser != null) { userRepository.Add(new User() { Name = "Temp" + DateTime.Now }); } userRepository.Add(new User() { Name = DateTime.Now.ToString() }); unitOfWork.Commit(); //using (var dbUser = new DBuser.USerdbEntities()) //{ // var user = dbUser.Users.FirstOrDefault(u => u.Name == "NR"); // if (user != null) // { // dbLocation = user.DBName; // } //} try { var connectionString = ConnectionTools.GetConnectionString("TenantDBEntities", dataSource: @"C:\\Users\\muthukumara\\Documents\\SQL_MT\\TenantDB.db"); //if (dbLocation != string.Empty) //{ // using (var dbtenant = new DBTenant.TenantDBEntities()) // { // dbtenant.Database.Connection.ConnectionString = connectionString; // dbtenant.ChangeDatabase(dataSource: @"C:\\Users\\muthukumara\\Documents\\SQL_MT\\TenantDB.db"); // var count = dbtenant.Stores.Count(); // dbtenant.ChangeDatabase(dataSource: @"C:\Users\muthukumara\Documents\TenantDB.db"); // count = dbtenant.Stores.Count(); // } //} } catch (Exception ex) { throw; } }
public async Task EFTransactionTest() { using (var tran = _iMainRepository._context.Database.BeginTransaction()) { try { Random rd = new Random(); var main = new Main(); main.Id = rd.Next(); main.Name = $"{DateTime.Now}"; main.Telphone = "1111"; await _iMainRepository.Add(main); await _iMainRepository.ExecuteSql($"INSERT INTO [dbo].[Main] ([id], [name], [telphone]) VALUES ('{rd.Next()}', 'test', '21')"); await _iMainRepository.ExecuteSql($"INSERT INTO [dbo].[Main] ([id], [name], [telphone]) VALUES ('{rd.Next()}', 'test', '21')"); await _iMainRepository.ExecuteSql($"INSERT INTO [dbo].[Main] ([id], [name], [telphone]) VALUES ('{rd.Next()}', 'test', '21')"); await _iMainRepository.ExecuteSql($"update [dbo].[Main] set name='事务更新测试'"); var data = await _iMainRepository.QueryAsNoTracking();//await必须加,不然commit提交之后,上下文就被释放了,这个时候_context.data.where()xxx就报错。无法访问的资源。 var test = DateTime.Parse("1111"); tran.Commit(); } catch (Exception e) { tran.Rollback(); } } }
public async Task <IActionResult> CreateColumn(ColumnForCreateDto columnData) { var column = _mapper.Map <Column>(columnData); _repo.Add(column); if (await _repo.SaveAll()) { return(Ok()); } return(BadRequest()); }
public async Task <IActionResult> CreateCard(CardForCreateDto cardData) { var card = _mapper.Map <Card>(cardData); _repo.Add(card); if (await _repo.SaveAll()) { return(Ok()); } return(BadRequest()); }
public async Task <IActionResult> AddValue(ValueToAddDto valueToAddDto) { var newValue = new Value() { Name = valueToAddDto.Name }; _repo.Add(newValue); if (await _repo.SaveAll()) { return(Ok(newValue)); } return(BadRequest("Error saving new Value")); }
public ActionResult Checkout(CheckoutModel model) { //kiểm tra giỏ hàng hoặc 1 số ràng buộc mà model không thể check var cart = GetCart(); if (cart.LineCollection.Count() == 0) { ModelState.AddModelError("", "Giỏ hàng không được để trống"); } //kiểm tra model có hợp lệ hay ko? if (ModelState.IsValid) { //save db //customer var customer = new Customer() { Address = model.ShipTo, Avatar = " ", CustomerName = model.FullName, Email = model.Email, Phone = model.Phone, ProvinceId = 1 }; _mainRepository.Add(customer); //order var order = new Order() { CustomerId = customer.CustomerId, OrderDate = DateTime.Now, PaymentMethodId = model.PaymentMethod, ShipTo = model.ShipTo, SubTotal = cart.ComputerTotal() }; _mainRepository.Add(order); //order details var orderDetails = new List <OrderDetail>(); foreach (var line in cart.LineCollection) { var detail = new OrderDetail() { OrderId = order.OrderId, Quantity = line.Quantity, Price = line.Product.Price, ProductId = line.Product.ProductId }; orderDetails.Add(detail); } _mainRepository.Add(orderDetails); //email khách string subject = "Thông báo đặt hàng #" + order.OrderId; List <string> cc = new List <string>() { "*****@*****.**" }; StringBuilder sb = new StringBuilder(); sb.Append($"<h3>Kính chào: {model.FullName}</h3>"); sb.Append("<p>Đơn hàng của bạn như sau: </p>"); sb.Append("<table style='border:1px solid #ccc; padding:10px;width:100%'>"); foreach (var line in cart.LineCollection) { sb.Append("<tr>"); sb.Append($"<td style='padding:5px'>{line.Product.ProductName}</td>"); sb.Append($"<td style='padding:5px'>{line.Product.Price}</td>"); sb.Append($"<td style='padding:5px'>{line.Quantity}</td>"); sb.Append($"<td style='padding:5px'>{line.Product.Price * line.Quantity}</td>"); sb.Append("</tr>"); } sb.Append("</table>"); sb.Append($"<p>Tổng tiền:<strong>{cart.ComputerTotal()}</strong></p>"); var pay = _mainRepository.PaymentMethods.FirstOrDefault(x => x.PaymentId == model.PaymentMethod); sb.Append($"<p>Hình thức thanh toán: {pay.PaymentName}</p>"); sb.Append("<p>Nếu có thắc mắc vui lòng liên hệ theo số điện thoại 0914000892</p>"); var mailSender = new EmailHelper(); mailSender.Send(model.Email, subject, sb.ToString(), cc); //clear cart.Clear(); //lưu thành công thì chuyển về trang thông báo kết quả đặt hàng. return(RedirectToAction("Completed")); } else { ModelState.AddModelError("", "Vui lòng nhập đủ dữ liệu."); } //nếu model lỗi, thì hiển thị lại view Checkout return(View(model)); }