Esempio n. 1
0
        public IActionResult Invoice(int orderId)
        {
            UserViewModel user  = _userService.GetCurrentUser(User.Identity.Name);
            InvoiceVM     model = _invoiceService.GetByOrderId(orderId, user.Id);

            return(View(model));
        }
Esempio n. 2
0
        public InvoiceV()
        {
            InitializeComponent();
            InvoiceVM vm = new InvoiceVM(DependencyInjection.ServiceProvider.GetService <IInvoiceData>());

            DataContext = vm;
        }
Esempio n. 3
0
        public ActionResult TryChargeAgain(InvoiceVM model)
        {
            if ((!ModelState.IsValid) && (CastleClub.BusinessLogic.Data.GlobalParameters.TryChargeAgain))
            {
                return(Json(new { Result = false }));
            }

            bool resp = PaymentsManager.ProcessInvoice(model.Id);

            InvoiceDT     invoice     = PaymentsManager.GetInvoice(model.Id);
            TransactionDT transaction = invoice.Transactions.OrderByDescending(x => x.SubmitDate).FirstOrDefault();

            /* InvoiceDT invoice = null;
             * TransactionDT transaction = null;
             * resp = false;
             * return Json(new { Result = false, Info = new { Authorize = "", SubmitDate = DateTime.Now.ToString(), Type = "", Message ="hola", Status = "FAIL", Amount = "222", Parent = string.Empty } }); */
            if (resp)
            {
                return(Json(new { Result = true, Info = new { Authorize = transaction.AuthorizeTransactionId.ToString(), SubmitDate = transaction.SubmitDate.ToString(), Type = transaction.Type.ToString(), Message = transaction.Message, Status = transaction.Status.ToString(), Amount = invoice.Amount.ToString(), Parent = string.Empty } }));
            }
            else
            {
                if (transaction != null)
                {
                    return(Json(new { Result = false, Info = new { Authorize = transaction.AuthorizeTransactionId.ToString(), SubmitDate = transaction.SubmitDate.ToString(), Type = transaction.Type.ToString(), Message = transaction.Message, Status = transaction.Status.ToString(), Amount = invoice.Amount.ToString(), Parent = string.Empty } }));
                }
                else
                {
                    return(Json(new { Result = false }));
                }
            }
        }
Esempio n. 4
0
        public ActionResult AddOrEdit([Bind("Id,InvoiceNumber,InvoiceDate,StartDate,EndDate,Rate,Units,Tax,Amount,Charge,CompanyName")] InvoiceVM model)
        {
            if (ModelState.IsValid)
            {
                if (model.Id == 0)
                {
                    try
                    {
                        _repository.Create(model);
                        return(RedirectToAction("Index"));
                    }
                    catch (Exception err)
                    {
                        throw new Exception(err.Message);
                    }
                }
                else
                {
                    var invoiceFromRepo = _repository.GetInvoice(model.Id);

                    if (_repository.UpdateInvoice(model))
                    {
                        return(RedirectToAction("Index"));
                    }

                    ModelState.AddModelError("", "Update failed");
                }
            }
            return(View());
        }
        public async Task <IActionResult> Create(InvoiceVM obj)
        {
            var header = new InvoiceBL
            {
                InvoiceNo = obj.InvoiceNo,
                StoreId   = obj.StoreId,
                Tax       = obj.Tax
            };
            List <InvoiceDetailsBL> details = new List <InvoiceDetailsBL>();

            foreach (var item in obj.InvoiceDetails)
            {
                details.Add(new InvoiceDetailsBL
                {
                    Discount = item.Discount,
                    ItemId   = item.ItemId,
                    Quantity = item.Quantity,
                    UnitId   = item.UnitId
                });
            }

            bool result = await _invoiceDetails.CreateInvoice(header, details);

            return(Json(result));
        }
        public bool UpdateInvoice(InvoiceVM model)
        {
            //Mapping properties from VM to Invoice model
            Invoice invoice = new Invoice();

            invoice.Id            = model.Id;
            invoice.InvoiceNumber = model.InvoiceNumber;
            invoice.InvoiceDate   = model.InvoiceDate;
            invoice.Rate          = model.Rate;
            invoice.StartDate     = model.StartDate;
            invoice.Units         = model.Units;
            invoice.EndDate       = model.EndDate;
            invoice.Amount        = model.Rate * model.Units;
            invoice.Tax           = invoice.Amount * 0.17;
            invoice.Total         = invoice.Tax * invoice.Amount;
            invoice.ChargeId      = FindIdForCharge(model.Charge);
            invoice.ClientId      = FindIdForClient(model.CompanyName);


            _contex.Update(invoice);
            int changes = _contex.SaveChanges();

            if (changes > 0)
            {
                return(true);
            }
            return(false);
        }
        public ActionResult Create(InvoiceVM inv)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(inv));
                }
                var invoice = _mapper.Map <Invoice>(inv);
                invoice.Date = DateTime.Now;
                var isSuccess = _repo.Create(invoice);
                if (!isSuccess)
                {
                    ModelState.AddModelError("", "Check for Information");
                    return(View(inv));
                }

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                ModelState.AddModelError("", "Check for Information");
                return(View());
            }
        }
