internal static PRODUCT FindProductByCode(string codeProduct) { using (IDalProduct dal = new DalProduct()) { return(dal.GetProductByCode(codeProduct)); } }
internal static void AddNewTransactionDetail(string codeProduct, string terminal, string transaction, bool minus) { using (IDalTransaction dal = new DalTransaction()) { //find productId with codeProduct PRODUCT prod; using (IDalProduct dalP = new DalProduct()) { prod = dalP.GetProductByCode(codeProduct); } //verify if product exist in detail and Add or Remove itemDetail IList <TRANSACTION_DETAILS> detailList = FindTransactionDetailsListById(transaction); var result = VerifyProductInDetail(prod.idProduct, detailList); if (result) { //Product exist --> Modify qty foreach (var item in detailList) { if (item.productId == prod.idProduct) { var newqty = 0; if (minus) { //qty-- newqty = item.quantity - 1; if (newqty == 0) { dal.DeleteDetail(item.idTransactionDetails); break; } dal.EditQtyToDetailById(item.idTransactionDetails, newqty); break; } else { //qty++ newqty = item.quantity + 1; dal.EditQtyToDetailById(item.idTransactionDetails, newqty); break; } } } } else { //Add new detail --> param product, terminalId, transactionId, vatItem decimal vatItem; using (IDalVat dalV = new DalVat()) { vatItem = dalV.GetVatValById(prod.vatId); } int terminalId = int.Parse(terminal); int transactionId = int.Parse(transaction); dal.CreateDetail(prod, terminalId, transactionId, vatItem); } } }
internal static IList <TrDetailsViewModel> TranslateDetailList(IList <TrDetailsViewModel> listDetails, int lang) { using (IDalProduct dal = new DalProduct()) { foreach (var item in listDetails) { var prod = dal.GetProductByCode(item.ProductCode); item.ProductName = dal.GetNameProductById(prod.idProduct, lang); } return(listDetails); } }