Exemple #1
0
 public PrintManager(Models.Receipt receipt, Dictionary <int, Store> stores, Dictionary <int, StoreItem> items)
 {
     _receipt   = receipt;
     _stores    = stores;
     _items     = items;
     _printFont = new Font("Courier New", 10);
 }
Exemple #2
0
 public void UpdateReceipt(Models.Receipt r)
 {
     r.ParkedVehicleId = r.ParkedVehicle.Id;
     r.CheckinAt       = r.ParkedVehicle.CheckinDate;
     r.CheckoutAt      = DateTime.Now;
     r.Cost            = CalculateCost(r.ParkedVehicle.Member.Price, r.CheckinAt, r.CheckoutAt);
 }
Exemple #3
0
        public IActionResult Post(Models.Receipt receipt)
        {
            var sameName = _context.Receipts.FirstOrDefault(c => c.Id == receipt.Id);

            if (sameName == null)
            {
                _context.Receipts.Add(receipt);
                _context.SaveChanges();
                return(Ok(receipt));
            }
            else
            {
                return(BadRequest());
            }
        }
Exemple #4
0
        public string Generate(Models.Receipt source)
        {
            string _template = Properties.Resources.Receipt;

            string _result = _template
                             .Replace("{BANK}", source.Bank)
                             .Replace("{ATM}", source.ATM)
                             .Replace("{CODE}", source.Code)
                             .Replace("{DATE}", source.Date.ToShortDateString())
                             .Replace("{TIME}", source.Date.ToShortTimeString())
                             .Replace("{CARD}", SecureIt(source.Card))
                             .Replace("{OPERATION}", source.Operation)
                             .Replace("{ACCOUNT}", SecureIt(source.Account))
                             .Replace("{DETAIL}", source.Detail);

            return(_result);
        }
Exemple #5
0
        public async Task <string> GetReceiptAsync(int orderId)
        {
            Models.Transaction transactionDb = _paymentDbContext.Transaction
                                               .FirstOrDefault(x => x.OrderId == orderId && x.Status.Equals(TransactionStatusEnum.Closed.ToString()));

            if (transactionDb == null)
            {
                return(null);
            }

            Models.Receipt receiptDb = _paymentDbContext.Receipt
                                       .FirstOrDefault(x => x.TransactionId == transactionDb.Id && x.Delivered == false);

            if (receiptDb == null)
            {
                return(null);
            }

            HttpClient client  = new HttpClient();
            string     apiPath = string.Format("{0}{1}", _appSettings.OrdersAPI, transactionDb.OrderId);

            HttpResponseMessage response = await client.GetAsync(apiPath);

            Order order = null;

            if (response.IsSuccessStatusCode)
            {
                var json = await response.Content.ReadAsStringAsync();

                order = JsonConvert.DeserializeObject <Order>(json.ToString());
            }

            Receipt receipt = new Receipt()
            {
                Date              = DateTime.Now,
                OrderItem         = order.OrderItem,
                RestaurantAddress = order.RestaurantAddress,
                RestaurantName    = order.RestaurantName,
                TotalPrice        = order.Price
            };

            receiptDb.Delivered = true;
            _paymentDbContext.SaveChanges();
            return(JsonConvert.SerializeObject(receipt));
        }
Exemple #6
0
        public void Save(Models.Receipt receipt)
        {
            using (var connection = new SqlConnection(_connectionString))
            {
                connection.Open();

                var transaction = connection.BeginTransaction();

                try
                {
                    var insertReceiptSql =
                        "INSERT INTO [dbo].[Receipts]([StoreId],[PurchaseDateUTC]) " +
                        "VALUES (@StoreId, @PurchaseDate); SELECT @@IDENTITY";

                    var executeScalar = connection.ExecuteScalar(insertReceiptSql, new { receipt.StoreId, receipt.PurchaseDate }, transaction: transaction);
                    receipt.Id = (int)(decimal)executeScalar;
                    receipt.Details.ForEach(d => d.ReceiptId = receipt.Id);

                    var insertDetailSql =
                        "INSERT INTO [dbo].[ReceiptDetails] ([ReceiptId],[LineNumber],[StoreItemId],[Quantity],[UnitPrice]) " +
                        "VALUES(@ReceiptId, @LineNumber, @StoreItemId, @Quantity, @UnitPrice)";

                    foreach (var receiptDetail in receipt.Details)
                    {
                        connection.Execute(insertDetailSql, receiptDetail, transaction);
                    }

                    transaction.Commit();
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    //throw;
                }
            }
        }
Exemple #7
0
 public ActionResult UpdateReceipt(int id)
 {
     Models.Receipt rec = new Models.Receipt();
     return(View(rec.GetReceiptByID(id)));
 }
Exemple #8
0
 //receipt
 #region
 public ActionResult Receipt(int page = 1)
 {
     Models.Receipt rec = new Models.Receipt();
     return(View(rec.GetReceipt().ToPagedList(page, 2)));
 }
