Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            ServiceFtp sftp = new ServiceFtp(new NetworkCredential("AvisSite", "dm#o4%v#Wn43arWv2"), "ftp://new.avislogistics.kz:2021/GOODS_RECEIPT/");
            //sftp.DownLoadFile();

            GoodsReceipt g = sftp.Df("new_GOODS_RECEIPT_20180313-200655-249.xml");
        }
Ejemplo n.º 2
0
        public bool Add(GoodsReceipt goodsReceipt, List <PriceDetails> priceDetails, int staffId)
        {
            try
            {
                goodsReceipt.CreatedDate = DateTime.Now;
                goodsReceipt.StaffId     = staffId;
                foreach (var item in priceDetails)
                {
                    this.UnitOfWork.PriceDetailsRepository.Add(item);
                }
                foreach (var item in goodsReceipt.GoodsReceiptSubProducts)
                {
                    var subProduct = this.UnitOfWork.SubProductRepository.GetById(item.SubProductId);
                    subProduct.ProductLeft += item.Quantity;
                    this.UnitOfWork.SubProductRepository.UpdateOneField(subProduct, "ProductLeft");
                }
                this.UnitOfWork.GoodsReceiptRepository.Add(goodsReceipt);

                this.UnitOfWork.Save();
                return(true);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                return(false);
            }
        }
        public async Task <IActionResult> PutGoodsReceipt(int id, GoodsReceipt goodsReceipt)
        {
            if (id != goodsReceipt.ReceiptId)
            {
                return(BadRequest());
            }

            _context.Entry(goodsReceipt).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!GoodsReceiptExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Ejemplo n.º 4
0
 public async static Task SaveGoodsReceipt(GoodsReceipt itemPara, GoodsReceipt oldItem)
 {
     using (var db = new SalesContext())
     {
         db.Entry(itemPara).State = EntityState.Modified;
         await UpdateDatabase(db);
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Carga los datos seleccionados en los controles.
 /// </summary>
 private void LoadGoodsReceiptObject(GoodsReceipt pObjReceipt)
 {
     txtFolio.Text      = pObjReceipt.Folio;
     txtQuantity.Text   = pObjReceipt.Quantity.ToString();
     txtItemId.Text     = pObjReceipt.ItemId.ToString();
     txtCustomerId.Text = pObjReceipt.CustomerId.ToString();
     tbItem.Text        = pObjReceipt.Item.Name;
     tbCustomer.Text    = pObjReceipt.Customer.Name;
     dpDate.Text        = pObjReceipt.ExpirationDate.ToShortDateString();
 }
Ejemplo n.º 6
0
        public async Task <IHttpActionResult> PostGoodsReceipt(GoodsReceiptViewModel goodsReceiptVm)
        {
            if (!ModelState.IsValid)
            {
                foreach (var v in ModelState.Values)
                {
                    foreach (var e in v.Errors)
                    {
                        if (e.Exception != null)
                        {
                            return
                                (BadRequest(
                                     "Something went wrong. Please check your form fields for disallowed or missing values."));
                        }
                    }
                }

                return(BadRequest(ModelState));
            }

            var supply =
                await _db.GoodsReceipts.FirstOrDefaultAsync(
                    d => d.GoodsReceiptSupply.SupplyGuid == goodsReceiptVm.GoodsReceiptSupply);

            if (supply != null)
            {
                return(BadRequest($"GoodsReceipt Note for Supply {supply.GoodsReceiptSupply.SupplyGuid} already exists."));
            }

            var goodsReceipt = new GoodsReceipt
            {
                GoodsReceiptGuid   = Guid.NewGuid(),
                GoodsReceiptSupply =
                    await _db.Supplys.FirstOrDefaultAsync(o => o.SupplyGuid == goodsReceiptVm.GoodsReceiptSupply)
            };

            _db.GoodsReceipts.Add(goodsReceipt);

            try
            {
                await _db.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (GoodsReceiptExists(goodsReceipt.GoodsReceiptGuid))
                {
                    return(Conflict());
                }
                throw;
            }

            await PostGoodsReceiptItems(goodsReceiptVm.GoodsReceiptItems, goodsReceipt.GoodsReceiptGuid);

            return(CreatedAtRoute("DefaultApi", new { id = goodsReceipt.GoodsReceiptGuid }, goodsReceipt));
        }
Ejemplo n.º 7
0
        //public bool AddNewQuotation(GoodsReturn Goodsreturn, IList<GoodsReturnitems> GoodsreturnItemList, ref string ErrorMessage)
        //{
        //    ErrorMessage = string.Empty;
        //    try
        //    {
        //        goodsreturncontext.goodsreturn.Add(Goodsreturn);

        //        goodscontext.SaveChanges();

        //        int currentId = Goodsreturn.Goods_Receipt_Id;

        //        for (int i = 0; i < GoodsreturnItemList.Count; i++)
        //        {
        //            GoodsreturnItemList[i].Goods_Return_Id = currentId;
        //        }

        //        goodsreturncontext.goodsreturnitem.AddRange(GoodsreturnItemList);

        //        goodsreturncontext.SaveChanges();

        //        return true;
        //    }

        //    catch (DbEntityValidationException dbEx)
        //    {
        //        var errorList = new List<string>();

        //        foreach (var validationErrors in dbEx.EntityValidationErrors)
        //        {
        //            foreach (var validationError in validationErrors.ValidationErrors)
        //            {
        //                errorList.Add(String.Format("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage));
        //            }
        //        }
        //        return false;
        //    }
        //    //catch (Exception ex)
        //    //{
        //    //    ExceptionHandler.LogException(ex);
        //    //    ErrorMessage = ex.Message;
        //    //    return false;
        //    //}
        //}


        public bool UpdateQuotationreceipt(GoodsReceipt Quotation, IList <GoodsReceiptItems> QuotationItemList, ref string ErrorMessage)
        {
            ErrorMessage = string.Empty;
            try
            {
                goodsreturncontext.Entry(Quotation).State = EntityState.Modified;
                goodsreturncontext.SaveChanges();

                foreach (var model1 in QuotationItemList)
                {
                    if (model1.IsDummy == 1)
                    {
                        goodsreturncontext.Entry(model1).State = EntityState.Deleted;
                        goodsreturncontext.SaveChanges();
                    }
                    else
                    {
                        if (model1.Id == 0)
                        {
                            model1.Goods_Receipt_Id = Quotation.Goods_Receipt_Id;
                            goodsreturncontext.goodsreceiptitem.Add(model1);
                            goodsreturncontext.SaveChanges();
                        }
                        else
                        {
                            goodsreturncontext1.goodsreceiptitem.Attach(model1);
                            goodsreturncontext1.Entry(model1).State = EntityState.Modified;
                            //goodscontext.SaveChanges();
                        }
                        goodsreturncontext1.SaveChanges();
                    }
                }

                return(true);
            }
            //catch (Exception ex)
            //{
            //    ExceptionHandler.LogException(ex);
            //    ErrorMessage = ex.Message;
            //    return false;
            //}
            catch (DbEntityValidationException dbEx)
            {
                var errorList = new List <string>();

                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        errorList.Add(String.Format("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage));
                    }
                }
                return(false);
            }
        }
Ejemplo n.º 8
0
        public GoodsReceipt DF(string pathToFile)
        {
            GoodsReceipt  gr        = null;
            XmlSerializer formatter = new XmlSerializer(typeof(GoodsReceipt));

            using (FileStream fs = new FileStream(pathToFile, FileMode.Open))
            {
                gr = (GoodsReceipt)formatter.Deserialize(fs);
            }
            return(gr);
        }
Ejemplo n.º 9
0
        internal static void CodeGenerate(GoodsReceipt model)
        {
            int numId = 0;

            numId = model.Id;
            Random rnd = new Random();
            var    x   = numId.ToString("D5");
            var    y   = x.Count();

            model.InvoiceCode = "IVC" + x.Substring(y - 5, 5) + rnd.Next(0, 10);
        }
Ejemplo n.º 10
0
        // GET: GoodsReceipt
        //public ActionResult Index()
        //{
        //    var receipt = db.goodsreceipt.Include(g => g.branch).Include(g => g.purchaseorder);
        //    return View(receipt.ToList());
        //}

        // GET: GoodsReceipt/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            GoodsReceipt goodsReceipt = goodscontext.goodsreceipt.Find(id);

            if (goodsReceipt == null)
            {
                return(HttpNotFound());
            }
            return(View(goodsReceipt));
        }
Ejemplo n.º 11
0
 public async static Task DeleteGoodsReceipt(GoodsReceipt itemPara)
 {
     using (var db = new SalesContext())
     {
         //if (itemPara.Store != null)                                   //NOT DELETE - IMPORTANT
         //    db.Stores.Attach(itemPara.Store);
         //if (itemPara.Product != null)                                   //NOT DELETE - IMPORTANT
         //    db.Products.Attach(itemPara.Product);
         db.Entry(itemPara).State = EntityState.Unchanged;                       //NOT DELETE - IMPORTANT
         GoodsReceipts.Remove(itemPara);
         db.Entry(itemPara).State = EntityState.Deleted;
         await UpdateDatabase(db);
     }
 }
Ejemplo n.º 12
0
        /// <summary>
        /// Carga los datos al dar doble clic en en el DataGrid.
        /// </summary>
        private void dgGoodsReceipts_MouseDoubleClick(object pObjSender, MouseButtonEventArgs pObjArgs)
        {
            var lVarGoodsReceipt = dgGoodsReceipt.SelectedItem as GoodsRecieptToPickDTO;

            mObjGoodsReceipt = mObjInventoryServicesFactory.GetGoodsReceiptService().GetList().Where(x => x.Id == lVarGoodsReceipt.Id).FirstOrDefault();

            LoadGoodsReceiptObject(mObjGoodsReceipt);
            mLonId = mObjGoodsReceipt.Id;

            btnSave.Content  = "Modificar";
            lbltitle.Content = "Modificar registro";

            btnNew.Visibility    = Visibility.Visible;
            btnDelete.Visibility = Visibility.Visible;
        }
Ejemplo n.º 13
0
        public ActionResult CreateGoodsReceipt(GoodsReceipt model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            model.CreatedAt  = DateTime.Now;
            model.UpdatedAt  = DateTime.Now;
            model.ReceivedAt = DateTime.Now;

            _db.GoodsReceipts.Add(model);
            _db.SaveChanges();

            return(RedirectToAction("RegisterVehicleData", "ShowRoom", new { id = model.VehicleId }));
        }
Ejemplo n.º 14
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            GoodsReceipt = await _context.GoodsReceipt
                           .Include(g => g.Supplier).FirstOrDefaultAsync(m => m.Id == id);

            if (GoodsReceipt == null)
            {
                return(NotFound());
            }
            return(Page());
        }
        public async Task <ActionResult <Delivery> > PostDelivery(DeliveryDTO deliveryDTO)
        {
            PurchaseOrder purchaseOrder = _context.PurchaseOrders.Include(e => e.Supplier).FirstOrDefault(e => e.OrderReference == deliveryDTO.PurchaseOrder);
            Site          site          = _context.Sites.FirstOrDefault(e => e.SiteCode == deliveryDTO.SiteCode);

            Delivery delivery = new Delivery
            {
                DeliveryId     = deliveryDTO.DeliveryId,
                DeliveryMethod = deliveryDTO.DeliveryMethod,
                OnSiteDelivery = true,
                DeliveryStatus = deliveryDTO.DeliveryStatus,
                PayableAmount  = purchaseOrder.TotalCost,
                IsFullDelivery = true,
                PurchaseOrder  = purchaseOrder,
                Site           = site
            };

            GoodsReceipt goodsReceipt = new GoodsReceipt
            {
                PurchaseOrder = purchaseOrder,
                Supplier      = purchaseOrder.Supplier,
                Site          = purchaseOrder.Site,
                Delivery      = delivery,
                DateDelivered = DateTime.UtcNow
            };

            _context.Deliveries.Add(delivery);
            _context.GoodsReceipt.Add(goodsReceipt);

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (DeliveryExists(delivery.DeliveryId))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetDelivery", new { id = delivery.DeliveryId }, delivery));
        }
Ejemplo n.º 16
0
        public bool UpdateQuotation(GoodsReceipt Goodsreceipt, IList <GoodsReceiptItems> GoodsItemList, ref string ErrorMessage)
        {
            ErrorMessage = string.Empty;
            try
            {
                goodscontext.Entry(Goodsreceipt).State = EntityState.Modified;
                goodscontext.SaveChanges();

                foreach (var model in GoodsItemList)
                {
                    if (model.IsDummy == 1)
                    {
                        goodscontext.Entry(model).State = EntityState.Deleted;
                        goodscontext.SaveChanges();
                    }
                    else
                    {
                        if (model.Goods_Receipt_Id == 0)
                        {
                            model.Goods_Receipt_Id = Goodsreceipt.Goods_Receipt_Id;
                            goodscontext.goodsreceiptitem.Add(model);
                            goodscontext.SaveChanges();
                        }
                        else
                        {
                            goodscontext.Entry(model).State = EntityState.Modified;
                            goodscontext.SaveChanges();
                        }
                    }
                }

                return(true);
            }
            catch (DbEntityValidationException dbEx)
            {
                var errorList = new List <string>();

                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        errorList.Add(String.Format("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage));
                    }
                }
                return(false);
            }
        }
Ejemplo n.º 17
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            GoodsReceipt = await _context.GoodsReceipt
                           .Include(g => g.Supplier).FirstOrDefaultAsync(m => m.Id == id);

            if (GoodsReceipt == null)
            {
                return(NotFound());
            }
            ViewData["SupplierId"] = new SelectList(_context.Supplier, "Id", "Id");
            return(Page());
        }