Esempio n. 8
0
 public UCInvoiceNoEdit(InvoiceVM invoiceVM)
     : this()
 {
     m_CurInvoice                = invoiceVM;
     this.m_InvoiceFacade        = new InvoiceFacade(this.CurrentPage);
     this.LayoutRoot.DataContext = invoiceVM;
 }
Esempio n. 9
0
        public ActionResult Edit(InvoiceVM model)
        {
            int invoiceID = int.Parse(model.InvoiceID);

            // Remove Detail
            db.invoicedetail.RemoveRange(db.invoicedetail.Where(x => x.invoiceid == invoiceID));

            // Insert Detail
            List <invoicedetail> detailList = new List <invoicedetail>();

            for (int i = 0; i < model.Detail.Count; i++)
            {
                var source = model.Detail[i];
                var detail = new invoicedetail();
                detail.itemcode = source.ItemCode;
                detail.price    = source.Price;
                detail.quantity = source.Qty;
                detail.itemcode = source.ItemCode;
                detail.adddate  = DateTime.Now;
                detail.editdate = DateTime.Now;
                detailList.Add(detail);
            }
            db.invoice.Find(invoiceID).invoicedetail = detailList;

            // Update Header
            db.invoice.Find(invoiceID).customerid   = int.Parse(model.CustomerID);
            db.invoice.Find(invoiceID).currencycode = model.Currency;

            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult Index(string searchString)
        {
            ApplicationDbContext db     = new ApplicationDbContext(); //dbcontect class
            List <InvoiceVM>     VMlist = new List <InvoiceVM>();     // to hold list of Customer and order details

            var customerlist = (from order in db.Orders

                                join Od in db.OrderDetails on order.OrderID equals Od.OrderID select new  { order.CustomerName, order.Surname, order.CustomerPhone, order.CollDate,
                                                                                                            order.OrderDate, Od.OrderID, Od.ProductID, Od.Quantity, Od.Price }).ToList();


            // selectnew  { order.Name, Cust.Mobileno, Cust.Address, Ord.OrderDate, Ord.OrderPrice}).ToList();
            //query getting data from database from joining two tables and storing data in customerlist

            foreach (var item in customerlist)

            {
                InvoiceVM objcvm = new InvoiceVM(); // ViewModel

                objcvm.CustomerName = item.CustomerName;

                objcvm.CustomerPhone = item.CustomerPhone;

                objcvm.CustomerAddress = item.CollDate.ToString();

                objcvm.OrderDate = item.OrderDate;

                objcvm.Price = item.Price;

                VMlist.Add(objcvm);
            }
            return(View(VMlist.ToList()));
        }
Esempio n. 11
0
        public ActionResult Create(InvoiceVM model)
        {
            // Header
            var invoice = new invoice();

            invoice.customerid   = Int32.Parse(model.CustomerID);
            invoice.currencycode = model.Currency;
            invoice.adddate      = DateTime.Now;
            invoice.editdate     = DateTime.Now;

            // Detail
            List <invoicedetail> detailList = new List <invoicedetail>();

            for (int i = 0; i < model.Detail.Count; i++)
            {
                var source = model.Detail[i];
                var detail = new invoicedetail();
                detail.itemcode = source.ItemCode;
                detail.price    = source.Price;
                detail.quantity = source.Qty;
                detail.adddate  = DateTime.Now;
                detail.editdate = DateTime.Now;
                detailList.Add(detail);
            }

            // Assign detail to header
            invoice.invoicedetail = detailList;
            db.invoice.Add(invoice);
            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
        // GET: Bills
        public ActionResult Fatura()
        {
            InvoiceVM Fatura = new InvoiceVM();

            UserDetail rentuser = _userDetailService.FindByUserName(HttpContext.User.Identity.Name);

            Fatura.Kiralayan = rentuser;

            Fatura.Kiralama = _rentService.GetByDefault(x => x.UserDetail.UserName == rentuser.UserName);

            var days = (int)Fatura.Kiralama.EndDate.Subtract(Fatura.Kiralama.StartDate).TotalDays + 1;

            Car rentalcar = _carService.GetById(Fatura.Kiralama.CarID);

            Bill newBill = new Bill();

            newBill.Date   = DateTime.Now;
            newBill.Cost   = days * rentalcar.CostPerDay;
            newBill.UserID = rentuser.Id;
            _billService.Add(newBill);

            Fatura.FaturaInfo   = newBill.Id;
            Fatura.KiralananGun = days;
            Fatura.Ucret        = newBill.Cost;
            Fatura.AracAdi      = rentalcar.CModel;
            return(View(Fatura));
        }
        public IActionResult InvoiceResults(InvoiceVM invoice)
        {
            if (ModelState.IsValid)
            {
                var totalCostBeforDiscount = Services.InvoiceService.TotallBeforDiscount(invoice.ItemPrice, invoice.Quantity);
                var discount = Services.InvoiceService.Discount(totalCostBeforDiscount, invoice.Discount);
                var totalCostAfterDiscount = Services.InvoiceService.TotallAfterDiscount(discount, totalCostBeforDiscount);
                var tax   = Services.InvoiceService.Tax(totalCostAfterDiscount);
                var total = Services.InvoiceService.Total(totalCostAfterDiscount, tax);

                Invoice invoiceResults = new Invoice
                {
                    Net   = totalCostBeforDiscount,
                    Taxes = tax,
                    Total = total,

                    Date      = DateTime.Now.ToString(),
                    Discount  = invoice.Discount,
                    Id        = invoice.Id,
                    ItemName  = invoice.ItemName,
                    ItemPrice = invoice.ItemPrice,
                    Quantity  = invoice.Quantity,
                    UnitName  = invoice.UnitName
                };

                return(View(invoiceResults));
            }

            return(RedirectToAction("Index", invoice));
        }
Esempio n. 14
0
        public int Insert(InvoiceVM model, string userId, int orderId)
        {
            Order   order   = _orderRepo.GetById(orderId);
            Invoice invoice = _mapper.Map <Invoice>(model);

            invoice.Order = order;
            return(_invoiceRepo.Insert(invoice));
        }
Esempio n. 15
0
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     base.OnNavigatedTo(e);
     if (ViewModel == null)
     {
         ViewModel = new InvoiceVM(new Invoice());
     }
 }
Esempio n. 16
0
        private void Hyperlink_ShowFailedDetail_Click(object sender, RoutedEventArgs e)
        {
            InvoiceVM vm = (sender as HyperlinkButton).DataContext as InvoiceVM;

            if (vm.SapInFailedReason != null)
            {
                Window.Alert(vm.SapInFailedReason);
            }
        }
Esempio n. 17
0
        public ActionResult InvoiceRun()
        {
            var dte   = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1);
            var invVM = new InvoiceVM {
                InvoiceDate = dte, BillCycle = new BillCycle(dte)
            };

            return(View(invVM));
        }
