public async Task createImportBillFromServerAndUpdate( List <IngredientWithImportBill> listIngredientWithImportBill, Action <NetworkResponse> cbSuccessSent = null, Action <string> cbError = null ) { Action <NetworkResponse> newCBSuccessSent = delegate(NetworkResponse networkResponse) { if (networkResponse.Successful) { ImportBill ingreddientCreated = JsonConvert.DeserializeObject <ImportBill>(networkResponse.Data.ToString()); _importBillList[ingreddientCreated.ImportBillId] = ingreddientCreated; } cbSuccessSent?.Invoke(networkResponse); }; var myObject = (dynamic) new JArray(); foreach (IngredientWithImportBill ingredientWithImportBill in listIngredientWithImportBill) { myObject.Add(JObject.Parse(JsonConvert.SerializeObject(ingredientWithImportBill))); } await RequestManager.getInstance().postAsyncJson( API_CONTROLLER, myObject, newCBSuccessSent, cbError ); }
public bool InsertImportBill(ImportBill newImportBill) { try { WebShopEntities db = new WebShopEntities(); ImportBill importBill = new ImportBill(); importBill.agencyName = newImportBill.agencyName; importBill.address = newImportBill.address; importBill.phone = newImportBill.phone; importBill.total = newImportBill.total; importBill.id = (from c in db.ImportBills orderby c.id descending select c.id).First() + 1; if (importBill.id < 10) { importBill.code = "IMT00" + importBill.id; } else if (importBill.id >= 10 && importBill.id < 100) { importBill.code = "IMT0" + importBill.id; } else { importBill.code = "IMT" + importBill.id; } db.ImportBills.Add(importBill); db.SaveChanges(); return(true); } catch { return(false); } }
public JsonResult GetLastPayedPeriodByIdPayment(int id) { string lastPayedPeriod = string.Empty; try { ImportBill payment = _importRepository.Get(id); if (payment != null) { if (!payment.EndDate.ToString(CultureInfo.InvariantCulture).Contains("0001")) { lastPayedPeriod = "Từ " + payment.StartDate.ToString("dd/MM/yyyy") + " đến " + payment.EndDate.ToString("dd/MM/yyyy"); } else { lastPayedPeriod = payment.StartDate.ToString("dd/MM/yyyy"); } if (payment.Payment == payment.TotalValue) { lastPayedPeriod += " => Đã trả đủ"; } } return(Json(new { lastPayedPeriod = lastPayedPeriod })); } catch (Exception) { return(Json(new { lastPayedPeriod = lastPayedPeriod })); } }
public async Task <IActionResult> Pay(ImportBill importBill) { var getBill = await _importRepository.All.AsNoTracking().FirstOrDefaultAsync(p => p.IdImport == importBill.IdImport); if (getBill != null && importBill.Payment <= getBill.TienNo) { getBill.Payment += importBill.Payment; getBill.TienNo = getBill.TotalValue - getBill.Payment; if (getBill.EndDate.ToString(CultureInfo.InvariantCulture).Contains("0001")) { getBill.EndDate = DateTime.Now; } else { getBill.StartDate = getBill.EndDate; getBill.EndDate = DateTime.Now; } _importRepository.UpdateAsync(getBill); await _importRepository.SaveAsync(RequestContext); return(Json(new { isValid = true, html = Helper .RenderRazorViewToString(this, "_ViewListImports", await _importRepository.All.ToListAsync()) })); } return(Json(new { isValid = false, html = Helper .RenderRazorViewToString(this, "_ViewListImports", await _importRepository.All.ToListAsync()) })); }
public async Task <IActionResult> EditImportDetailExecute(ImportBill importBill) { ViewBag.Account = HttpContext.Session.GetString("UserName"); await importBillDao.UpdateDetail(importBill); ViewBag.Serial = importBill.ImSerial; return(View("ImportBillDetail", await importBillDao.GetBillList(importBill.ImSerial))); }
public ActionResult Update(ImportBill model, List <ImportBillDetailViewModel> modelDetail) { try { var importBill = _importBillService.GetByID(model.ID); var newBill = new ImportBill(); // Update ProductCount importBill.ImportBillDetails.ToList().ForEach(bd => { var product = _productService.GetByID(bd.ProductID); product.Count -= bd.Count; }); modelDetail = modelDetail.Where(ibd => ibd.ProductID != 0).ToList(); modelDetail.ForEach(bd => { var product = _productService.GetByID(bd.ProductID); product.Count += bd.Count; }); _productService.SaveChanges(); // Delete all ImportBillDetail _importBillDetailService.DeleteByImportBillID(importBill.ID); _importBillDetailService.SaveChanges(); // Delete ImportBillOld and Create ImportBillNew newBill.CreatedBy = importBill.CreatedBy; newBill.CreatedDate = importBill.CreatedDate; newBill.Status = importBill.Status; newBill.UpdateBy = GetMemberSession().DisplayName; newBill.UpdatedDate = DateTime.Now; _importBillService.Delete(importBill); _importBillService.Insert(newBill); _importBillService.SaveChanges(); // Add ImportBillDetail modelDetail.ForEach(bd => bd.ImportBillID = newBill.ID); _importBillDetailService.Insert(AutoMapper.Mapper.Map <List <ImportBillDetail> >(modelDetail)); _importBillDetailService.SaveChanges(); return(RedirectToAction("Index", "ImportBill")); } catch (Exception e) { } ViewBag.Products = AutoMapper.Mapper.Map <List <ProductViewModel> >(_productService.GetAll()); ViewBag.modelDetail = modelDetail; return(View()); }
public bool Insert(ImportBill entity) { db.ImportBills.Add(entity); int isSave = db.SaveChanges(); if (isSave > 0) { return(true); } return(false); }
public List <ImportBill> GetListImportGoods(DateTime dateFrom, DateTime dateTo) { DataTable data = DataProvider.Instance.ExcuteQuery("EXEC ThongKePN @date1 , @date2 ", new object[] { dateFrom, dateTo }); List <ImportBill> listImp = new List <ImportBill>(); foreach (DataRow item in data.Rows) { ImportBill list = new ImportBill(item); listImp.Add(list); } return(listImp); }
public List <ImportBill> GetFullListImportGoods(string text) { DataTable data = DataProvider.Instance.ExcuteQuery("EXEC GetImportBill @text", new object[] { text }); List <ImportBill> listImp = new List <ImportBill>(); foreach (DataRow item in data.Rows) { ImportBill list = new ImportBill(item); listImp.Add(list); } return(listImp); }
public void reloadUI(ImportBill importBillRoot) { _importBill = importBillRoot; TextBoxId.Text = _importBill.ImportBillId.ToString(); TextBoxTime.Text = _importBill.CreatedDate.ToString(); TextBoxTotal.Text = UtilFuction.formatMoney(_importBill.BillMoney); LVIngredient.Items.Clear(); foreach (IngredientWithImportBill ingredient in _importBill.IngredientWithImportBills) { LVIngredient.Items.Add(new ImportIngredientCell(ingredient)); } }
public async Task <IActionResult> CreateImportDetail(ImportBill importBill) { try { ViewBag.Account = HttpContext.Session.GetString("UserName"); await importBillDao.InsertDetail(importBill); } catch (Exception e) { ViewBag.Error = e.Message; } ViewBag.Serial = importBill.ImSerial; return(View("ImportBillDetail", await importBillDao.GetBillList(importBill.ImSerial))); }
public ImportBill getID(long ID) { try { ImportBill entity = db.ImportBills.Find(ID); return(entity); } catch (Exception) { return(null); throw; } }
private void btnEdit_Click_1(object sender, EventArgs e) { ImportBill entity = new ImportBill(); entity.ID = IDImBill; entity.Bill = txtBillName.Text; entity.IDWareHouse = Convert.ToInt32(cbWH.SelectedValue); entity.Date = dateTimePicker.Value; entity.Quantity = Convert.ToInt32(txtQuantity.Text); entity.TotalPrice = Convert.ToInt32(txtMoney.Text); FImportBill im = new FImportBill(); var result = im.Update(entity); var listolder = (from dt in db.ProductDetails.Where(x => x.IDImBill == IDImBill).ToList() from pr in db.Products.Where(x => x.ID == dt.IDProduct).ToList() from com in db.Companies.Where(x => x.ID == pr.IDCompany).ToList() select new { IDProductDetail = dt.ID, ID = pr.ID, Product1 = pr.Product1, Quantity = dt.Quantity, OrdinaryPrice = pr.OrdinaryPrice } ).ToList(); foreach (var item in lprodt) { var search = listolder.Find(x => x.ID == item.IDProduct); if (search == null) { FProductDetail dt = new FProductDetail(); dt.Insert(item); } else { item.ID = search.IDProductDetail; FProductDetail dt = new FProductDetail(); dt.Update(item); } } if (result == true) { MessageBox.Show("Sửa phiếu nhập thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public async Task <IActionResult> NhapHang(ImportBill model, IEnumerable <ImportBillDetail> lstModel) { HttpRequest cookie = _services.GetRequiredService <IHttpContextAccessor>()?.HttpContext.Request; string customerId = SecurityManager.getUserId(cookie.Cookies[SecurityManager._securityToken]); model.Amount = 0; model.TotalValue = 0; ViewBag.MaNCC = _iSupplierRepository.All; ViewBag.ListSanPham = _iProductRepository.All; // Kiểm tra dữ liệu đầu vào bằng javascript hay bên metadata đều được // Phải ktra để khớp với kiểu dữ liệu của database await _importRepository.AddAsync(model); await _importRepository.SaveAsync(RequestContext); //Gán đã xóa = false // SaveChanges lần đầu để sinh ra mã phiếu nhập gán cho lstChiTietPhieuNhap var importBillDetails = lstModel.ToList(); foreach (var item in importBillDetails) { // Cập nhật số lượng tồn // vì sản phẩm trong lstModel chắc chắn có nên k tạo new SanPham var sp = _iProductRepository.All.ToList().Single(n => n.Id == item.IdProduct); sp.BasketCount += item.Amount.GetValueOrDefault(); // Gán mã phiếu nhập cho từng chi tiết phiếu nhập item.IdImport = model.IdImport; } foreach (var item in importBillDetails) { await _importDetailRepository.AddAsync(item); } await _importDetailRepository.SaveAsync(RequestContext); model.RefreshTotalValue(); model.StaffId = customerId; _importRepository.UpdateAsync(model); await _importRepository.SaveAsync(RequestContext); TempData["messages"] = "Nhập hàng thành công"; return(RedirectToAction("Index")); }
public bool DeleteImportBill(int id) { try { WebShopEntities db = new WebShopEntities(); ImportBill importBill = db.ImportBills.FirstOrDefault(x => x.id == id); if (importBill == null) { return(false); } db.ImportBills.Remove(importBill); db.SaveChanges(); return(true); } catch { return(false); } }
public bool Update(ImportBill entity) { try { var Pro = db.ImportBills.Find(entity.ID); Pro.Bill = entity.Bill; Pro.IDWareHouse = entity.IDWareHouse; Pro.TotalPrice = entity.TotalPrice; Pro.Quantity = entity.Quantity; Pro.Date = entity.Date; db.SaveChanges(); } catch (Exception) { return(false); throw; } return(true); }
public async Task getImportBillByIdFromServerAndUpdate( int importBillId, Action <NetworkResponse> cbSuccessSent = null, Action <string> cbError = null ) { Action <NetworkResponse> newCBSuccessSent = delegate(NetworkResponse networkResponse) { if (networkResponse.Successful) { ImportBill importBillFromSV = JsonConvert.DeserializeObject <ImportBill>(networkResponse.Data.ToString()); _importBillList[importBillFromSV.ImportBillId] = importBillFromSV; } cbSuccessSent?.Invoke(networkResponse); }; await RequestManager.getInstance().getAsync( API_CONTROLLER + "/" + importBillId, newCBSuccessSent, cbError ); }
/// <summary> /// 导入 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonX1_Click(object sender, EventArgs e) { if (dt.Rows.Count > 0) { int recCount = 0; for (int i = 0; i < dt.Rows.Count; i++) { ImportBill bill = new ImportBill(); ///对应关系修改 bill.日期 = dt.Rows[i]["fdate"].ToString(); bill.单据编号 = dt.Rows[i]["fbillNo"].ToString(); bill.EntryID = dt.Rows[i]["fEntryID"].ToString(); bill.购货单位 = dt.Rows[i]["FSupplyIDName"].ToString(); bill.发货仓库 = ""; bill.产品名称 = dt.Rows[i]["FItemName"].ToString(); bill.规格型号 = ""; bill.实发数量 = GetQty(dt.Rows[i]["FCUUnitQty"].ToString()); bill.批号 = dt.Rows[i]["fBatchNo"].ToString(); bill.摘要 = ""; bill.fAuxQty = 0; //去重复 sql = string.Format("SELECT COUNT(*) FROM [icstock] WHERE [单据编号] = '{0}' AND fEntryID = {1}", bill.单据编号, bill.EntryID); object obj = SqlHelper.ExecuteScalar(sql); if (obj != null && int.Parse(obj.ToString()) < 1) { sql = string.Format("INSERT INTO [icstock] ([日期],[单据编号],[FEntryID],[购货单位],[发货仓库] ,[产品名称] ,[规格型号] ,[实发数量] ,[批号] ,[摘要] ,[FActQty]) VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}',{7},'{8}','{9}', {10})", bill.日期, bill.单据编号, bill.EntryID, bill.购货单位, bill.发货仓库, bill.产品名称, bill.规格型号, bill.实发数量, bill.批号, bill.摘要, bill.fAuxQty); if (SqlHelper.ExecuteNonQuery(sql) > 0) { recCount++; } } else { DesktopAlert.Show("数据无效或重复!"); } } DesktopAlert.Show("<h2>" + "共成功导入 " + recCount.ToString() + " 条记录!" + "</h2>"); } }
public ActionResult Add(List <ImportBillDetailViewModel> modelDetail) { try { var importBill = new ImportBill(); importBill.CreatedBy = GetMemberSession().DisplayName; importBill.CreatedDate = DateTime.Now; importBill.Status = true; importBill.UpdateBy = ""; importBill.UpdatedDate = null; // Add ImportBill _importBillService.Insert(importBill); _importBillService.SaveChanges(); // Add ImportBillDetail modelDetail.ForEach(bd => bd.ImportBillID = importBill.ID); _importBillDetailService.Insert(AutoMapper.Mapper.Map <List <ImportBillDetail> >(modelDetail)); _importBillDetailService.SaveChanges(); // Update ProductCount modelDetail.ForEach(bd => { var product = _productService.GetByID(bd.ProductID); product.Count += bd.Count; }); _productService.SaveChanges(); return(RedirectToAction("Index", "ImportBill")); } catch (Exception) { } ViewBag.Products = AutoMapper.Mapper.Map <List <ProductViewModel> >(_productService.GetAll()); ViewBag.modelDetail = modelDetail; return(View()); }
public async Task ChangeStatusOfRequestImportProductToSucceededWhenImportEnough( ImportBill importBill, RequestImportProduct requestImportProduct ) { bool isRequestImportProductDone = await IsImportProductEnough( importBill.RequestImportProductId, requestImportProduct.RequestImportDetails); if (isRequestImportProductDone) { requestImportProduct.Status = RequestImportProductStatus.Succeeded; _context.RequestImportProducts.Update(requestImportProduct); var requestImportProductUpdated = await _context.SaveChangesAsync(); if (!(requestImportProductUpdated > 0)) { throw new Exception("Tạo hoá đơn nhập hàng bị lỗi, xin thử lại!"); } } }
public async Task <IActionResult> Create( [FromForm] CreateImportBillRequest createModel ) { var requestedUserId = int.Parse(HttpContext.GetUserIdFromRequest()); ImportBill importBillEntity = new ImportBill { RequestImportProductId = createModel.RequestImportProductId }; var importBillDetails = _mapper .Map <IEnumerable <CreateImportBillDetailRequest>, IEnumerable <ImportBillDetail> >( createModel.ImportBillDetails); var result = await _importBillService.CreateAsync( importBillEntity, importBillDetails, requestedUserId, createModel.SupplierBillImage, createModel.StorageManagerBillImage, _appSettings.Value.ImportBillImageDir, _env.ContentRootPath ); if (result.IsSuccess == false) { return(BadRequest(result.Errors)); } var locationUri = _uriService.GetByIdUri( ApiRoutes.ImportBill.GetById.Replace( "{importBillId}", result.ImportBill.Id.ToString()) ); var importBillResponse = _mapper.Map <ImportBillResponse>(result.ImportBill); return(Created(locationUri, new Response <ImportBillResponse>(importBillResponse))); }
private async Task SaveImportBillDetailsInCreateImportBill( ImportBill importBill, IEnumerable <ImportBillDetail> importBillDetails) { importBillDetails = importBillDetails.Select(x => { x.CreatedAt = DateTime.UtcNow; x.UpdatedAt = DateTime.UtcNow; x.IsDeleted = false; x.ImportBillId = importBill.Id; return(x); }).ToList(); await _context.ImportBillDetails.AddRangeAsync(importBillDetails); var importBillDetailsCreated = await _context.SaveChangesAsync(); if (!(importBillDetailsCreated > 0)) { throw new Exception("Tạo hoá đơn nhập hàng bị lỗi, xin thử lại!"); } }
private void btnAdd_Click(object sender, EventArgs e) { ImportBill entity = new ImportBill(); entity.Bill = txtBillName.Text; entity.IDWareHouse = Convert.ToInt32(cbWH.SelectedValue); entity.Date = dateTimePicker.Value; entity.Quantity = Convert.ToInt32(txtQuantity.Text); entity.TotalPrice = Convert.ToInt32(txtMoney.Text); FImportBill im = new FImportBill(); var result = im.Insert(entity); foreach (var item in lprodt) { item.IDImBill = entity.ID; FProductDetail dt = new FProductDetail(); dt.Insert(item); } if (result == true) { MessageBox.Show("Thêm phiếu nhập thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public bool UpdateImportBill(int id, ImportBill newImportBill) { try { WebShopEntities db = new WebShopEntities(); ImportBill importBill = db.ImportBills.FirstOrDefault(x => x.id == id); if (importBill == null) { return(false); } importBill.agencyName = newImportBill.agencyName; importBill.code = newImportBill.code; importBill.address = newImportBill.address; importBill.phone = newImportBill.phone; importBill.total = newImportBill.total; db.SaveChanges(); return(true); } catch { return(false); } }
private async Task <ImportBill> PrepareImportBillInfo( ImportBill importBill, int requestedUserId, IEnumerable <ImportBillDetail> importBillDetails, string supplierBillImageLocation, string storageManagerBillImageLocation ) { /** get storage manager to get id from him/her */ var storageManager = await _context.StorageManagers .SingleOrDefaultAsync(sm => sm.UserId == requestedUserId); if (storageManager == null) { throw new Exception("Thủ kho không tồn tại"); } /** Get storage to get Id - temporary handle for only one storage business */ var storage = await _context.Storages .FirstOrDefaultAsync(); /** Prepare default data for import bill */ importBill.Currency = PriceCurrency.VND; importBill.TotalAmount = CalculateTotalAmountInImportBillDetails(importBillDetails); importBill.Code = Regex.Replace( Convert.ToBase64String(Guid.NewGuid().ToByteArray()), "[/+=]", ""); importBill.CreatedAt = DateTime.UtcNow; importBill.UpdatedAt = DateTime.UtcNow; importBill.IsDeleted = false; importBill.StorageId = storage.Id; importBill.StorageManagerId = storageManager.Id; importBill.SupplierBillImageLocation = supplierBillImageLocation; importBill.StorageManagerBillImageLocation = storageManagerBillImageLocation; return(importBill); }
public void Delete(ImportBill entity) { _ImportBillRepository.Delete(entity); }
public void reloadDetailTab(ImportBill importBill) { //((ImportDetailTab.ImportDetailTab)(TabDetail.Content)).reloadUI(importBill); }
public async Task <CreateImportBillResult> CreateAsync( ImportBill importBill, IEnumerable <ImportBillDetail> importBillDetails, int requestedUserId, IFormFile supplierBillImage, IFormFile storageManagerBillImage, string importBillImageDir, string rootDir) { /** Handle upload image to get image links for new ImportBill*/ var uploadSupplierBillImageResult = await _uploadImageService .UploadSingleImage( rootDir, importBillImageDir, supplierBillImage ); var uploadStorageManagerBillImageResult = await _uploadImageService .UploadSingleImage( rootDir, importBillImageDir, supplierBillImage ); if (uploadStorageManagerBillImageResult.IsSuccess == false || uploadStorageManagerBillImageResult.IsSuccess == false) { return(new CreateImportBillResult { IsSuccess = false, Errors = uploadSupplierBillImageResult.Errors.Count() > 0 ? uploadSupplierBillImageResult.Errors : uploadStorageManagerBillImageResult.Errors }); } try { importBill = await PrepareImportBillInfo( importBill, requestedUserId, importBillDetails, uploadSupplierBillImageResult.ImageLocation, uploadStorageManagerBillImageResult.ImageLocation ); } catch (Exception e) { return(new CreateImportBillResult { IsSuccess = false, Errors = new List <string>() { e.Message.ToString() } }); } /** Get request import product and its details to use to validate later */ var requestImportProduct = await _context.RequestImportProducts .Where(rip => rip.Id == importBill.RequestImportProductId && rip.Status == RequestImportProductStatus.Processing && rip.IsDeleted == false) .Include(rip => rip.RequestImportDetails) .FirstOrDefaultAsync(); /** Validate valid RequestImportProduct of this ImportBill */ if (requestImportProduct == null) { return(new CreateImportBillResult { IsSuccess = false, Errors = new List <string>() { "Không được phép tạo hoá đơn nhập cho yêu cầu nhập hàng này nữa!" } }); } /** Validate Import Bill Detail Products */ var importBillDetailValidationResult = await CheckValidImportBillDetail( importBillDetails, requestImportProduct.RequestImportDetails, importBill.RequestImportProductId ); if (importBillDetailValidationResult.IsSuccess == false) { return(new CreateImportBillResult { IsSuccess = false, Errors = importBillDetailValidationResult.Errors }); } /** Save import bill and update related info */ using (var transaction = _context.Database.BeginTransaction()) { try { /** Save Import Bill */ await _context.ImportBills.AddAsync(importBill); var importBillCreated = await _context.SaveChangesAsync(); if (!(importBillCreated > 0)) { transaction.Dispose(); throw new Exception("Tạo hoá đơn nhập hàng bị lỗi, xin thử lại!"); } /** Save Import Detail */ try { await SaveImportBillDetailsInCreateImportBill( importBill, importBillDetails ); } catch (Exception e) { transaction.Dispose(); throw new Exception(e.Message.ToString()); } /** Change status of RequestImportProduct to done if import enough */ try { await ChangeStatusOfRequestImportProductToSucceededWhenImportEnough( importBill, requestImportProduct ); } catch (Exception e) { transaction.Dispose(); throw new Exception(e.Message.ToString()); } /** Update quantity of imported product tiers */ try { await UpdateImportedProductTiersAfterImport( importBillDetails ); } catch (Exception e) { transaction.Dispose(); throw new Exception(e.Message.ToString()); } /** Update entry price of imported product */ try { await UpdateProductEntryPriceBaseOnImportBillDetail( importBillDetails ); } catch (Exception e) { transaction.Dispose(); throw new Exception(e.Message.ToString()); } /** Update quantity left of request import details */ try { await UpdateQuantityLeftOfRequestImportDetail( requestImportProduct.RequestImportDetails, importBillDetails ); } catch (Exception e) { transaction.Dispose(); throw new Exception(e.Message.ToString()); } await transaction.CommitAsync(); } catch (Exception e) { return(new CreateImportBillResult { IsSuccess = false, Errors = new List <string>() { e.Message.ToString() } }); } } /** Get the created import bill and full related information to display on FE */ var createdImportBill = await GetByIdAsync(importBill.Id); return(new CreateImportBillResult { IsSuccess = true, ImportBill = createdImportBill }); }
public Task <int> UpdateDetail(ImportBill importBill) { context.ImportBill.Update(importBill); return(context.SaveChangesAsync()); }
public Task <int> InsertDetail(ImportBill importBill) { context.ImportBill.Add(importBill); return(context.SaveChangesAsync()); }