Ejemplo n.º 18
0
        public bool AddNewQuotation(GoodsReceipt Goodsreceipt, IList <GoodsReceiptItems> GoodsItemList, ref string ErrorMessage)
        {
            ErrorMessage = string.Empty;
            try
            {
                // findid(id);
                goodscontext.goodsreceipt.Add(Goodsreceipt);

                goodscontext.SaveChanges();

                int currentId = Goodsreceipt.Goods_Receipt_Id;

                for (int i = 0; i < GoodsItemList.Count; i++)
                {
                    GoodsItemList[i].Goods_Receipt_Id = currentId;
                }

                goodscontext.goodsreceiptitem.AddRange(GoodsItemList);

                goodscontext.SaveChanges();

                return(true);
            }

            catch (DbEntityValidationException dbEx)
            {
                var errorList = new List <string>();

                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        errorList.Add(String.Format("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage));
                    }
                }
                return(false);
            }
            //catch (Exception ex)
            //{
            //    ExceptionHandler.LogException(ex);
            //    ErrorMessage = ex.Message;
            //    return false;
            //}
        }
Ejemplo n.º 19
0
        /// <summary>
        /// Coloca los controles a su estado original.
        /// </summary>
        private void ResetForm()
        {
            grReceipt.ClearControl();

            btnSave.Content  = "Guardar";
            lbltitle.Content = "Nuevo registro";

            dpDate.SelectedDate = mObjAuction != null ? mObjAuction.Date : DateTime.Now;
            tbCustomer.Text     = string.Empty;
            tbItem.Text         = string.Empty;

            mLonId = 0;
            btnDelete.Visibility  = Visibility.Collapsed;
            btnNew.Visibility     = Visibility.Collapsed;
            lblMessage.Visibility = Visibility.Collapsed;

            mObjGoodsReceipt = null;
            mObjItem         = null;
            mObjPartner      = null;
        }
