private List <WTQ1_TransferRequestDetails> GetTransferRequestDetail() { var list = TransferRequestDetails.Where(t => t.Quantity > 0); return(list.Select(d => new WTQ1_TransferRequestDetails() { ItemCode = d.ItemCode, Quantity = d.Quantity, WhsCode = Config.WhsCode, ItemName = d.ItemName, InvntryUom = d.InvntryUom, OnHand1 = d.OnHand1, CreatedDateL = DateTime.Now, CreatedByL = Config.CurrentUser, ModifiedByL = Config.CurrentUser, ModifiedDateL = DateTime.Now, }).ToList()); }
private void AddTransferRequestDetail() { var list = TransferRequestDetails.Where(t => t.Quantity > 0); foreach (var detail in list.Select(d => new WTQ1_TransferRequestDetails() { ItemCode = d.ItemCode, Quantity = d.Quantity, WhsCode = Config.WhsCode, ItemName = d.ItemName, InvntryUom = d.InvntryUom, OnHand1 = d.OnHand1, CreatedDateL = DateTime.Now, CreatedByL = Config.CurrentUser, ModifiedByL = Config.CurrentUser, ModifiedDateL = DateTime.Now, })) { TransferRequest.WTQ1_TransferRequestDetails.Add(detail); } }
private void SavePendingChanges() { //Agregar los que no existen en la tabla detalles var existingIds = TransferRequest.WTQ1_TransferRequestDetails .Select(t => t.ItemCode).ToList(); var newDetails = TransferRequestDetails.ToList() .Where(v => v.Quantity > 0 && !existingIds.Contains(v.ItemCode)) .ToList(); TransferRequest.WTQ1_TransferRequestDetails .AddRange(newDetails); // todos los cambios en la colleccion detalles. var existingDetails = TransferRequestDetails.ToList() .Where(v => existingIds.Contains(v.ItemCode)).ToList(); //Actualizar la cantidad de el producto seleccionado y modificado en la colleccion. foreach (var detail in existingDetails) { var d = TransferRequest.WTQ1_TransferRequestDetails.FirstOrDefault(c => c.ItemCode == detail.ItemCode); d.Quantity = detail.Quantity; } var codes = existingDetails.Where(q => q.Quantity == 0).Select(d => d.ItemCode).ToList(); if (TransferRequest.WTQ1_TransferRequestDetails != null) { var toDelete = TransferRequest.WTQ1_TransferRequestDetails .Where(d => codes.Contains(d.ItemCode)) .ToList(); TransferRequestHelper.DeleteZeroQtyDetails(toDelete); } }