Beispiel #1
0
        public async Task InsertChargeAsync(ChargeDTO charge)
        {
            var gateway = _gatewayFactory.CreateChargeTableGateway();
            int id      = await gateway.InsertChargeAsync(charge);

            charge.Id = id;
        }
Beispiel #2
0
        public async Task UpdateChargeAsync(int chargeId, ChargeDTO chargeDTO)
        {
            var gateway = _gatewayFactory.CreateChargeTableGateway();

            chargeDTO.Id = chargeId;
            await gateway.UpdateChargeAsync(chargeDTO);
        }
        public string SaveCharge(ChargeModels chargeModel)
        {
            ChargeDTO  charge  = new ChargeDTO();
            MessageDTO message = new MessageDTO();

            charge.Company = new CompanyDTO {
                CompanyId = Convert.ToInt32(chargeModel.CompanyId)
            };
            charge.ChargeDescription = chargeModel.ChargeDescription;
            charge.ChargeId          = Convert.ToInt32(chargeModel.Id);
            charge.ChargeStatus      = chargeModel.ChargeStatus;
            charge.User = new UserDTO {
                UserId = Convert.ToInt32(chargeModel.UserId)
            };

            if (String.Compare(chargeModel.Operation, "add", StringComparison.Ordinal) == 0)
            {
                message = business.SaveCharge(charge, "I");
            }
            else if (String.Compare(chargeModel.Operation, "edit", StringComparison.Ordinal) == 0)
            {
                message = business.SaveCharge(charge, "U");
            }

            JavaScriptSerializer oSerializer = new JavaScriptSerializer();
            string sJSON = oSerializer.Serialize(message);

            return(sJSON);
        }
Beispiel #4
0
        public async Task <IEnumerable <ChargeDTO> > GetChargesAsync(int buildingId)
        {
            var result = new List <ChargeDTO>();

            using (var connecion = new SqlConnection(_connectionString))
            {
                using (var cmd = new SqlCommand())
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.CommandText = "[dbo].[SpGetCharges]";
                    cmd.Parameters.AddWithValue("@buildingId", buildingId);
                    cmd.Connection = connecion;
                    cmd.Connection.Open();
                    using (var dataReader = await cmd.ExecuteReaderAsync())
                    {
                        while (await dataReader.ReadAsync())
                        {
                            var charge = new ChargeDTO();
                            charge.Id         = Convert.ToInt32(dataReader["ChargeID"]);
                            charge.BuildingId = buildingId;
                            charge.From       = Convert.ToDateTime(dataReader["From"]);
                            charge.To         = Convert.ToDateTime(dataReader["To"]);
                            result.Add(charge);
                        }
                    }
                }
            }
            return(result);
        }
Beispiel #5
0
        public async Task <Charge> Charge(ChargeDTO charge)
        {
            var idClaim = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;

            if (!long.TryParse(idClaim, out var ownerId))
            {
                throw new UnauthorizedAccessException();
            }

            var ownerUser = await _userRepository.GetByIdAsync(ownerId);

            var customers = new CustomerService();
            var charges   = new Stripe.ChargeService();

            var customer = await customers.CreateAsync(new CustomerCreateOptions
            {
                Email       = ownerUser.Email,
                SourceToken = charge.Token
            });

            var newCharge = await charges.CreateAsync(new ChargeCreateOptions
            {
                Amount      = charge.Value,
                Description = "Test charge",
                Currency    = charge.Currency,
                CustomerId  = customer.Id
            });

            return(newCharge);
        }
        public async Task <ActionResult> AddCharge([FromBody] ChargeDTO request)
        {
            request.CashierId = int.Parse(_applicationUser.GetUserName());
            request.CardId    = JsonConvert.DeserializeObject <CardDTO>(CryptoMethods.DecryptString(request.CardToken)).Id;
            var charge = await _chargeAppService.AddCharge(request);

            return(Ok(charge));
        }
Beispiel #7
0
        public static ChargeResponseBuilding ToModel(this ChargeDTO charge)
        {
            var model = new ChargeResponseBuilding();

            model.ChargeId   = charge.Id;
            model.BuildingId = charge.BuildingId;
            model.From       = charge.From;
            model.To         = charge.To;
            return(model);
        }