Ejemplo n.º 20
0
        public async Task <ActionResult <Invoice> > PostInvoice(InvoiceDTO invoiceDTO)
        {
            GoodsReceipt    goodsReceipt    = _context.GoodsReceipt.FirstOrDefault(e => e.ReceiptId == invoiceDTO.GoodsReceipt);
            Supplier        supplier        = _context.Supplier.FirstOrDefault(e => e.SupplierCode == invoiceDTO.Supplier);
            AccountingStaff accountingStaff = _context.AccountingStaff.FirstOrDefault(e => e.StaffId == invoiceDTO.AccountingStaffId);

            Invoice invoice = new Invoice
            {
                InvoiceId         = invoiceDTO.InvoiceId,
                GoodsReceipt      = goodsReceipt,
                Supplier          = supplier,
                HandledAccountant = accountingStaff,
                InvoiceDate       = DateTime.UtcNow,
                InvoiceStatus     = invoiceDTO.InvoiceStatus,
                Description       = invoiceDTO.Description,
                NetAmount         = invoiceDTO.NetAmount,
                GrossAmount       = invoiceDTO.GrossAmount,
                TaxAmount         = invoiceDTO.TaxAmount,
                CreditNote        = invoiceDTO.CreditNote,
                AdvancePayment    = invoiceDTO.AdvancePayment
            };

            _context.Invoice.Add(invoice);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (InvoiceExists(invoice.InvoiceId))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetInvoice", new { id = invoice.InvoiceId }, invoice));
        }
        public async Task <ActionResult <GoodsReceipt> > PostGoodsReceipt(GoodsReceiptDTO goodsReceiptDTO)
        {
            PurchaseOrder purchaseOrder = _context.PurchaseOrders.FirstOrDefault(e => e.OrderReference == goodsReceiptDTO.PurchaseOrder);
            Supplier      supplier      = _context.Supplier.FirstOrDefault(e => e.SupplierCode == goodsReceiptDTO.SupplierCode);
            Site          site          = _context.Sites.FirstOrDefault(e => e.SiteCode == goodsReceiptDTO.SiteCode);
            Delivery      delivery      = _context.Deliveries.FirstOrDefault(e => e.DeliveryId == goodsReceiptDTO.DeliveryId);

            GoodsReceipt goodsReceipt = new GoodsReceipt
            {
                DateDelivered = goodsReceiptDTO.DateDelivered,
                PurchaseOrder = purchaseOrder,
                Supplier      = supplier,
                Site          = site,
                Delivery      = delivery
            };

            _context.GoodsReceipt.Add(goodsReceipt);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetGoodsReceipt", new { id = goodsReceipt.ReceiptId }, goodsReceipt));
        }
