コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
        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();
            }
        }
コード例 #4
0
        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;
            }
        }
コード例 #5
0
        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;
            }
        }