Пример #1
0
        public bool SaveRegistration()
        {
            using (DAL.HisContext ctx = new DAL.HisContext())
            {
                var config = new MapperConfiguration(cfg =>
                {
                    cfg.CreateMap <CommContracts.Registration, DAL.Registration>().
                    ForMember(x => x.MedicalRecords, opt => opt.Ignore()).
                    ForMember(x => x.Patient, opt => opt.Ignore()).
                    ForMember(x => x.RegisterUser, opt => opt.Ignore());
                });
                var mapper = config.CreateMapper();

                DAL.Registration temp = new DAL.Registration();
                temp = mapper.Map <DAL.Registration>(registration);

                ctx.Registrations.Add(temp);
                try
                {
                    ctx.SaveChanges();
                }
#pragma warning disable CS0168 // 声明了变量“ex”,但从未使用过
                catch (Exception ex)
#pragma warning restore CS0168 // 声明了变量“ex”,但从未使用过
                {
                    return(false);
                }
            }
            return(true);
            //return false;
        }
 public ActionResult Create(DAL.Registration registration)
 {
     try
     {
         _register.RegisterTraining(registration);
         return(RedirectToAction("Index"));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex.InnerException);
     }
 }
Пример #3
0
        /// <summary>
        /// Inserts an order for the specified user.
        /// </summary>
        /// <param name="userId">Internal identifier of the user.</param>
        /// <param name="order">Order Information for the user.</param>
        public int Insert(int userId, OrderInfo order, int ownerId)
        {
            int orderId = 0;

            using (SqlConnection connection = new SqlConnection(SQLHelper.CONNECTION_STRING))
            {
                connection.Open();

                using (SqlTransaction transaction = connection.BeginTransaction())
                {
                    try
                    {
                        // Get the  details of the credit card.
                        Registration registration = new DAL.Registration();

                        // Insert Order Details.
                        SqlParameter[] parameters = SQLHelper.GetCachedParameters("SQL_INSERT_ORDER");

                        if (parameters == null)
                        {
                            parameters = new SqlParameter[] {
                                new SqlParameter("@OrderId", SqlDbType.Int),
                                new SqlParameter("@OrderNumber", SqlDbType.Int),
                                new SqlParameter("@OrderType", SqlDbType.Int),
                                new SqlParameter("@OrderDate", SqlDbType.DateTime),
                                new SqlParameter("@Amount", SqlDbType.Decimal),
                                new SqlParameter("@TransactionCode", SqlDbType.Int),
                                new SqlParameter("@TransactionMessage", SqlDbType.NVarChar, 255),
                                new SqlParameter("@CreditCardTypeId", SqlDbType.Int),
                                new SqlParameter("@CreditCardNo", SqlDbType.NVarChar, 20),
                                new SqlParameter("@CVVNo", SqlDbType.NVarChar, 4),
                                new SqlParameter("@HolderName", SqlDbType.NVarChar, 50),
                                new SqlParameter("@ExpirationMonth", SqlDbType.Int),
                                new SqlParameter("@ExpirationYear", SqlDbType.Int),
                                new SqlParameter("@BillingAddress1", SqlDbType.NVarChar, 255),
                                new SqlParameter("@BillingAddress2", SqlDbType.NVarChar, 255),
                                new SqlParameter("@BillingCity", SqlDbType.NVarChar, 100),
                                new SqlParameter("@BillingStateId", SqlDbType.Int),
                                new SqlParameter("@BillingZip", SqlDbType.NVarChar, 15),
                                new SqlParameter("@BillingCountryId", SqlDbType.Int),
                                new SqlParameter("@UserId", SqlDbType.Int)
                            };

                            SQLHelper.CacheParameters("SQL_INSERT_ORDER", parameters);
                        }

                        parameters[0].Direction = ParameterDirection.Output;
                        parameters[1].Value     = order.Number;
                        parameters[2].Value     = order.Type;
                        parameters[3].Value     = order.Date;
                        parameters[4].Value     = order.Amount;
                        parameters[5].Value     = order.TransactionCode;
                        parameters[6].Value     = order.TransactionMessage;
                        parameters[7].Value     = order.CreditCard.Type.LookupId;
                        parameters[8].Value     = order.CreditCard.Number;
                        parameters[9].Value     = order.CreditCard.CvvNumber;
                        parameters[10].Value    = order.CreditCard.HolderName;
                        parameters[11].Value    = order.CreditCard.ExpirationMonth;
                        parameters[12].Value    = order.CreditCard.ExpirationYear;
                        parameters[13].Value    = order.CreditCard.Address.Address1;
                        parameters[14].Value    = order.CreditCard.Address.Address2;
                        parameters[15].Value    = order.CreditCard.Address.City;
                        parameters[16].Value    = order.CreditCard.Address.State.StateId;
                        parameters[17].Value    = order.CreditCard.Address.Zip;
                        parameters[18].Value    = order.CreditCard.Address.Country.CountryId;
                        parameters[19].Value    = userId;

                        SQLHelper.ExecuteNonQuery(transaction, CommandType.Text,
                                                  SQLHelper.GetSQLStatement(MODULE_NAME, "SQL_INSERT_ORDER"),
                                                  parameters);
                        orderId = (int)parameters[0].Value;

                        AuditEntryInfo auditEntry = new AuditEntryInfo(Module.OrderManagement, orderId.ToString(), "Inserted order header",
                                                                       userId, ownerId);
                        AuditTrail.WriteEntry(auditEntry, transaction);

                        if (order.Items != null)
                        {
                            parameters = SQLHelper.GetCachedParameters("SQL_INSERT_ORDER_DETAIL");

                            if (parameters == null)
                            {
                                parameters = new SqlParameter[] {
                                    new SqlParameter("@OrderId", SqlDbType.Int),
                                    new SqlParameter("@line_number", SqlDbType.Int),
                                    new SqlParameter("@ItemId", SqlDbType.NVarChar, 30),
                                    new SqlParameter("@Quantity", SqlDbType.Int),
                                    new SqlParameter("@Rate", SqlDbType.Decimal)
                                };

                                SQLHelper.CacheParameters("SQL_INSERT_ORDER_DETAIL", parameters);
                            }
                            int lineNumber = 1;
                            foreach (OrderItemInfo orderItem in order.Items)
                            {
                                parameters[0].Value = orderId;
                                parameters[1].Value = lineNumber;
                                parameters[2].Value = orderItem.ItemId;
                                parameters[3].Value = orderItem.Quantity;
                                parameters[4].Value = orderItem.Rate;

                                SQLHelper.ExecuteNonQuery(transaction, CommandType.Text,
                                                          SQLHelper.GetSQLStatement(MODULE_NAME, "SQL_INSERT_ORDER_DETAIL"),
                                                          parameters);

                                auditEntry = new AuditEntryInfo(Module.OrderManagement, orderId.ToString(), "Inserted order detail",
                                                                userId, ownerId);
                                AuditTrail.WriteEntry(auditEntry, transaction);

                                Product product = new Product();
                                if (order.Type == OrderType.ShoppingCart && order.TransactionStatus)
                                {
                                    ProductInfo productInfo = product.GetProductDetails(orderItem.ItemId);
                                    foreach (ProductItemInfo productItemInfo in productInfo.ProductItems)
                                    {
                                        SqlParameter[] messageParameters = GetCartItemParams();
                                        messageParameters[0].Value = userId;
                                        messageParameters[1].Value = productItemInfo.ProductTypeId;
                                        messageParameters[2].Value = orderItem.Quantity * productItemInfo.Quantity;
                                        SQLHelper.ExecuteNonQuery(transaction, CommandType.StoredProcedure,
                                                                  SQLHelper.GetSQLStatement(MODULE_NAME, "SP_INSERT_UPDATE_INVENTORY"), messageParameters);
                                        auditEntry = new AuditEntryInfo(Module.OrderManagement, productItemInfo.ProductTypeId.ToString(),
                                                                        "Updated inventory", userId, ownerId);
                                        AuditTrail.WriteEntry(auditEntry, transaction);
                                    }
                                }
                            }
                        }

                        // Update the user status if the type of payment is Membership Fees.
                        if (order.Type == OrderType.MembershipFee)
                        {
                            //registration.UpdateStatus(userId,
                            //    RegistrationStatus.MembershipPaid, transaction);
                        }
                        if (order.Type == OrderType.ShoppingCart)
                        {
                            ShoppingCart cart = new ShoppingCart();
                            cart.DeleteCartItem(userId, string.Empty, new Product(), ownerId);
                        }
                        transaction.Commit();
                    }
                    catch
                    {
                        transaction.Rollback();

                        throw;
                    }
                }
            }
            return(orderId);
        }
Пример #4
0
 public void RegisterTraining(DAL.Registration register)
 {
     _db.Registrations.Add(register);
     _db.SaveChanges();
 }