Ejemplo n.º 22
0
        public void DownloadFile()
        {
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create(path); // запрос

            request.Method = WebRequestMethods.Ftp.ListDirectory;


            request.Credentials = credential;
            request.Proxy       = null;

            var    responce = (FtpWebResponse)request.GetResponse();
            Stream stream   = responce.GetResponseStream();

            List <string> ListFiles = new List <string>();

            if (stream != null)
            {
                using (var reader = new StreamReader(stream))
                {
                    var line = reader.ReadLine();
                    while (!string.IsNullOrEmpty(line))
                    {
                        ListFiles.Add(line);
                        line = reader.ReadLine();
                        Console.WriteLine("File  " + line + "  is ready");
                    }
                }
                using (var ftpClients = new WebClient()
                {
                    Credentials = credential
                })
                {
                    foreach (var item in ListFiles)
                    {
                        ftpClients.DownloadFile(path + "/" + item, "new_" + item);
                        GoodsReceipt g = DF("new_" + item);
                    }
                }
            }
        }
Ejemplo n.º 23
0
        private void SaveGoodsReceipt()
        {
            FormLoading(true);
            try
            {
                GoodsReceipt lObjGoodsReceipt = new GoodsReceipt();

                this.Dispatcher.Invoke(() =>
                {
                    lObjGoodsReceipt.Folio          = txtFolio.Text;
                    lObjGoodsReceipt.Quantity       = Convert.ToInt32(txtQuantity.Text); //verifcar solo numeros
                    lObjGoodsReceipt.Exported       = false;
                    lObjGoodsReceipt.CustomerId     = mObjPartner != null ? mObjPartner.Id : mObjGoodsReceipt.CustomerId;
                    lObjGoodsReceipt.BatchNumber    = mObjPartner != null ? string.Format("{0}{1}", mObjPartner.ForeignName, DateTime.Now.ToString("yyMMddHHmmss")) : mObjGoodsReceipt.BatchNumber;
                    lObjGoodsReceipt.BatchDate      = mLonId == 0 ? DateTime.Now : mObjGoodsReceipt.BatchDate;
                    lObjGoodsReceipt.ExpirationDate = Convert.ToDateTime(dpDate.Text);
                    lObjGoodsReceipt.ItemId         = mObjItem != null ? mObjItem.Id : mObjGoodsReceipt.ItemId;

                    if (mLonId != 0)
                    {
                        lObjGoodsReceipt.Id = mLonId;
                    }
                });

                mObjInventoryServicesFactory.GetGoodsReceiptService().SaveOrUpdate(lObjGoodsReceipt);
                FormDefult(true);

                mObjWorker = new Thread(() => LoadDatagrid());
                mObjWorker.Start();

                this.Dispatcher.Invoke(() => ResetForm());
            }
            catch (Exception lObjException)
            {
                FormDefult(true);
                ShowMessage("Error", lObjException.Message);
            }
        }
Ejemplo n.º 24
0
        public async static Task AddGoodsReceipt(GoodsReceipt itemPara)
        {
            using (var db = new SalesContext())
            {
                if (itemPara.Store != null)
                {
                    itemPara.StoreID = itemPara.Store.Id;
                    db.Entry(itemPara.Store).State = EntityState.Unchanged;
                }
                foreach (ReceiptDetail rd in itemPara.ReceiptDetails)
                {
                    rd.ProductID = rd.Product.Id;
                    db.Entry(rd.Product).State = EntityState.Unchanged;
                    //db.ReceiptDetails.Add(rd);
                }
                db.GoodsReceipts.Add(itemPara);
                await UpdateDatabase(db);

                CodeGenerate(itemPara);
                await UpdateDatabase(db);

                GoodsReceipts.Add(itemPara);
            }
        }
