public void DeletePurchaseReturn(int id) { try { using (this.unitOfWork) { var item = FetchPurchaseReturnById(id); if (item != null) { item.IsDeleted = true; foreach (var i in item.PurchaseReturnDetail) { AutoPartDetail a = db.AutoPartDetail.FirstOrDefault(b => b.Id == i.PartDetailId); a.Quantity += i.Quantity; } } string action = string.Format("Deleted Purchase Return - {0}", item.MemoNumber); this.actionLogController.AddToLog(action, UserInfo.UserId); this.unitOfWork.SaveChanges(); } } catch (Exception ex) { throw ex; } }
public void InsertPurchaseReturn(PurchaseReturnColumnModel model) { try { using (this.unitOfWork) { PurchaseReturn item = new PurchaseReturn() { MemoNumber = model.MemoNumber, CustomerId = model.CustomerId, ReturnDate = model.ReturnDate, AmountReturn = model.AmountReturn, Adjustment = model.Adjustment, TotalDebitAmount = model.TotalDebitAmount, Remarks = model.Remarks, IsDeleted = model.IsDeleted, RecordedBy = model.RecordedByUser, ApprovedBy = model.ApprovedByUser, AmountUsed = 0 }; if (model.Details.Count > 0) { foreach (PurchaseReturnDetailModel d in model.Details) { PurchaseReturnDetail detail = new PurchaseReturnDetail() { PartDetailId = d.PartDetailId, PONumber = d.PONumber, Quantity = d.Quantity, UnitPrice = d.UnitPrice, TotalAmount = d.TotalAmount, Balance = d.TotalAmount }; item.PurchaseReturnDetail.Add(detail); AutoPartDetail autoDetail = db.AutoPartDetail.FirstOrDefault(a => a.Id == d.PartDetailId); if (autoDetail != null) { autoDetail.Quantity -= d.Quantity; } } } this.unitOfWork.Context.AddToPurchaseReturn(item); string action = string.Format("Added New Purchase Return - {0}", item.MemoNumber); this.actionLogController.AddToLog(action, UserInfo.UserId); this.unitOfWork.SaveChanges(); } } catch (Exception ex) { throw ex; } }
public void LoadPartDetails() { if (AutoPartId != 0) { AutoPartDetail d = this.autoPartController.FetchAutoPartDetailById(AutoPartId); AutoPartTextbox.Text = d.AutoPart.PartName; DescriptionTextbox.Text = d.Description; PartNumberTextbox.Text = d.PartNumber; //AltTextbox.Text = d.AltPartNumber; BrandDropdown.SelectedValue = d.BrandId; ModelTextbox.Text = d.Model; MakeTextbox.Text = d.Make; SizeTextbox.Text = d.Size; UnitTextbox.Text = d.Unit; PurchasePriceTextbox.Text = d.BuyingPrice.HasValue ? d.BuyingPrice.Value.ToString("N2") : "0.00"; SellingPriceTextbox.Text = d.SellingPrice1.HasValue ? d.SellingPrice1.Value.ToString("N2") : "0.00"; SellingPrice2Textbox.Text = d.SellingPrice2.HasValue ? d.SellingPrice2.Value.ToString("N2") : "0.00"; InitialQtyTextbox.Text = d.Quantity.HasValue ? d.Quantity.Value.ToString() : "0"; ReorderTextbox.Text = d.ReorderLimit.HasValue ? d.ReorderLimit.Value.ToString() : "0"; PictureTextbox.Text = !string.IsNullOrWhiteSpace(d.Picture) ? d.Picture : string.Empty; if (d.AutoPartAltPartNumber.Count > 0) { StringBuilder altNumbers = new StringBuilder(); foreach (var alt in d.AutoPartAltPartNumber) { altNumbers.AppendFormat("{0}{1}", alt.AltPartNumber, Environment.NewLine); } AltTextbox.Text = altNumbers.ToString(); } _origQty = d.Quantity.HasValue ? d.Quantity.Value : 0; _origPartName = d.AutoPart.PartName; } else { ClearForm(); } }
public void UpdatePurchaseReturn(PurchaseReturnColumnModel model) { try { using (this.unitOfWork) { var item = FetchPurchaseReturnById(model.Id); if (item != null) { //Delete old details if (item.PurchaseReturnDetail.Any()) { foreach (var d in item.PurchaseReturnDetail.ToList()) { AutoPartDetail detail = db.AutoPartDetail.FirstOrDefault(a => a.Id == d.PartDetailId); detail.Quantity += d.Quantity; foreach (var payment in d.PurchasePayments.ToList()) { item.AmountUsed -= payment.Amount; db.DeleteObject(payment); } db.DeleteObject(d); } } item.MemoNumber = model.MemoNumber; item.CustomerId = model.CustomerId; item.ReturnDate = model.ReturnDate; item.AmountReturn = model.AmountReturn; item.Adjustment = model.Adjustment; item.TotalDebitAmount = model.TotalDebitAmount; item.Remarks = model.Remarks; item.IsDeleted = model.IsDeleted; item.RecordedBy = model.RecordedByUser; item.ApprovedBy = model.ApprovedByUser; //Add the new items if (model.Details.Count > 0) { foreach (PurchaseReturnDetailModel d in model.Details) { var autoPart = db.AutoPartDetail.FirstOrDefault(a => a.Id == d.PartDetailId); autoPart.Quantity -= d.Quantity; PurchaseReturnDetail detail = new PurchaseReturnDetail() { PartDetailId = d.PartDetailId, PONumber = d.PONumber, Quantity = d.Quantity, UnitPrice = d.UnitPrice, TotalAmount = d.TotalAmount, Balance = d.TotalAmount }; item.PurchaseReturnDetail.Add(detail); } } } string action = string.Format("Updated Purchase Return - {0}", item.MemoNumber); this.actionLogController.AddToLog(action, UserInfo.UserId); this.unitOfWork.SaveChanges(); } } catch (Exception ex) { throw ex; } }
public void InsertAutoPart(AutoPartColumnModel model) { try { using (this.unitOfWork) { AutoPart item = FetchAutoPartById(model.PartId); if (item != null) { item.PartName = model.PartName; } else { item = new AutoPart() { PartName = model.PartName, IsDeleted = false }; db.AddToAutoPart(item); } //Add details if (model.AutoPartDetail != null) { AutoPartDetailColumnModel detail = model.AutoPartDetail; AutoPartDetail d = new AutoPartDetail() { Make = detail.Make, Model = detail.Model, BrandId = detail.BrandId, IsDeleted = false, PartNumber = detail.PartNumber, Quantity = detail.Quantity, SellingPrice1 = detail.SellingPrice, SellingPrice2 = detail.SellingPrice2, Unit = detail.Unit, ReorderLimit = detail.ReorderLimit, BuyingPrice = detail.PurchasePrice, Size = detail.Size, Picture = !string.IsNullOrWhiteSpace(detail.Picture) ? Path.GetFileName(detail.Picture) : string.Empty, Description = detail.Description }; if (model.AutoPartDetail.AltPartNumbers.Count > 0) { foreach (string n in model.AutoPartDetail.AltPartNumbers) { AutoPartAltPartNumber altNumber = new AutoPartAltPartNumber() { AltPartNumber = n }; d.AutoPartAltPartNumber.Add(altNumber); } } if (!string.IsNullOrWhiteSpace(model.AutoPartDetail.Picture)) { SavePictureFile(model.AutoPartDetail.Picture); } item.AutoPartDetail.Add(d); } string action = string.Format("Added new Auto Part - {0} {1}", model.PartName, model.AutoPartDetail.PartNumber); this.actionLogController.AddToLog(action, UserInfo.UserId); this.unitOfWork.SaveChanges(); } } catch (Exception ex) { throw ex; } }