Beispiel #8
0
        public static ChargeDTO ToDTO(this CreateChargeRequest chargeRequest)
        {
            var dto = new ChargeDTO
            {
                BuildingId = chargeRequest.BuildingId,
                From       = chargeRequest.From,
                To         = chargeRequest.To
            };

            return(dto);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="whereClause"></param>
        /// <param name="dataTable"></param>
        /// <returns></returns>
        public List <ChargeDTO> GetCharges(Dictionary <string, string> whereClause, ref DataTable dataTable)
        {
            DataSet             dataSet   = new DataSet();
            IUniversalConnector connector = new UniversalConnectorImpl(ServerEnumType.SqlServer, connectionString);
            var charges = new List <ChargeDTO>();

            int    companyId  = Convert.ToInt32(whereClause["companyId"]);
            int    pageSize   = Convert.ToInt32(whereClause["pageSize"]);
            int    pageNumber = Convert.ToInt32(whereClause["pageNumber"]);
            string sortColumn = whereClause["sortColumn"].ToString();
            string sortOrder  = whereClause["sortOrder"].ToString();


            try
            {
                //Todos los registros
                object[] parameters = new object[] { companyId, pageSize, pageNumber, sortColumn, sortOrder };
                connector.FillDataSet(dataSet, CommandType.StoredProcedure, "GetCharges", parameters);

                if (dataSet.Tables[1].Rows.Count > 0)
                {
                    dataTable = dataSet.Tables[0];

                    foreach (DataRow row in dataSet.Tables[1].Rows)
                    {
                        ChargeDTO charge = new ChargeDTO
                        {
                            Company = new CompanyDTO {
                                CompanyId = Convert.ToInt32(row["COMPANY_ID"])
                            },
                            ChargeDescription = row["CHARGE_DESCRIPTION"].ToString(),
                            ChargeId          = Convert.ToInt32(row["CHARGE_ID"]),
                            ChargeStatus      = row["CHARGE_STATUS"].ToString()
                        };
                        charges.Add(charge);
                    }
                }
                else
                {
                    charges = null;
                }
            }
            catch (Exception exception)
            {
                charges = null;
            }
            finally
            {
                connector.Dispose();
            }
            return(charges);
        }
        public async Task <ChargeDTO> AddCharge(ChargeDTO chargeDTO)
        {
            var charge = new Charge(
                chargeDTO.CashierId,
                chargeDTO.CardId,
                chargeDTO.ChargeType,
                new Money(chargeDTO.Amount.Currency, chargeDTO.Amount.Value),
                _resources.GetStringResource(LocalizationKeys.Application.messages_CreateChargeDisplayName),
                chargeDTO.Description
                );

            _chargeRepository.Add(charge);
            await _chargeRepository.UnitOfWork.CommitAsync();

            //TODO enviar push notification a contacto  indicando que tiene un cobro pendiente
            return(charge.ProjectedAs <ChargeDTO>());
        }
Beispiel #11
0
        public async Task <IActionResult> Charge(ChargeDTO model)
        {
            try
            {
                await _chargeService.Charge(model);

                return(Ok());
            }
            catch (UnauthorizedAccessException)
            {
                return(Unauthorized());
            }
            catch (Exception e)
            {
                return(BadRequest(new { e.Message }));
            }
        }
        private void btnClean_Click(object sender, RoutedEventArgs e)
        {
            if (mObjSelectedChargeDTO != null && !string.IsNullOrEmpty(txtFileToImport.Text))
            {
                UndoRelation();
                mObjSelectedChargeDTO = null;
            }


            //if (!string.IsNullOrEmpty(txtFileToImport.Text))
            //{
            //    SetControlsFileSellers(txtFileToImport.Text);
            //}
            //if (mObjAuction != null)
            //{
            //    SetControlsAuctionSellers(mObjAuction);
            //}
        }
Beispiel #13
0
 public async Task UpdateChargeAsync(ChargeDTO charge)
 {
     using (var connection = new SqlConnection(_connectionString))
     {
         using (var cmd = new SqlCommand())
         {
             cmd.CommandType = System.Data.CommandType.StoredProcedure;
             cmd.CommandText = "[dbo].[SpChargeUpdate]";
             cmd.Parameters.AddWithValue("@chargeId", charge.Id);
             cmd.Parameters.AddWithValue("@buildingId", charge.BuildingId);
             cmd.Parameters.AddWithValue("@from", charge.From);
             cmd.Parameters.AddWithValue("@to", charge.To);
             cmd.Connection = connection;
             cmd.Connection.Open();
             await cmd.ExecuteNonQueryAsync();
         }
     }
 }
        //string connectionString = ConfigurationManager.ConnectionStrings["ConnectionTA"].ToString();

        #endregion

        #region Charge

        /// <summary>
        ///
        /// </summary>
        /// <param name="charge"></param>
        /// <param name="operation"></param>
        /// <returns></returns>
        public MessageDTO SaveCharge(ChargeDTO charge, string operation)
        {
            DataTable           dataTable = new DataTable();
            IUniversalConnector connector = new UniversalConnectorImpl(ServerEnumType.SqlServer, connectionString);
            MessageDTO          message   = new MessageDTO();

            try
            {
                connector.BeginTransaction();

                //Todos los registros
                object[] parameters = new object[] { charge.ChargeId, charge.Company.CompanyId,
                                                     charge.User.UserId, charge.ChargeDescription,
                                                     charge.ChargeStatus, operation };
                //connector.ExecuteNonQuery(CommandType.StoredProcedure, "SaveCharge", parameters);
                dataTable = connector.ExecuteDataTable(CommandType.StoredProcedure, "SaveCharge", parameters);

                foreach (DataRow row in dataTable.Rows)
                {
                    message.ErrorCode    = row["ERROR_NUMBER"].ToString();
                    message.ErrorMessage = row["ERROR_DESCRIPTION"].ToString();
                }

                if (message.ErrorCode == "0")
                {
                    connector.Commit();
                }
                else
                {
                    connector.RollBack();
                }
            }
            catch (Exception exception)
            {
                message.ErrorCode    = "-1";
                message.ErrorMessage = exception.ToString();
                connector.RollBack();
            }
            finally
            {
                connector.Dispose();
            }
            return(message);
        }
Beispiel #15
0
        public ActionResult Create(ChargeDTO chargeDTO)
        {
            // Set your secret key: remember to change this to your live secret key in production
            // See your keys here: https://dashboard.stripe.com/account/apikeys
            StripeConfiguration.ApiKey = "sk_test_qtxcZhc7axpT1Rsh1jIaanrq00gJmUHsE1";
            // Token is created using Checkout or Elements!
            // Get the payment token submitted by the form:
            //var token = model.Token; // Using ASP.NET MVC
            var customerOptions = new CustomerCreateOptions
            {
                Description = chargeDTO.name,
                Name        = chargeDTO.name,
                Source      = chargeDTO.stripeToken,
                Email       = chargeDTO.email,
                Metadata    = new Dictionary <string, string>()
                {
                    { "Phone Number", chargeDTO.phone },
                    { "Street", chargeDTO.street }
                }
            };
            var      customerService = new CustomerService();
            Customer customer        = customerService.Create(customerOptions);


            var options = new ChargeCreateOptions
            {
                Amount      = chargeDTO.price * 100,
                Currency    = "eur",
                Description = "Charge for " + customer.Email,
                //Source = chargeDTO.stripeToken,
                Customer = customer.Id
            };

            var    service = new ChargeService();
            Charge charge  = service.Create(options);

            var model = new ChargeViewModel();

            model.ChargeId        = charge.Id;
            Session["userPhones"] = null;

            return(View("OrderStatus", model));
        }
        public string DeleteCharge(int chargeId, int companyId, int userId)
        {
            ChargeDTO  charge  = new ChargeDTO();
            MessageDTO message = new MessageDTO();

            charge.Company = new CompanyDTO {
                CompanyId = companyId
            };
            charge.ChargeDescription = "";
            charge.ChargeId          = chargeId;
            charge.ChargeStatus      = "";
            charge.User = new UserDTO {
                UserId = userId
            };

            message = business.SaveCharge(charge, "D");

            JavaScriptSerializer oSerializer = new JavaScriptSerializer();
            string sJSON = oSerializer.Serialize(message);

            return(sJSON);
        }
Beispiel #17
0
        public async Task <int> InsertChargeAsync(ChargeDTO charge)
        {
            int id = 0;

            using (var connection = new SqlConnection(_connectionString))
            {
                using (var cmd = new SqlCommand())
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.CommandText = "[dbo].[SpCreateCharge]";
                    cmd.Parameters.AddWithValue("@buildingId", charge.BuildingId);
                    cmd.Parameters.AddWithValue("@from", charge.From);
                    cmd.Parameters.AddWithValue("@to", charge.To);
                    cmd.Connection = connection;
                    cmd.Connection.Open();
                    var result = await cmd.ExecuteScalarAsync();

                    id = Convert.ToInt32(result);
                }
            }
            return(id);
        }
        private void btnRelate_Click(object sender, RoutedEventArgs e)
        {
            ChargeDTO lObjAuctionSeller = dgAuctionUnrelatedSellers.SelectedItem as ChargeDTO;
            ChargeDTO lObjFileSeller    = dgFileUnrelatedSellers.SelectedItem as ChargeDTO;

            if (lObjAuctionSeller == null)
            {
                this.ShowMessage("Error", "Favor de seleccionar un vendedor no relacionado en la Subasta.");
                return;
            }

            if (lObjFileSeller == null)
            {
                this.ShowMessage("Error", "Favor de seleccionar un vendedor no relacionado en el Archivo.");
                return;
            }

            mLstObjRelatedSellers.Add(new ChargeDTO()
            {
                SellerId   = lObjAuctionSeller.SellerId,
                SellerCode = lObjAuctionSeller.SellerCode,
                SellerName = lObjAuctionSeller.SellerName,
                Amount     = lObjFileSeller.Amount
            });

            mLstObjAuctionSellers.Remove(mLstObjAuctionSellers.First(x => x.Equals(lObjAuctionSeller)));
            mLstObjFileSellers.Remove(mLstObjFileSellers.First(x => x.Equals(lObjFileSeller)));

            dgAuctionUnrelatedSellers.ItemsSource = null;
            dgFileUnrelatedSellers.ItemsSource    = null;
            dgRelatedSellers.ItemsSource          = null;

            dgAuctionUnrelatedSellers.ItemsSource = mLstObjAuctionSellers;
            dgFileUnrelatedSellers.ItemsSource    = mLstObjFileSellers;
            dgRelatedSellers.ItemsSource          = mLstObjRelatedSellers;
        }