Ejemplo n.º 25
0
 public void SaveOrUpdate(GoodsReceipt pObjGoodsReceipt)
 {
     mObjGoodsReceiptDAO.SaveOrUpdateEntity(pObjGoodsReceipt);
 }
Ejemplo n.º 26
0
        private void Seed()
        {
            using (var context = new ProcurementDbContext(ContextOptions))
            {
                context.Database.EnsureDeleted();
                context.Database.EnsureCreated();

                var manager1 = new SiteManager {
                    StaffId = "EMP1", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874"
                };

                context.SiteManagers.Add(manager1);
                context.SiteManagers.Add(new SiteManager {
                    StaffId = "EMP2", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874"
                });
                context.SiteManagers.Add(new SiteManager {
                    StaffId = "EMP3", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874"
                });

                context.ManagementStaff.Add(new ManagementStaff {
                    StaffId = "EMP11", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874"
                });
                context.ManagementStaff.Add(new ManagementStaff {
                    StaffId = "EMP12", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874"
                });
                context.ManagementStaff.Add(new ManagementStaff {
                    StaffId = "EMP13", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874"
                });

                context.AccountingStaff.Add(new AccountingStaff {
                    StaffId = "EMP21", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874"
                });
                context.AccountingStaff.Add(new AccountingStaff {
                    StaffId = "EMP22", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874"
                });
                context.AccountingStaff.Add(new AccountingStaff {
                    StaffId = "EMP23", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874"
                });

                var site1 = new Site {
                    SiteCode = "SITE001", SiteName = "SLIIT Campus Site", SiteAddress = "Malabe", Description = "Malabe SLIIT Campus working site", SiteOfficeNo = "0115489657", SiteManager = manager1
                };

                context.Sites.Add(site1);

                var supplier1 = new Supplier {
                    SupplierCode = "SP1", SupplierName = "MAS Holdings", Address1 = "Colombo 3", CompanyNo = "011548795", MobileNo = "077485698", Email = "*****@*****.**"
                };

                context.Supplier.Add(supplier1);
                context.Supplier.Add(new Supplier {
                    SupplierCode = "SP2", SupplierName = "MAS Holdings", Address1 = "Colombo 3", CompanyNo = "011548795", MobileNo = "077485698", Email = "*****@*****.**"
                });
                context.Supplier.Add(new Supplier {
                    SupplierCode = "SP3", SupplierName = "MAS Holdings", Address1 = "Colombo 3", CompanyNo = "011548795", MobileNo = "077485698", Email = "*****@*****.**"
                });

                var item1 = new Item {
                    ItemId = "IT001", ItemName = "Roofing Sheets", ItemPrice = 200.20, Description = "Roof sheets"
                };
                var item2 = new Item {
                    ItemId = "IT002", ItemName = "Roofing Sheets", ItemPrice = 200.20, Description = "Roof sheets"
                };
                var item3 = new Item {
                    ItemId = "IT003", ItemName = "Roofing Sheets", ItemPrice = 200.20, Description = "Roof sheets"
                };
                context.Items.Add(item1);
                context.Items.Add(item2);
                context.Items.Add(item3);
                var itemSupplier1 = new ItemSuppliers {
                    Item = item1, Supplier = supplier1
                };
                var itemSupplier2 = new ItemSuppliers {
                    Item = item2, Supplier = supplier1
                };
                var itemSupplier3 = new ItemSuppliers {
                    Item = item3, Supplier = supplier1
                };
                context.Add(itemSupplier1);
                context.Add(itemSupplier2);
                context.Add(itemSupplier3);

                var requisition1 = new PurchaseRequisition
                {
                    RequisitionNo   = 1,
                    ShippingAddress = "Malabe",
                    TotalCost       = 2000.00,
                    Status          = "Pending",
                    SiteManager     = manager1,
                    Supplier        = supplier1,
                    Site            = site1
                };
                context.PurchaseRequisitions.Add(requisition1);
                var requisitionItem1 = new PurchaseRequisitionItems {
                    Item = item1, PurchaseRequisition = requisition1, ItemCount = 3
                };
                var requisitionItem2 = new PurchaseRequisitionItems {
                    Item = item2, PurchaseRequisition = requisition1, ItemCount = 2
                };
                var requisitionItem3 = new PurchaseRequisitionItems {
                    Item = item3, PurchaseRequisition = requisition1, ItemCount = 1
                };
                context.Add(requisitionItem1);
                context.Add(requisitionItem2);
                context.Add(requisitionItem3);

                var order1 = new PurchaseOrder
                {
                    OrderReference  = 1,
                    ShippingAddress = "Malabe",
                    TotalCost       = 2000.00,
                    OrderStatus     = "IN PROCESS",
                    SiteManager     = manager1,
                    Supplier        = supplier1,
                    Site            = site1
                };
                context.PurchaseOrders.Add(order1);
                var orderItems1 = new PurchaseOrderItems {
                    Item = item1, PurchaseOrder = order1, ItemCount = 3
                };
                var orderItems2 = new PurchaseOrderItems {
                    Item = item2, PurchaseOrder = order1, ItemCount = 2
                };
                var orderItems3 = new PurchaseOrderItems {
                    Item = item3, PurchaseOrder = order1, ItemCount = 1
                };
                context.Add(orderItems1);
                context.Add(orderItems2);
                context.Add(orderItems3);

                var enquiry1 = new Enquiry {
                    EnquiryId = 1, Description = "Why order is late?", EnquiryStatus = "Pending", OrderReference = order1, SiteManager = manager1
                };
                var enquiry2 = new Enquiry {
                    EnquiryId = 2, Description = "Why order is late?", EnquiryStatus = "Pending", OrderReference = order1, SiteManager = manager1
                };
                var enquiry3 = new Enquiry {
                    EnquiryId = 3, Description = "Why order is late?", EnquiryStatus = "Pending", OrderReference = order1, SiteManager = manager1
                };
                context.Add(enquiry1);
                context.Add(enquiry2);
                context.Add(enquiry3);

                var delivery1 = new Delivery {
                    DeliveryId = "DL001", OnSiteDelivery = true, DeliveryStatus = "On Process", IsFullDelivery = true, Site = site1, PurchaseOrder = order1
                };
                context.Deliveries.Add(delivery1);

                var goodsReceipt1 = new GoodsReceipt {
                    ReceiptId = 1, PurchaseOrder = order1, Supplier = supplier1, Site = site1, Delivery = delivery1
                };
                context.GoodsReceipt.Add(goodsReceipt1);

                var invoice1 = new Invoice {
                    InvoiceId = "INV001", NetAmount = 2000.00, Description = "Order 1 invoice", GoodsReceipt = goodsReceipt1, Supplier = supplier1, InvoiceStatus = "Payment Due"
                };
                context.Invoice.Add(invoice1);

                context.SaveChanges();
            }
        }