Esempio n. 18
0
        public ActionResult Create([Bind(Prefix = "Invoice")] Invoice invoice)
        {
            if (Request.Files.Count > 0 && Request.Files[0].ContentLength > 0)
            {
                if (ModelState.IsValid)
                {
                    HttpPostedFileBase file = Request.Files[0];

                    Guid   docId            = Guid.NewGuid();
                    string originalFilename = file.FileName;
                    string fileExt          = Path.GetExtension(file.FileName);
                    string filename         = docId.ToString() + fileExt;

                    string fullPath = StorageRoot + "\\" + filename;
                    file.SaveAs(fullPath);

                    Invoice newInvoice = new Invoice();
                    newInvoice.Id               = docId;
                    newInvoice.Filename         = filename;
                    newInvoice.FilenameOriginal = originalFilename;
                    newInvoice.FileExt          = fileExt;
                    newInvoice.FileMimeType     = GetMimeType(fullPath);
                    newInvoice.FileSize         = file.ContentLength;
                    newInvoice.FilePath         = "/files";
                    newInvoice.Title            = invoice.Title;
                    newInvoice.Amount           = invoice.Amount;
                    newInvoice.SentDate         = invoice.SentDate;
                    newInvoice.DueDate          = invoice.DueDate;
                    newInvoice.IsEstimate       = invoice.IsEstimate;
                    newInvoice.IsActive         = invoice.IsActive;
                    newInvoice.CreatedDate      = DateTime.Now;
                    newInvoice.AccountId        = invoice.AccountId;
                    newInvoice.ProjectId        = invoice.ProjectId;

                    Counter dbCounter  = UOW.Counters.GetByName("Invoice_InvoiceNumber");
                    int     nextNumber = dbCounter.CurrentNumber = dbCounter.CurrentNumber + 1;
                    newInvoice.InvoiceNumber = nextNumber.ToString();

                    UOW.Invoices.Add(newInvoice);
                    UOW.Commit();
                    invoice = newInvoice;
                }
            }
            else
            {
                ModelState.AddModelError(string.Empty, "You must supply a valid file.");
            }
            InvoiceVM vm = new InvoiceVM
            {
                Invoice  = invoice,
                Projects = UOW.Projects.GetAll(),
                Accounts = UOW.Accounts.GetAll()
            };

            return(View("Edit", vm));
        }