Beispiel #19
0
        public IActionResult CreateSubscription(ChargeDTO chargeDto)
        {
            try
            {
                StripeConfiguration.ApiKey = "sk_test_51GxEfiHhYK7K9XttqUpv12yjajZLs01TY95VhvzVfPEb5Ed8GaF3GFUV2iuhFZGkBgHoNib4iHBDlpALqWPplth6008EdMnnaw";
                int      planNo      = chargeDto.Plan;
                string   planName    = "";
                DateTime dateTimeNow = DateTime.Now;

                //Create customer
                var customerOptions = new CustomerCreateOptions
                {
                    Description = chargeDto.CardName,
                    Source      = chargeDto.StripeToken,
                    Email       = chargeDto.Email,
                    Metadata    = new Dictionary <string, string>()
                    {
                        { "Phone Number", chargeDto.Phone }
                    }
                };

                var      customerService = new CustomerService();
                Customer customer        = customerService.Create(customerOptions);


                //Create subscription
                string plan = "";
                //Standard plan
                if (planNo == 1)
                {
                    plan     = "price_1H9njJHhYK7K9XttfEulEs63";
                    planName = "Standard plan";
                }
                //Premium plan
                else if (planNo == 2)
                {
                    plan     = "price_1H9nnZHhYK7K9XttJdGEg31G";
                    planName = "Premium plan";
                }
                var options = new SubscriptionCreateOptions
                {
                    Customer = customer.Id,
                    Items    = new List <SubscriptionItemOptions>
                    {
                        new SubscriptionItemOptions
                        {
                            Price = plan,
                        },
                    },
                };
                var          service      = new SubscriptionService();
                Subscription subscription = service.Create(options);

                // DynamoDb
                AddUser(chargeDto.Email, planName, dateTimeNow.ToString(), chargeDto.CardName, chargeDto.Password, chargeDto.Phone, "Registered");

                // Cognito
                SignUpUser(chargeDto.Email, chargeDto.Password, customer.Id).Wait();

                return(Redirect("/Home/Index?Msg=Success"));
            }
            catch (Exception ex)
            {
                return(Redirect("/Home/Register?Msg=" + ex.Message));
            }
        }
 private void dgRelatedSellers_MouseDoubleClick(object sender, MouseButtonEventArgs e)
 {
     mObjSelectedChargeDTO = (ChargeDTO)dgRelatedSellers.CurrentItem;
 }