Exemple #9
0
        /// <summary>
        /// Submit a receipt for a feed item
        /// </summary>
        /// <param name="starlingClient">The starling client.</param>
        /// <param name="accountUid">Required parameter: Account uid</param>
        /// <param name="categoryUid">Required parameter: Category uid</param>
        /// <param name="feedItemUid">Required parameter: Feed item uid</param>
        /// <param name="receipt">Required parameter: Receipt</param>
        /// <returns>Task&lt;Models.ReceiptCreationResponse&gt;.</returns>
        /// <exception cref="IBaseServices baseServices)">Failed to parse the response: " + ex.Message</exception>
        /// <return>Returns the Models.ReceiptCreationResponse response from the API call</return>
        public async Task <Models.ReceiptCreationResponse> CreateOrUpdateReceiptAsync(StarlingClient starlingClient,
                                                                                      Guid accountUid,
                                                                                      Guid categoryUid,
                                                                                      Guid feedItemUid,
                                                                                      Models.Receipt receipt)
        {
            //prepare query string for API call
            var queryBuilder = new StringBuilder();

            queryBuilder.Append("api/v2/feed/account/{accountUid}/category/{categoryUid}/{feedItemUid}/receipt");
            //process optional template parameters
            APIHelper.AppendUrlWithTemplateParameters(queryBuilder,
                                                      new Dictionary <string, object>()
            {
                { "accountUid", accountUid }, { "categoryUid", categoryUid }, { "feedItemUid", feedItemUid }
            });
            //validate and preprocess url
            var queryUrl = APIHelper.GetUrl(starlingClient, queryBuilder);
            //append request with appropriate headers and parameters
            Dictionary <string, string> headers = APIHelper.GetContentRequestHeaders(starlingClient, true);
            var request = new HttpRequestMessage(HttpMethod.Put, queryUrl);

            foreach (KeyValuePair <string, string> header in headers)
            {
                request.Headers.Add(header.Key, header.Value);
            }

            //append body params
            var body = APIHelper.JsonSerialize(receipt);

            request.Content = new StringContent(body);
            //prepare the API call request to fetch the response
            HttpClient          client   = _clientFactory.CreateClient("StarlingBank");
            HttpResponseMessage response = await client.SendAsync(request);

            //handle errors defined at the API level
            await _baseServices.ValidateResponse(request, response);

            try
            {
                var content = await response.Content.ReadAsStringAsync();

                return(APIHelper.JsonDeserialize <Models.ReceiptCreationResponse>(content));
            }
            catch (Exception ex)
            {
                throw new APIException("Failed to parse the response: " + ex.Message, request, response);
            }
        }
        public ActionResult Payment(string card_type, string card_name, string card_number, string security_number, string expiry_date, string customer_id, string first_name, string last_name, char gender, string age, string email, string phone_number, string address, string city, string vehicle_id, string pickupdate, string dropoffdate, string returncity, string pickupcity)
        {
            ViewData["vehicle_id"] = Request.Params["vehicle_id"];
            ViewData["customer_id"] = Request.Params["customer_id"];
            ViewData["first_name"] = Request.Params["first_name"];
            ViewData["last_name"] = Request.Params["last_name"];
            ViewData["age"] = Request.Params["age"];
            ViewData["gender"] = Request.Params["gender"];
            ViewData["email"] = Request.Params["email"];
            ViewData["phone_number"] = Request.Params["phone_number"];
            ViewData["address"] = Request.Params["address"];
            ViewData["city"] = Request.Params["city"];
            ViewData["pickupdate"] = Request.Params["pickupdate"];
            ViewData["dropoffdate"] = Request.Params["dropoffdate"];
            ViewData["pickupcity"] = Request.Params["pickupcity"];
            ViewData["returncity"] = Request.Params["returncity"];

            int vid;
            int.TryParse(vehicle_id, out vid);
            DatabaseService ld = new DatabaseService();
            Models.ReviewModel rm = ld.getReview(vid);
            ViewData["registration_number"] = rm.registration_number;
            ViewData["manufacturer_name"] = rm.manufacturer_name;
            ViewData["model_code"] = rm.model_code;
            ViewData["body_style"] = rm.body_style;
            ViewData["automatic"] = rm.automatic;
            ViewData["passenger_capacity"] = rm.passenger_capacity;
            ViewData["vehicle_category_description"] = rm.vehicle_category_description;
            ViewData["manufacturing_date"] = rm.manufacturing_date;
            ViewData["availability"] = rm.availability;
            ViewData["daily_rental_rate"] = rm.daily_rental_rate;

            if (string.IsNullOrEmpty(card_type) || string.IsNullOrEmpty(card_number) || string.IsNullOrEmpty(card_name) || string.IsNullOrEmpty(expiry_date) || string.IsNullOrEmpty(security_number))
            {
                ModelState.AddModelError("error", "Please fill all the fields");
            }
            else if (ModelState.IsValid)
            {
                CardVerification cv = new CardVerification();
                CardVerification.ReturnIndicator ri = cv.CheckCC(card_number);
                if (ri.CardValid && ri.CardType == card_type)
                {
                    Models.Receipt t = new Models.Receipt();
                    t.customer_id = customer_id; t.first_name = first_name; t.last_name = last_name; t.age = age; t.gender = gender; t.email = email; t.address = address; t.city = city; t.phone_number = phone_number;
                    t.vehicle_id = vehicle_id; t.pickupdate = pickupdate; t.dropoffdate = dropoffdate; t.returncity = returncity; t.pickupcity = pickupcity;
                    t.card_type = card_type; t.card_number = card_number; t.card_name = card_name; t.security_number = security_number; t.expiry_date = expiry_date;
                    return RedirectToAction("Receipt", t);
                }
                else
                {
                    ModelState.AddModelError("error", "Incorrect card details. Please enter again");
                }
            }
            return View();
        }
Exemple #11
0
 public void Discart()
 {
     panelStatus.BackColor = (Enabled ? Color.LimeGreen : Color.Red);
     Receipt            = null;
     panelPaper.Visible = false;
 }