Esempio n. 19
0
        public async Task <ActionResult <InvoiceVM> > Post(InvoiceVM invoice)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            var data = repository.Add(invoice);

            return(CreatedAtAction(nameof(data), new { id = data.ID }, data));
        }
Esempio n. 20
0
        public ActionResult Create()
        {
            InvoiceVM vm = new InvoiceVM
            {
                Projects = UOW.Projects.GetAll(),
                Accounts = UOW.Accounts.GetAll()
            };

            return(View("Edit", vm));
        }
Esempio n. 21
0
        public JsonResult SaveInvoice(InvoiceVM I)
        {
            bool status = false;

            if (ModelState.IsValid)
            {
                using (ERP1DataContext dc = new ERP1DataContext())
                {
                    string  Day     = DateTime.Now.Day.ToString();
                    string  Month   = DateTime.Now.Month.ToString();
                    string  Year    = DateTime.Now.Year.ToString();
                    Invoice invoice = new Invoice {
                        InvoiceDate = I.InvoiceDate, TotalAmount = I.TotalAmount, InvoiceStatus = I.InvoiceStatus, Payment = I.Payment, AppointmentID = I.AppointmentID, AddedDay = Day, AddedMonth = Month, AddedYear = Year
                    };
                    foreach (var i in I.InvoiceDetails)
                    {
                        //
                        // i.TotalAmount =
                        invoice.InvoiceDetails.Add(i);
                    }
                    dc.Invoices.InsertOnSubmit(invoice);
                    foreach (var v in I.QuantityDetails)
                    {
                        var data = dc.Stocks.Where(s => s.StockID == v.StockID).ToList();
                        foreach (Stock s in data)
                        {
                            s.Quantity = s.Quantity - v.Quantity;
                        }
                        foreach (var item in I.QuantityDetails)
                        {
                            StockOut Sout = new StockOut();
                            Sout.StockID       = item.StockID;
                            Sout.StockName     = item.ItemName;
                            Sout.StockQuantity = item.Quantity;
                            Sout.StockRevenue  = item.cast;
                            Sout.AddedDay      = Day;
                            Sout.AddedMonth    = Month;
                            Sout.AddedYear     = Year;
                            dc.StockOuts.InsertOnSubmit(Sout);
                        }
                    }
                    dc.SubmitChanges();
                    status = true;
                }
            }
            else
            {
                status = false;
            }
            return(new JsonResult {
                Data = new { status = status }
            });
        }
Esempio n. 22
0
        public async Task <IActionResult> Create()
        {
            var model = new InvoiceVM();

            model.Stores = await _store.ReadAll();

            model.ItemsDetails = await _itemDetails.ReadAll();

            model.InvoiceNo = await _invoice.GetNextInvoiceNoAsync();

            return(View(model));
        }
Esempio n. 23
0
        public ActionResult Edit([Bind(Prefix = "Invoice")] Invoice invoice)
        {
            if (ModelState.IsValid)
            {
                Invoice dbInvoice = UOW.Invoices.GetById(invoice.Id);
                if (dbInvoice != null)
                {
                    dbInvoice.Title      = invoice.Title;
                    dbInvoice.Amount     = invoice.Amount;
                    dbInvoice.SentDate   = invoice.SentDate;
                    dbInvoice.DueDate    = invoice.DueDate;
                    dbInvoice.IsEstimate = invoice.IsEstimate;
                    dbInvoice.IsActive   = invoice.IsActive;
                    dbInvoice.AccountId  = invoice.AccountId;
                    dbInvoice.ProjectId  = invoice.ProjectId;

                    if (Request.Files.Count > 0 && Request.Files[0].ContentLength > 0)
                    {
                        HttpPostedFileBase file = Request.Files[0];

                        Guid   docId            = Guid.NewGuid();
                        string originalFilename = file.FileName;
                        string fileExt          = Path.GetExtension(file.FileName);
                        string filename         = docId.ToString() + fileExt;

                        string fullPath = StorageRoot + "\\" + filename;
                        file.SaveAs(fullPath);

                        //dbImage.DocumentId = docId;
                        dbInvoice.Filename     = filename;
                        dbInvoice.FileExt      = fileExt;
                        dbInvoice.FileMimeType = GetMimeType(fullPath);
                        dbInvoice.FileSize     = file.ContentLength;
                    }

                    UOW.Commit();
                    invoice = dbInvoice;
                }
                else
                {
                    return(HttpNotFound());
                }
            }
            InvoiceVM vm = new InvoiceVM
            {
                Invoice  = invoice,
                Projects = UOW.Projects.GetAll(),
                Accounts = UOW.Accounts.GetAll()
            };

            return(View(vm));
        }