Beispiel #21
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="charge"></param>
 /// <param name="operation"></param>
 /// <returns></returns>
 public MessageDTO SaveCharge(ChargeDTO charge, string operation)
 {
     return(chargeDao.SaveCharge(charge, operation));
 }
Beispiel #22
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="charge"></param>
 /// <param name="operation"></param>
 /// <returns></returns>
 public MessageDTO SaveCharge(ChargeDTO charge, string operation)
 {
     return(dataAccess.SaveCharge(charge, operation));
 }
Beispiel #23
0
        public async Task <ActionResult> MockCharge(ChargeDTO request)
        {
            var consumption = await _chargeAppService.AddCharge(request);

            return(Ok(consumption));
        }
Beispiel #24
0
        public ActionResult Create(ChargeDTO chargeDTO, int ID)
        {
            double        price = 0;
            StringBuilder sb    = new StringBuilder();

            StripeConfiguration.ApiKey = "sk_test_51HHZalIRpf7rAmeBgc0q7aD4yiOcIaPjGCZ60FvMO4Yje4RnstURkwhMYOILHmZJwYHTzhq02OdsQDs1oP3ERsIS00k3aejALI";
            var x = c.Packages.Where(e => e.ID == ID);

            foreach (var item in x)
            {
                price = item.Price * 4.3478;
                sb.AppendFormat("NT Travel Guide xin cảm ơn quý khách đã sử dụng dịch vụ của chúng tôi. " +
                                "Quý khách đã thanh toán thành công. Xin vui lòng kiểm tra lại các thông tin sau: \n" +
                                "Điểm đến: {0}\n" +
                                "Ngày xuất phát: {3}-{2}-{1}\n" +
                                "Chuyến đi trong vòng: {4}\n" +
                                "Mã vé: NT{5}\n\n" +
                                "Trân trọng,\nNT Travel Guide\n" +
                                "Nếu những thông tin trên có sai sót hoặc quý khách có thắc mắc về chuyến đi, xin phản hồi lại email này.\n" +
                                "\nHoặc gọi vào hotline: 028-38364748 để được hỗ trợ tốt nhất.\nXin chân thành cảm ơn.", item.Destination, item.Depart.Year, item.Depart.Month, item.Depart.Day, item.Offer, item.ID);
            }
            var customerOptions = new CustomerCreateOptions
            {
                Description = chargeDTO.CardName,
                Source      = chargeDTO.StripeToken,
                Email       = chargeDTO.Email,
                Metadata    = new Dictionary <String, String>()
                {
                    { "Phone Number", chargeDTO.Phone }
                }
            };
            var      customerService = new CustomerService();
            Customer customer        = customerService.Create(customerOptions);

            var options = new ChargeCreateOptions
            {
                Amount      = (long)price,
                Currency    = "usd",
                Description = "Charge for [email protected]",
                Customer    = customer.Id
            };
            var    service = new ChargeService();
            Charge charge  = service.Create(options);

            var model = new ChargeViewModel();

            model.ChargeId = charge.Id;
            model.Name     = customer.Name;
            model.Email    = customer.Email;

            // Send mail for client
            MailMessage mail = new MailMessage();

            mail.From    = new System.Net.Mail.MailAddress("*****@*****.**");
            mail.Subject = "[MAIL XÁC NHẬN]";

            SmtpClient smtp = new SmtpClient();

            smtp.Port                  = 587;
            smtp.EnableSsl             = true;
            smtp.DeliveryMethod        = SmtpDeliveryMethod.Network;
            smtp.UseDefaultCredentials = false;
            smtp.Credentials           = new NetworkCredential(mail.From.ToString(), "daylamatkhaumanhduocchua?");
            smtp.Host                  = "smtp.gmail.com";

            // Recipient address
            mail.To.Add(new MailAddress(customer.Email));

            // Formatted mail body;
            string st = "Xin chào anh/chị " + customer.Description + ", \n" + sb;

            mail.Body = st;
            smtp.Send(mail);

            return(View("OrderStatus", model));
        }