Ejemplo n.º 27
0
        public ActionResult Index(string submitButton, GoodsReceiptViewModels model, HttpPostedFileBase file = null)
        {
            try
            {
                //ApplicationUser currentUser = ApplicationUserManager.GetApplicationUser(User.Identity.Name, HttpContext.GetOwinContext());

                if (submitButton == "Save")
                {
                    // model.goodreceipt.BaseDocId = model.PurchaseOrder.Purchase_Order_Id;
                    model.goodreceipt.Document_Date    = DateTime.Now;
                    model.goodreceipt.Posting_Date     = DateTime.Now;
                    model.goodreceipt.Doc_Status       = "Open";
                    model.goodreceipt.TargetDocId      = "0";
                    model.goodreceipt.Created_Branc_Id = CurrentBranchId; //CurrentBranchId;
                    model.goodreceipt.Created_Dte      = DateTime.Now;
                    model.goodreceipt.Created_User_Id  = CurrentUser.Id;  //CurrentUser.Id;

                    // model.goodreceipt.Distribute_LandedCost = "equality";
                    //if (model.goodreceipt.Distribute_LandedCost == "Equality")
                    //{
                    //    double a = Convert.ToDouble(model.goodreceipt.Freight + model.goodreceipt.Loading / model.goodreceiptitemlist.Count);
                    //}Purchase_Order_Id
                    //else if(model.goodreceipt.Distribute_LandedCost=="Quantity")
                    //{
                    //    double b = Convert.ToDouble(model.goodreceipt.Freight + model.goodreceipt.Loading / model.goodreceiptitemlist.Count *(model.goodreceiptitemlist.FirstOrDefault().LineTotal));
                    //}
                    //else
                    //{
                    //    double c = Convert.ToDouble((model.goodreceipt.Freight + model.goodreceipt.Loading / model.goodreceiptitemlist.Count) - (model.goodreceiptitem.Quantity * model.goodreceiptitem.Unit_price)*model.goodreceiptitem.Discount_percent);
                    //}


                    var GoodsList = model.goodreceiptitemlist.Where(x => x.IsDummy == 0);
                    model.goodreceiptitemlist = GoodsList.ToList();

                    for (int i = 0; i < model.goodreceiptitemlist.Count; i++)
                    {
                        model.goodreceiptitemlist[i].BaseDocLink = "N";
                        //model.goodreceiptitemlist[i].Product_id = model.PurchaseOrderItemsList[i].Product_id;
                        //model.goodreceiptitemlist[i].Quantity = model.PurchaseOrderItemsList[i].Quantity;
                        //model.goodreceiptitemlist[i].Unit_price = model.PurchaseOrderItemsList[i].Unit_price;
                        //model.goodreceiptitemlist[i].Discount_percent = model.PurchaseOrderItemsList[i].Discount_percent;
                        //model.goodreceiptitemlist[i].Vat_Code = model.PurchaseOrderItemsList[i].Vat_Code;
                        //model.goodreceiptitemlist[i].Freight_Loading = Convert.ToDecimal(model.PurchaseOrderItemsList[i].Freight_Loading);
                    }



                    if (goodsrepository.AddNewQuotation(model.goodreceipt, model.goodreceiptitemlist, ref ErrorMessage))
                    {
                        return(RedirectToAction("Index", "GoodsReceipt"));
                    }
                    else
                    {
                        ViewBag.AppErrorMessage = ErrorMessage;
                        return(View("Error"));
                    }
                }
                else if (submitButton == "Save ")
                {
                    GoodsReceiptViewModels model1 = new GoodsReceiptViewModels();

                    model1.BranchList             = goodsrepository.GetAddressbranchList().ToList();
                    model1.BussinessList          = goodsrepository.GetAddressbusinessList().ToList();
                    model1.productlist            = goodsrepository.GetProductList();
                    model1.VATList                = goodsrepository.GetVATList();
                    model1.PurchaseOrder          = goodsrepository.FindOneQuotationById1(model.PurchaseOrder.Purchase_Order_Id);
                    model1.PurchaseOrderItemsList = goodsrepository.FindOneQuotationItemById1(model.PurchaseOrder.Purchase_Order_Id);

                    // model1.PurchaseOrderItems = goodsrepository.FindOneQuotationItemById1(model.PurchaseOrderList.FirstOrDefault().Purchase_Order_Id);


                    if (model1.PurchaseOrder.Vendor == model.PurchaseOrder.Vendor)
                    {
                        //for BaseDocId
                        for (int j = 0; j < model.PurchaseOrderItemsList.Count; j++)
                        {
                            if (model1.PurchaseOrderItemsList[j].Product_id == model.PurchaseOrderItemsList[j].Product_id)
                            {
                                model.goodreceipt.BaseDocId = model.PurchaseOrder.Purchase_Order_Id;
                            }
                        }

                        //for BaseDocLink
                        for (int j = 0; j < model.PurchaseOrderItemsList.Count; j++)
                        {
                            if (model1.PurchaseOrderItemsList[j].Product_id == model.PurchaseOrderItemsList[j].Product_id)
                            {
                                model.goodreceiptitemlist[j].BaseDocLink = "Y";
                            }
                            else
                            {
                                model.goodreceiptitemlist[j].BaseDocLink = "N";
                            }

                            model.goodreceipt.Doc_Status        = "Open";
                            model.goodreceipt.Created_Branc_Id  = CurrentBranchId; //CurrentBranchId;
                            model.goodreceipt.Created_Dte       = DateTime.Now;
                            model.goodreceipt.Created_User_Id   = CurrentBranchId; //CurrentUser.Id;
                            model.goodreceipt.Purchase_Order_Id = model.PurchaseOrder.Purchase_Order_Id;
                            model.goodreceipt.Reference_Number  = model.PurchaseOrder.Reference_Number;
                            model.goodreceipt.Vendor            = model.PurchaseOrder.Vendor;
                            model.goodreceipt.Doc_Status        = model.PurchaseOrder.Order_Status;
                            model.goodreceipt.Posting_Date      = model.PurchaseOrder.Posting_Date;
                            model.goodreceipt.Due_Date          = model.PurchaseOrder.Delivery_Date;
                            model.goodreceipt.Document_Date     = model.PurchaseOrder.Document_Date;
                            model.goodreceipt.Ship_To           = model.PurchaseOrder.Ship_To;
                            model.goodreceipt.Freight           = model.PurchaseOrder.Freight;
                            model.goodreceipt.Loading           = model.PurchaseOrder.Loading;
                            model.goodreceipt.TotalBefDocDisc   = model.PurchaseOrder.TotalBefDocDisc;
                            model.goodreceipt.DocDiscAmt        = model.PurchaseOrder.DocDiscAmt;
                            model.goodreceipt.TotalGRDocAmt     = model.PurchaseOrder.TotalOrdAmt;
                            model.goodreceipt.TaxAmt            = model.PurchaseOrder.TaxAmt;
                            model.goodreceipt.TargetDocId       = "0";
                            //model.PurchaseOrder.BaseDocId = qq;
                            var Goodslist = model.PurchaseOrderItemsList.Where(x => x.IsDummy == 0);
                            model.PurchaseOrderItemsList = Goodslist.ToList();

                            for (int i = 0; i < model.PurchaseOrderItemsList.Count; i++)
                            {
                                model.goodreceiptitemlist[i].BaseDocLink      = "Y";
                                model.goodreceiptitemlist[i].Product_id       = model.PurchaseOrderItemsList[i].Product_id;
                                model.goodreceiptitemlist[i].Quantity         = model.PurchaseOrderItemsList[i].Quantity;
                                model.goodreceiptitemlist[i].Unit_price       = model.PurchaseOrderItemsList[i].Unit_price;
                                model.goodreceiptitemlist[i].Discount_percent = model.PurchaseOrderItemsList[i].Discount_percent;
                                model.goodreceiptitemlist[i].Vat_Code         = model.PurchaseOrderItemsList[i].Vat_Code;
                                model.goodreceiptitemlist[i].Freight_Loading  = Convert.ToDecimal(model.PurchaseOrderItemsList[i].Freight_Loading);
                            }

                            if (goodsrepository.AddNewQuotation(model.goodreceipt, model.goodreceiptitemlist, ref ErrorMessage))
                            {
                                for (int k = 0; k < model.PurchaseOrderItemsList.Count; k++)
                                {
                                    if (model1.PurchaseOrderItemsList[k].Product_id == model.PurchaseOrderItemsList[k].Product_id && model.PurchaseOrderItemsList[k].Quantity >= model1.PurchaseOrderItemsList[k].Received_Qty)
                                    {
                                        model1.PurchaseOrder.Order_Status = "Closed";
                                        //model1.PurchaseOrder.TargetDocId = Convert.ToString(model.PurchaseOrder.Purchase_Order_Id);
                                        if (model1.PurchaseOrder.TargetDocId == "")
                                        {
                                            model1.PurchaseOrder.TargetDocId = Convert.ToString(model.goodreceipt.Goods_Receipt_Id);
                                        }
                                        else
                                        {
                                            model1.PurchaseOrder.TargetDocId = Convert.ToString(model.goodreceipt.Goods_Receipt_Id);
                                        }

                                        // model.PurchaseOrderItemsList[k].BaseDocLink = "N";
                                        model1.PurchaseOrderItemsList[k].Purchase_OrderItem_Id = model1.PurchaseOrderItemsList[k].Purchase_OrderItem_Id;
                                        model1.PurchaseOrderItemsList[k].Purchase_Order_Id     = model1.PurchaseOrderItemsList[k].Purchase_Order_Id;
                                        //model1.PurchaseOrderItemsList[j].Quoted_date = model1.PurchaseOrderItemsList[j].Quoted_date;
                                        model1.PurchaseOrderItemsList[k].Received_Qty     = Convert.ToInt32(model.PurchaseOrderItemsList[k].Received_Qty) + model1.PurchaseOrderItemsList[k].Quantity;
                                        model1.PurchaseOrderItemsList[k].Product_id       = model.PurchaseOrderItemsList[k].Product_id;
                                        model1.PurchaseOrderItemsList[k].Unit_price       = model.PurchaseOrderItemsList[k].Unit_price;
                                        model1.PurchaseOrderItemsList[k].Discount_percent = model.PurchaseOrderItemsList[k].Discount_percent;
                                        model1.PurchaseOrderItemsList[k].Vat_Code         = model.PurchaseOrderItemsList[k].Vat_Code;
                                    }
                                    else if (model1.PurchaseOrderItemsList[k].Product_id == model.PurchaseOrderItemsList[k].Product_id && model.PurchaseOrderItemsList[k].Quantity < model1.PurchaseOrderItemsList[k].Received_Qty)
                                    {
                                        model1.PurchaseOrder.Order_Status = "Open";
                                        model1.PurchaseOrder.TargetDocId  = Convert.ToString(model.PurchaseOrder.Purchase_Order_Id);

                                        // model.PurchaseOrderItemsList[k].BaseDocLink = "N";
                                        model1.PurchaseOrderItemsList[k].Purchase_OrderItem_Id = model1.PurchaseOrderItemsList[k].Purchase_OrderItem_Id;
                                        model1.PurchaseOrderItemsList[k].Purchase_Order_Id     = model1.PurchaseOrderItemsList[k].Purchase_Order_Id;
                                        //model1.PurchaseOrderItemsList[j].Quoted_date = model1.PurchaseOrderItemsList[j].Quoted_date;
                                        model1.PurchaseOrderItemsList[k].Received_Qty     = Convert.ToInt32(model.PurchaseOrderItemsList[k].Received_Qty) + model1.PurchaseOrderItemsList[k].Quantity;
                                        model1.PurchaseOrderItemsList[k].Product_id       = model.PurchaseOrderItemsList[k].Product_id;
                                        model1.PurchaseOrderItemsList[k].Unit_price       = model.PurchaseOrderItemsList[k].Unit_price;
                                        model1.PurchaseOrderItemsList[k].Discount_percent = model.PurchaseOrderItemsList[k].Discount_percent;
                                        model1.PurchaseOrderItemsList[k].Vat_Code         = model.PurchaseOrderItemsList[k].Vat_Code;
                                    }
                                }

                                //model1.PurchaseOrder.Creating_Branch = 1;
                                model1.PurchaseOrder.Created_Branc_Id = CurrentBranchId; //currentUser.Created_Branch_Id;
                                model1.PurchaseOrder.Created_Date     = DateTime.Now;
                                model1.PurchaseOrder.Created_User_Id  = CurrentUser.Id;  //currentUser.Created_User_Id;  //GetUserId()
                                //model1.PurchaseOrder.Modified_User_Id = CurrentUser.Id;//currentUser.Modified_User_Id;
                                //model1.PurchaseOrder.Modified_Date = DateTime.Now;
                                //model1.PurchaseOrder.Modified_Branch_Id = CurrentBranchId;//currentUser.Modified_Branch_Id;



                                goodsrepository.UpdateQuotationorder(model1.PurchaseOrder, model1.PurchaseOrderItemsList, ref ErrorMessage);
                                return(RedirectToAction("Index", "GoodsReceipt"));
                            }
                            else
                            {
                                ViewBag.AppErrorMessage = ErrorMessage;
                                return(View("Error"));
                            }
                        }
                    }
                }


                else if (submitButton == "Update")
                {
                    model.goodreceipt.Document_Date      = DateTime.Now;
                    model.goodreceipt.Document_Date      = model.goodreceipt.Posting_Date;
                    model.goodreceipt.Modified_Branch_Id = CurrentBranchId; //CurrentBranchId;
                    model.goodreceipt.Modified_Dte       = DateTime.Now;
                    model.goodreceipt.Modified_User_Id   = CurrentUser.Id;  //CurrentUser.Id;
                    model.goodreceipt.TargetDocId        = "1";

                    for (int i = 0; i < model.goodreceiptitemlist.Count; i++)
                    {
                        //model.goodreceiptitemlist[i].Goods_Receipt_Id = model.goodreceipt.Goods_Receipt_Id;
                        model.goodreceiptitemlist[i].BaseDocLink = "N";
                    }
                    if (goodsrepository.UpdateQuotation(model.goodreceipt, model.goodreceiptitemlist, ref ErrorMessage))
                    {
                        return(RedirectToAction("Index", "GoodsReceipt"));
                    }
                    else
                    {
                        ViewBag.AppErrorMessage = ErrorMessage;
                        return(View("Error"));
                    }
                }

                return(RedirectToAction("Index", "GoodsReceipt"));
            }
            catch (OptimisticConcurrencyException ex)
            {
                ObjectStateEntry entry = ex.StateEntries[0];
                GoodsReceipt     post  = entry.Entity as GoodsReceipt; //Post is the entity name he is using. Rename it with yours
                Console.WriteLine("Failed to save {0} because it was changed in the database", post.Purchase_Order_Id);
                return(View("Error"));
            }
            //catch (Exception ex)
            //{
            //    ExceptionHandler.LogException(ex);
            //    ViewBag.AppErrorMessage = ex.Message;
            //    return View("Error");
            //}
        }
 public void OnSelectedParentGoodsReceiptChanged(GoodsReceipt para)
 {
     parentGoodsReceipt = para;
     GetData();
 }