Esempio n. 24
0
        public ActionResult Edit([Bind(Include = "InvoiceId,Number,PartnerId,ProductId,Quantity,Price,Date,Payment,Transaction")] InvoiceVM invoiceVM)
        {
            var invoice = InvoiceMap.InvoiceVMToInvoice(invoiceVM);

            if (ModelState.IsValid)
            {
                invoicesRepositories.Edit(invoice);
                return(RedirectToAction("Index"));
            }
            ViewBag.PartnerId = new SelectList(db.Partners, "PartnerId", "Name", invoice.PartnerId);
            ViewBag.ProductId = new SelectList(db.Products, "ProductId", "Name", invoice.ProductId);
            return(View(invoice));
        }
Esempio n. 25
0
 public IActionResult Create(InvoiceVM inVM)
 {
     if (ModelState.IsValid)
     {
         InvoiceRepo inVMRepo = new InvoiceRepo(_context);
         var         success  = inVMRepo.Create(inVM);
         if (success)
         {
             return(RedirectToAction(nameof(Index)));
         }
     }
     ViewBag.Error = "An error occurred while creating this invoice. Please try again.";
     return(View());
 }
        public ActionResult New(InvoiceVM invoice)
        {
            if (!GetInvoiceManager().Exists(invoice.Id))
            {
                invoice.InvoiceType = Enum.GetName(typeof(ninja.model.Entity.Invoice.Types), Convert.ToInt32(invoice.InvoiceType));
                GetInvoiceManager().Insert(invoice.ToInvoice());
            }
            else
            {
                //vista con error
            }

            return(RedirectToAction("Index"));
        }
Esempio n. 27
0
        public List <InvoiceVM> FindByProperties(int pages, int rows, string bookCode, string invCode, string orderBy, CalendarVM searchByDate)
        {
            int start  = (pages - 1) * rows;
            int length = rows;
            List <InvoiceVM> listVm = new List <InvoiceVM>();

            foreach (var value in _invoiceDALManageFacade.FindInvoice(start, length, bookCode, invCode, searchByDate, orderBy))
            {
                InvoiceVM invoiceVM = mapper.Map <InvoiceVM>(value);
                invoiceVM.Index = ++start;
                listVm.Add(invoiceVM);
            }
            return(listVm);
        }
Esempio n. 28
0
        public bool Delete(int id)
        {
            try
            {
                InvoiceVM removeInvoice = _context.Invoices.Where(inv => inv.InvoiceID == id).FirstOrDefault();
                _context.Invoices.Remove(removeInvoice);
                _context.SaveChanges();

                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
        public ActionResult Update(InvoiceVM invoice)
        {
            if (GetInvoiceManager().Exists(invoice.Id))
            {
                invoice.InvoiceType = Enum.GetName(typeof(ninja.model.Entity.Invoice.Types), Convert.ToInt32(invoice.InvoiceType));
                var details = invoice.Details.ToInvoiceDetailList();
                GetInvoiceManager().UpdateInvoiceType(invoice.Id, invoice.InvoiceType);
            }
            else
            {
                //vista con error
            }

            return(RedirectToAction("Index"));
        }
Esempio n. 30
0
        // GET: section1
        public ActionResult Index()
        {
            var result = db.invoice.Include(m => m.customer).ToList();
            var model  = new List <InvoiceVM>();

            foreach (invoice invoice in result)
            {
                InvoiceVM vm = new InvoiceVM();
                vm.CustomerName = invoice.customer.name;
                vm.InvoiceID    = invoice.invoiceid.ToString("D5");
                vm.AddDate      = String.Format("{0:yyyy/MM/dd HH:mm:ss}", invoice.adddate);
                model.Add(vm);
            }
            return(View(model));
        }
Esempio n. 31
0
 public InvoiceView(InvoiceVM vm)
     : this()
 {
     ViewModel = vm;
     ViewModel.View = this;
 }