public ActionResult XuLyLogin(Login model)
 {
     if (ModelState.IsValid)
     {
         var dao    = new DataAccessObject();
         var result = dao.Login(model.UserName, FileMaHoa.MD5Hash(model.Password));
         if (result == 1)
         {
             var user        = dao.GetByID(model.UserName);
             var userSession = new UserLogin();
             userSession.UserName = user.UserName;
             userSession.UserID   = user.ID;
             userSession.GroupID  = user.GroupID;
             var listPermission = dao.GetListPermission(model.UserName);
             Session.Add(CommonConstants.SESSION_PERMISSION, listPermission);
             Session.Add(CommonConstants.USER_SESSION, userSession);
             return(RedirectToAction("Index", "Home"));
         }
         else
         {
             if (result == -1)
             {
                 ModelState.AddModelError("", "Tài Khoản Không Tồn Tại!!!");
             }
             if (result == -2)
             {
                 ModelState.AddModelError("", "Mật Khẩu Không Đúng!!!");
             }
         }
     }
     return(View("DangNhap"));
 }
Example #2
0
 public MainWindow()
 {
     InitializeComponent();
     db = new DataAccessObject();
     HideButtons();
     SetWidth();
 }
        public override Exception DecorateException(Exception exception, DataAccessObject dataAccessObject, string relatedQuery)
        {
            var mySqlException = exception as MySqlException;

            if (mySqlException == null)
            {
                return(base.DecorateException(exception, dataAccessObject, relatedQuery));
            }

            switch (mySqlException.Number)
            {
            case 1062:
                if (mySqlException.Message.Contains("for key 'PRIMARY'"))
                {
                    return(new ObjectAlreadyExistsException(dataAccessObject, exception, relatedQuery));
                }
                else
                {
                    return(new UniqueConstraintException(exception, relatedQuery));
                }

            case 1364:
                return(new MissingPropertyValueException(dataAccessObject, mySqlException, relatedQuery));

            case 1451:
                throw new OperationConstraintViolationException((Exception)null, relatedQuery);

            case 1452:
                throw new MissingRelatedDataAccessObjectException(null, dataAccessObject, mySqlException, relatedQuery);

            default:
                return(new DataAccessException(exception, relatedQuery));
            }
        }
Example #4
0
        public ActionResult Login(Login model)
        {
            if (ModelState.IsValid)
            {
                var dao    = new DataAccessObject();
                var result = dao.LoginKH(model.TaiKhoan, FileMaHoa.MD5Hash(model.MatKhau));
                if (result == 1)
                {
                    var khachHang = dao.GetByID_KH(model.TaiKhoan);
                    Session.Add(CommonConstants.CUSTOMER_SESSION, khachHang.HoTen);
                    return(Redirect("/"));
                }
                else if (result == 0)
                {
                    ModelState.AddModelError("", "Tài Khoản Không Tồn Tại!!!");
                }
                else if (result == -2)
                {
                    ModelState.AddModelError("", "Mật Khẩu Không Đúng!!!");
                }
                else if (result == -1)
                {
                    ModelState.AddModelError("", "Tài Khoản Đã Bị Khóa!!!");
                }
                model = new Login();
            }

            return(View(model));
        }
Example #5
0
        public List <Corso> ListaCorsi(string idUtente)
        {
            DataAccessObject dto    = new DataAccessObject();
            List <Corso>     result = dto.FindCorso(idUtente);

            return(result);
        }
Example #6
0
        public static Customer Load(int customerId)
        {
            Customer customer = new Customer();

            using (var connection = DataAccessObject.CreateConnection())
            {
                connection.Open();

                string commandString = $"SELECT* FROM Customer WHERE CustomerId = {customerId}";

                var command = DataAccessObject.CreateCommand(commandString, System.Data.CommandType.Text, connection);

                var reader = command.ExecuteReader();

                while (reader.Read())

                {
                    customer.CustomerId  = int.Parse(reader["CustomerId"].ToString());
                    customer.Name        = reader["Name"].ToString();
                    customer.DateOfBirth = DateTime.Parse(reader["DateOfBirth"].ToString());
                    customer.Country     = reader["Country"].ToString();
                }

                DataAccessObject.CloseConnection(connection);
            }

            return(customer);
        }
        public override Exception DecorateException(Exception exception, DataAccessObject dataAccessObject, string relatedQuery)
        {
            var mySqlException = exception as MySqlException;

            if (mySqlException == null)
            {
                return base.DecorateException(exception, dataAccessObject, relatedQuery);
            }

            switch (mySqlException.Number)
            {
            case 1062:
                if (mySqlException.Message.Contains("for key 'PRIMARY'"))
                {
                    return new ObjectAlreadyExistsException(dataAccessObject, exception, relatedQuery);
                }
                else
                {
                    return new UniqueConstraintException(exception, relatedQuery);
                }
            case 1364:
                return new MissingPropertyValueException(dataAccessObject, mySqlException, relatedQuery);
            case 1451:
                throw new OperationConstraintViolationException((Exception)null, relatedQuery);
            case 1452:
                throw new MissingRelatedDataAccessObjectException(null, dataAccessObject, mySqlException, relatedQuery);
            default:
                return new DataAccessException(exception, relatedQuery);
            }
        }
Example #8
0
        //Delete Button Behaviour
        private void mainDeleteButton_Click(object sender, EventArgs e)
        {
            Client client;

            //For instant deletion
            if (mainCheckBox.Checked == true)
            {
                client = clientVM.Clients.ElementAt(dataGridViewClients.CurrentRow.Index);
                ClientValidation.DeleteClient(client);
            }

            //Checked deletion
            else
            {
                const string message = "Are you sure you want to delete selected record?";
                const string caption = "Confirm Deletion";
                var          result  = MessageBox.Show(message, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                if (result == DialogResult.Yes)
                {
                    client = clientVM.Clients.ElementAt(dataGridViewClients.CurrentRow.Index);
                    ClientValidation.DeleteClient(client);
                }
            }

            clientVM.Clients = DataAccessObject.SelectAll();
            dataGridViewClients.DataSource = clientVM.Clients;
            dataGridViewClients.Refresh();
            setOutputLabel();
        }
Example #9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                supplierid = Convert.ToInt32(Request.QueryString["supplierid"]);



                //populate suppliers dropdown
                DataAccessObject da = new DataAccessObject();

                DataTable dt = da.GetSupplierByID(supplierid);



                if (dt.Rows.Count > 0)
                {
                    SupplierListDropdown.DataSource     = dt;
                    SupplierListDropdown.DataTextField  = "suppliername";
                    SupplierListDropdown.DataValueField = "supplierid";
                    SupplierListDropdown.DataBind();
                    SupplierListDropdown.Enabled = false;
                }
                else
                {
                    dvMessageError.Visible   = true;
                    dvMessageError.InnerText = "Supplier ID Not Passed, cannot add new user. Please try again.";
                    adduserbutton.Enabled    = false;
                }
            }
        }
Example #10
0
    public Customer GetCustomerFromReader(IDataReader reader)
    {
        try
        {
            Customer customer = new Customer
                                (

                DataAccessObject.IsNULL <int>(reader["CustomerID"]),
                DataAccessObject.IsNULL <string>(reader["FirstName"]),
                DataAccessObject.IsNULL <string>(reader["LastName"]),
                DataAccessObject.IsNULL <int>(reader["Age"]),
                DataAccessObject.IsNULL <string>(reader["GuestName"]),
                DataAccessObject.IsNULL <int>(reader["GuestAge"]),
                DataAccessObject.IsNULL <int>(reader["RelationshipID"]),
                DataAccessObject.IsNULL <int>(reader["IncomeID"]),
                DataAccessObject.IsNULL <string>(reader["PrimaryPhone"]),
                DataAccessObject.IsNULL <string>(reader["SecondaryPhone"]),
                DataAccessObject.IsNULL <string>(reader["Address1"]),
                DataAccessObject.IsNULL <string>(reader["Address2"]),
                DataAccessObject.IsNULL <string>(reader["City"]),
                DataAccessObject.IsNULL <int>(reader["State"]),
                DataAccessObject.IsNULL <int>(reader["Zipcode"]),
                DataAccessObject.IsNULL <int>(reader["Country"]),
                DataAccessObject.IsNULL <string>(reader["Business"]),
                DataAccessObject.IsNULL <string>(reader["Email"])
                                );
            return(customer);
        }
        catch (Exception ex)
        {
            return(null);
        }
    }
Example #11
0
 public EditProject(MainWindow main)
 {
     InitializeComponent();
     db    = new DataAccessObject();
     _main = main;
     OnLoad();
 }
Example #12
0
        public List <Order> GetCustomerOrders(int customerId)
        {
            var orders = new List <Order>();

            using (var connection = DataAccessObject.CreateConnection())
            {
                connection.Open();

                string commandString = $"SELECT * FROM [Orders] WHERE CustomerId = {customerId}";

                var command = DataAccessObject.CreateCommand(commandString, System.Data.CommandType.Text, connection);

                var reader = command.ExecuteReader();

                while (reader.Read())
                {
                    var order = new Order
                    {
                        Amount  = double.Parse(reader["Amount"].ToString()),
                        VAT     = double.Parse(reader["VAT"].ToString()),
                        OrderId = int.Parse(reader["OrderId"].ToString())
                    };
                    orders.Add(order);
                }

                DataAccessObject.CloseConnection(connection);
            }

            return(orders);
        }
Example #13
0
    public Marketing GetMarketingFromReader(IDataReader reader)
    {
        try
        {
            Marketing marketing = new Marketing
                                  (

                DataAccessObject.IsNULL <int>(reader["MarketingID"]),
                DataAccessObject.IsNULL <int>(reader["CustomerID"]),
                DataAccessObject.IsNULL <int>(reader["MarketingAgentID"]),
                DataAccessObject.IsNULL <int>(reader["MarketingCloserID"]),
                DataAccessObject.IsNULL <int>(reader["MarketingVanueID"]),
                DataAccessObject.IsNULL <int>(reader["LeadSourceID"]),
                DataAccessObject.IsNULL <int>(reader["GiftID"]),
                DataAccessObject.IsNULL <decimal>(reader["DepositAmount"]),
                DataAccessObject.IsNULL <bool>(reader["Refundable"]),
                DataAccessObject.IsNULL <string>(reader["Notes"])
                                  );
            return(marketing);
        }
        catch (Exception ex)
        {
            return(null);
        }
    }
Example #14
0
 public NewExpense(MainWindow main)
 {
     InitializeComponent();
     db    = new DataAccessObject();
     _main = main;
     OnLoad();
 }
Example #15
0
    public Billing GetBillingFromReader(IDataReader reader)
    {
        try
        {
            Billing billing = new Billing
                              (

                DataAccessObject.IsNULL <int>(reader["BillingID"]),
                DataAccessObject.IsNULL <int>(reader["ClientID"]),
                DataAccessObject.IsNULL <DateTime>(reader["PaymnetDate"]),
                DataAccessObject.IsNULL <int>(reader["PaymnetType"]),
                DataAccessObject.IsNULL <decimal>(reader["AmountCharge"]),
                DataAccessObject.IsNULL <decimal>(reader["AmountPaid"]),
                DataAccessObject.IsNULL <int>(reader["TreatmentServiceID"]),

                DataAccessObject.IsNULL <string>(reader["EntryBy"].ToString()),
                DataAccessObject.IsNULL <DateTime>(reader["EntryDate"])
                              );
            return(billing);
        }
        catch (Exception ex)
        {
            return(null);
        }
    }
        public ActionResult IndexLogin()
        {
            var dao = new DataAccessObject();
            var tmp = Session[CommonConstants.USER_SESSION] as UserLogin;

            return(View(dao.GetByID(tmp.UserName)));
        }
Example #17
0
        public void When_QueryRequest_Is_Not_Valid_N1QL_Query_Throws_QueryRequestException()
        {
            var bucket = new Mock <IBucket>();

            bucket.Setup(x => x.Query <Beer>(It.IsAny <IQueryRequest>()))
            .Returns(() => new FakeQueryResult <Beer>
            {
                Success = false,
                Rows    = new List <Beer>(),
                Status  = QueryStatus.Errors,
                Message = "'fro' is not a keyword",
                Errors  = new List <Error> {
                    new Error {
                        Code = 1, Message = "'fro' is not a keyword"
                    }
                }
            });

            var dao   = new DataAccessObject <Beer>(bucket.Object);
            var query = new QueryRequest()
                        .Statement("SELECT Name fro `beer-sample` LIMIT $1")
                        .AddPositionalParameter(2);

            var exception = Assert.Throws <QueryRequestException>(() => dao.Select(query));

            Assert.AreEqual(QueryStatus.Errors, exception.QueryStatus);
            Assert.IsTrue(exception.Message.Contains("'fro' is not a keyword"));
        }
Example #18
0
        public void When_Query_Is_Not_Valid_ViewQuery_Throws_ViewRequestException()
        {
            var bucket = new Mock <IBucket>();

            bucket.Setup(x => x.Query <Beer>(It.IsAny <IViewQuery>()))
            .Returns(() => new FakeViewResult <Beer>
            {
                Success    = false,
                Rows       = new List <ViewRow <Beer> >(),
                StatusCode = HttpStatusCode.InternalServerError,
                Error      = "View was not found",
                Message    = "View was not found"
            });

            var dao   = new DataAccessObject <Beer>(bucket.Object);
            var query = new ViewQuery()
                        .Bucket("beer-sample")
                        .DesignDoc("beer")
                        .View("brewery-beers");

            var exception = Assert.Throws <ViewRequestException>(() => dao.Select(query));

            Assert.AreEqual(HttpStatusCode.InternalServerError, exception.StatusCode);
            Assert.AreEqual("View was not found", exception.Message);
        }
        public static void AddRecordsToDb()
        {
            IList list1 = DataAccessObject
                          .GetSession()
                          .CreateSQLQuery("SELECT MAX(id) FROM cinemas;")
                          .List();

            IList list2 = DataAccessObject
                          .GetSession()
                          .CreateSQLQuery("SELECT MAX(id) FROM movies;")
                          .List();

            if (list1 != null && list2 != null)
            {
                var maxC = (int)list1[0];
                var maxM = (int)list2[0];

                Random rnd = new Random();

                DataAccessObject.OpenTransaction();

                DataAccessObject
                .GetSession()
                .CreateSQLQuery($"INSERT INTO tickets (cinema_id, film_id) VALUES " +
                                $"(\'{rnd.Next(1, maxC)}\', \'{rnd.Next(1, maxM)}\');")
                .List();

                DataAccessObject.MakeCommit();
            }
        }
Example #20
0
    public Client GetClientFromReader(IDataReader reader)
    {
        try
        {
            Client client = new Client
                            (

                DataAccessObject.IsNULL <int>(reader["ClientID"]),
                DataAccessObject.IsNULL <string>(reader["FirstName"]),
                DataAccessObject.IsNULL <string>(reader["LastName"]),
                DataAccessObject.IsNULL <int>(reader["Age"]),
                DataAccessObject.IsNULL <string>(reader["PrimaryPhone"]),
                DataAccessObject.IsNULL <string>(reader["SecondaryPhone"]),
                DataAccessObject.IsNULL <string>(reader["Email"]),
                DataAccessObject.IsNULL <string>(reader["Address"]),
                DataAccessObject.IsNULL <string>(reader["City"]),
                DataAccessObject.IsNULL <string>(reader["State"]),
                DataAccessObject.IsNULL <string>(reader["ZipCode"]),
                DataAccessObject.IsNULL <string>(reader["Sex"]),
                DataAccessObject.IsNULL <int>(reader["MetroLocationID"]),
                DataAccessObject.IsNULL <int>(reader["ReferralSourceID"]),
                DataAccessObject.IsNULL <string>(reader["Notes"]),
                DataAccessObject.IsNULL <Boolean>(reader["IsSignedUp"]),

                DataAccessObject.IsNULL <string>(reader["SignUpMessage"]),
                DataAccessObject.IsNULL <string>(reader["CreatedBy"].ToString()),
                DataAccessObject.IsNULL <DateTime>(reader["CreatedDate"])
                            );
            return(client);
        }
        catch (Exception ex)
        {
            return(null);
        }
    }
Example #21
0
        public void When_Query_Is_Valid_ViewQuery_Succeeds()
        {
            var bucket = new Mock <IBucket>();

            bucket.Setup(x => x.Query <Beer>(It.IsAny <IViewQuery>()))
            .Returns(() => new FakeViewResult <Beer>
            {
                Success = true,
                Rows    = new List <ViewRow <Beer> >
                {
                    new ViewRow <Beer> {
                        Id = "beer1", Key = "beer1", Value = new Beer()
                    },
                    new ViewRow <Beer> {
                        Id = "beer1", Key = "beer1", Value = new Beer()
                    }
                }
            });

            var dao   = new DataAccessObject <Beer>(bucket.Object);
            var query = new ViewQuery()
                        .Bucket("beer-sample")
                        .DesignDoc("beer")
                        .View("brewery_beers");

            var result = dao.Select(query);

            Assert.AreEqual(2, result.Count());
        }
Example #22
0
        public async Task <IHttpActionResult> GetCategories(int id)
        {
            var results = await DataAccessObject.GetFromAsync($@"udft_RssCategories({id})");

            results = results.OrderBy(x => x.Order);

            return(Ok(results));
        }
 public MainWindow()
 {
     InitializeComponent();
     _dataAccessObject = new DataAccessObject();
     _orders = new ObservableCollection<GoodWithCount>();
     OrderBox.ItemsSource = _orders; // привязываем отображение заказов к списку _orders
     UpdatePrice();
 }
Example #24
0
 public RealmCore()
 {
     Log     = new MessageLog();
     Db      = new DataAccessObject();
     Setting = SettingModel.Load <RealmSetting>();
     Db.Setup(Setting);
     GManager = new GameManager(this);
     PManager = new PlayerManager(this);
 }
Example #25
0
        public async Task <IHttpActionResult> GetDynamics()
        {
            var queryParams = this.Request.GetQueryStrings();

            var query = queryParams["query"] ?? "";

            var results = await DataAccessObject.GetFromQueryAsync(query);

            return(Ok(results));
        }
Example #26
0
        public System.Collections.IList GetAll()
        {
            Check.Require(_IsInitialized, "The class is not initialized yet.");

            foreach (EntitySecurityBase checker in this.SecurityCheckers)
            {
                checker.GetAll();
            }

            return(DataAccessObject.GetAll());
        }
 public void Get()
 {
     try
     {
         ResultSet = DataAccessObject.ExecuteDataSet(Command, null);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Example #28
0
        public override Exception DecorateException(Exception exception, DataAccessObject dataAccessObject, string relatedQuery)
        {
            var postgresException = exception as PgSqlException;

            if (postgresException == null)
            {
                return(base.DecorateException(exception, dataAccessObject, relatedQuery));
            }

            switch (postgresException.ErrorCode)
            {
            case "40001":
                return(new ConcurrencyException(exception, relatedQuery));

            case "23502":
                return(new MissingPropertyValueException(dataAccessObject, postgresException, relatedQuery));

            case "23503":
                return(new MissingRelatedDataAccessObjectException(null, dataAccessObject, postgresException, relatedQuery));

            case "23505":
                if (!string.IsNullOrEmpty(postgresException.ColumnName) && dataAccessObject != null)
                {
                    if (dataAccessObject.GetAdvanced().GetPrimaryKeysFlattened().Any(c => c.PersistedName == postgresException.ColumnName))
                    {
                        return(new ObjectAlreadyExistsException(dataAccessObject, exception, relatedQuery));
                    }
                }

                if (!string.IsNullOrEmpty(postgresException.ConstraintName) && postgresException.ConstraintName.EndsWith("_pkey"))
                {
                    return(new ObjectAlreadyExistsException(dataAccessObject, exception, relatedQuery));
                }

                if (!string.IsNullOrEmpty(postgresException.DetailMessage) && dataAccessObject != null)
                {
                    if (dataAccessObject.GetAdvanced().GetPrimaryKeysFlattened().Any(c => Regex.Match(postgresException.DetailMessage, @"Key\s*\(\s*""?" + c.PersistedName + @"""?\s*\)", RegexOptions.CultureInvariant).Success))
                    {
                        return(new ObjectAlreadyExistsException(dataAccessObject, exception, relatedQuery));
                    }
                }

                if (postgresException.Message.IndexOf("_pkey", StringComparison.InvariantCultureIgnoreCase) >= 0)
                {
                    return(new ObjectAlreadyExistsException(dataAccessObject, exception, relatedQuery));
                }
                else
                {
                    return(new UniqueConstraintException(exception, relatedQuery));
                }
            }

            return(new DataAccessException(exception, relatedQuery));
        }
Example #29
0
        static void Main(string[] args)
        {
            String          buffer;          //input buffer
            String          province = null; //to store user selection as a string
            int             selection;       //Parsed int from the buffer
            List <Customer> customers;       //List to store queried db
            List <String>   provinces;
            int             i = 0;

            //Menu layout
            Console.WriteLine("Select Province Filter:");

            //Populate all provinces from DB and display a menu based on the retrieved data
            provinces = DataAccessObject.PopulateProvinces();

            foreach (String pr in provinces)
            {
                Console.WriteLine("{0,10}: {1}", ++i, pr);
            }

            Console.WriteLine("{0,10}: {1}", ++i, "ALL");   //very last option of a menu; ALL option

            //Read from a user and parse int from the buffer
            buffer    = Console.ReadLine();
            selection = Int32.Parse(buffer);

            //set province based on selection value
            if (selection == (provinces.Count + 1))
            {
                province = "ALL";
            }
            else
            {
                province = provinces[selection - 1];
            }

            //Query data based on the user input
            try
            {
                customers = DataAccessObject.ReadOperation(province);
                Console.WriteLine("Customer Listings For {0}\n\n", province);
                PrintHelper.printList(customers);
            }

            catch (SqlException ex)
            {
                Console.WriteLine($"Data Access Error\n\n{ex.Message}\n\n{ex.StackTrace}");
            }

            catch (Exception ex)
            {
                Console.WriteLine($"Processing Error\n\n{ex.Message}\n\n{ex.StackTrace}");
            }
        }
Example #30
0
        //Add Button Behaviour
        private void mainAddButton_Click(object sender, EventArgs e)
        {
            createDialog.ShowDialog();

            if (createDialog.DialogResult == DialogResult.OK)
            {
                clientVM.Clients = DataAccessObject.SelectAll();
                dataGridViewClients.DataSource = clientVM.Clients;
                dataGridViewClients.Refresh();
                setOutputLabel();
            }
        }
Example #31
0
 private void DeleteNote(object sender, EventArgs e)
 {
     if (Note.Id != 0)
     {
         DataAccessObject.DeleteNote(Note.Id);
         NavigateToMainPage();
     }
     else
     {
         DisplayAlert("Error", "Cannot delete non existent note", "OK");
     }
 }
Example #32
0
        protected DataAccessObject InitCars()
        {
            if (_cars == null)
            {
                _cars = new CarsDAO(new DaoDescriptor()
                {
                    TableName = CarsTableName
                });
            }

            return(_cars);
        }
        public void When_Insert_Called_And_AuthenticationError_Is_Returned_Throw_AuthenticationException()
        {
            var beer = new Beer
            {
                Id = "beer1"
            };

            var bucket = new Mock<IBucket>();
            bucket.Setup(x => x.Insert(It.IsAny<Document<Beer>>()))
                .Returns(() => new FakeDocumentResult<Beer>
                {
                    Status = ResponseStatus.AuthenticationError,
                    Success = false
                });

            var dao = new DataAccessObject<Beer>(bucket.Object);
            Assert.Throws<CouchbaseAuthenticationException>(() => dao.Insert(beer));
            bucket.VerifyAll();
        }
        public void When_Insert_Called_And_Document_Exists_Throw_DocumentExistsException()
        {
            var beer = new Beer
            {
                Id = "beer1"
            };

            var bucket = new Mock<IBucket>();
            bucket.Setup(x => x.Insert(It.IsAny<Document<Beer>>()))
                .Returns(() => new FakeDocumentResult<Beer>
                {
                    Status = ResponseStatus.KeyExists,
                    Message = "The Key Exists",
                    Success = false
                });

            var dao = new DataAccessObject<Beer>(bucket.Object);
            Assert.Throws<DocumentExistsException>(() => dao.Insert(beer));
            bucket.VerifyAll();
        }
        public override Exception DecorateException(Exception exception, DataAccessObject dataAccessObject, string relatedQuery)
        {
            // http://www.sqlite.org/c3ref/c_abort.html

            var sqliteException = exception as SqliteException;

            if (sqliteException == null)
            {
                return base.DecorateException(exception, dataAccessObject, relatedQuery);
            }

            if (sqliteException.ErrorCode == SQLiteErrorCode.Constraint)
            {
                if (sqliteException.Message.IndexOf("FOREIGN KEY", StringComparison.Ordinal) >= 0)
                {
                    return new MissingRelatedDataAccessObjectException(null, dataAccessObject, sqliteException, relatedQuery);
                }
                else if (sqliteException.Message.IndexOf("NOT NULL", StringComparison.Ordinal) >= 0)
                {
                    return new MissingPropertyValueException(dataAccessObject, sqliteException, relatedQuery);
                }
                else
                {
                    if (dataAccessObject != null)
                    {
                        var primaryKeyNames = dataAccessObject.GetAdvanced().TypeDescriptor.PrimaryKeyProperties.Select(c => c.DeclaringTypeDescriptor.PersistedName + "." + c.PersistedName);

                        if (primaryKeyNames.Any(c => sqliteException.Message.IndexOf(c, StringComparison.Ordinal) >= 0))
                        {
                            return new ObjectAlreadyExistsException(dataAccessObject, exception, relatedQuery);
                        }
                    }

                    return new UniqueConstraintException(exception, relatedQuery);
                }
            }

            return new DataAccessException(exception, relatedQuery);
        }
        public void When_Query_Is_Valid_ViewQuery_Succeeds()
        {
            var bucket = new Mock<IBucket>();
            bucket.Setup(x => x.Query<Beer>(It.IsAny<IViewQuery>()))
                .Returns(() => new FakeViewResult<Beer>
                {
                    Success = true,
                    Rows = new List<ViewRow<Beer>>
                    {
                        new ViewRow<Beer> {Id = "beer1", Key = "beer1", Value = new Beer()},
                        new ViewRow<Beer> {Id = "beer1", Key = "beer1", Value = new Beer()}
                    }
                });

            var dao = new DataAccessObject<Beer>(bucket.Object);
            var query = new ViewQuery()
                .Bucket("beer-sample")
                .DesignDoc("beer")
                .View("brewery_beers");

            var result = dao.Select(query);
            Assert.AreEqual(2, result.Count());
        }
        public void When_Select_Is_Called_And_Document_Does_Not_Exist_DocumentNotFoundException_Is_Thrown()
        {
            var beer = new Beer
            {
                Id = "beer1",
                Name = "Bud"
            };
            var bucket = new Mock<IBucket>();
            bucket.Setup(x => x.GetDocument<Beer>(It.IsAny<string>()))
                .Returns(() => new FakeDocumentResult<Beer>
                {
                    Status = ResponseStatus.KeyNotFound,
                    Success = false,
                    Content = beer
                });

            var dao = new DataAccessObject<Beer>(bucket.Object);
            Assert.Throws<DocumentNotFoundException>(() => dao.Select("the_key"));
            bucket.VerifyAll();
        }
        public void When_Select_Is_Called_And_Document_Exists_It_is_Returned()
        {
            var beer = new Beer
            {
                Id = "beer1",
                Name = "Bud"
            };
            var bucket = new Mock<IBucket>();
            bucket.Setup(x => x.GetDocument<Beer>(It.IsAny<string>()))
                .Returns(() => new FakeDocumentResult<Beer>
                {
                    Status = ResponseStatus.Success,
                    Success = true,
                    Content = beer
                });

            var dao = new DataAccessObject<Beer>(bucket.Object);
            var result = dao.Select("the_key");
            Assert.AreEqual(beer.Name, result.Name);
            bucket.VerifyAll();
        }
        public void When_Update_Called_And_Document_Is_Too_Big_CouchbaseDataException_Is_Thrown()
        {
            var beer = new Beer
            {
                Id = "beer1"
            };

            var bucket = new Mock<IBucket>();
            bucket.Setup(x => x.Replace(It.IsAny<Document<Beer>>()))
                .Returns(() => new FakeDocumentResult<Beer>
                {
                    Status = ResponseStatus.ValueTooLarge,
                    Success = false
                });

            var dao = new DataAccessObject<Beer>(bucket.Object);
            Assert.Throws<CouchbaseDataException>(() => dao.Update(beer));
            bucket.VerifyAll();
        }
        public void When_Update_Called_And_Document_Does_Not_Exist_DocumentNotFoundException_Is_Thrown()
        {
            var beer = new Beer
            {
                Id = "beer1"
            };

            var bucket = new Mock<IBucket>();
            bucket.Setup(x => x.Replace(It.IsAny<Document<Beer>>()))
                .Returns(() => new FakeDocumentResult<Beer>
                {
                    Status = ResponseStatus.KeyNotFound,
                    Success = false
                });

            var dao = new DataAccessObject<Beer>(bucket.Object);
            Assert.Throws<DocumentNotFoundException>(() => dao.Update(beer));
            bucket.VerifyAll();
        }
Example #41
0
 void ensureDB(object stateInfo)
 {
     try {
         threadDescription = "Combining definitions...";
         ContentDefinition contDef = ContentDefinition.CombineDefinitions(WAFContext.GetXmlDefinitions());
         threadDescription = "Connecting to database...";
         DataAccessObject dao = new DataAccessObject(WAFContext.AppSettings, contDef);
         if (dao.IsDataBaseEmpty()) dao.TryUpdateNamesNativeTable(ContentDefinition.LoadNativeDefinitions());
         threadDescription = "Updating fields...";
         List<DbAction> actions = contDef.GetDatabaseEnsureActions();
         int n = 0;
         foreach (var a in actions) {
             if (isThreadCancelled()) return;
             threadDescription = "Updating field " + n + " of  " + actions.Count + " fields. <br/><br/>" + a.TableName + "." + a.FieldName;
             n++;
             dao.DbProvider.UpdateDatabase(new List<DbAction>(new DbAction[] { a }));
         }
         if (_continueWithInstallationFormatting) {
             threadDescription = "DONE. Click: Ensure basic data ";
             _continueWithInstallationFormatting = false;
         } else {
             completeThread("DONE. Database is updated.");
         }
     } catch (Exception error) {
         completeThread("ERROR: " + error.Message);
     }
 }
        public void When_QueryRequest_Is_Not_Valid_N1QL_Query_Throws_QueryRequestException()
        {
            var bucket = new Mock<IBucket>();
            bucket.Setup(x => x.Query<Beer>(It.IsAny<IQueryRequest>()))
                .Returns(() => new FakeQueryResult<Beer>
                {
                    Success = false,
                    Rows = new List<Beer>(),
                    Status = QueryStatus.Errors,
                    Message = "'fro' is not a keyword",
                    Errors = new List<Error> { new Error { Code = 1, Message = "'fro' is not a keyword" } }
                });

            var dao = new DataAccessObject<Beer>(bucket.Object);
            var query = new QueryRequest()
                .Statement("SELECT Name fro `beer-sample` LIMIT $1")
                .AddPositionalParameter(2);

            var exception =  Assert.Throws<QueryRequestException>(() => dao.Select(query));
            Assert.AreEqual(QueryStatus.Errors, exception.QueryStatus);
            Assert.IsTrue(exception.Message.Contains("'fro' is not a keyword"));
        }
Example #43
0
 void restoreBackupTable(BackupTable bkup, DataAccessObject dao, int totalCount, ref int currentCount)
 {
     SqlTable table = new SqlTable(bkup.TableName);
     int progressCount = 0;
     foreach (object[] row in bkup.Data) {
         currentCount++;
         progressCount++;
         if (progressCount > 17) {
             if (WFContext.BreakExecution) return;
             WFContext.Description = "Inserting record " + currentCount + " of " + totalCount + " to \"" + table.TableName + "\"...";
             WFContext.SetProgress(currentCount, totalCount);
             progressCount = 0;
         }
         SqlQuery q = new SqlQuery(dao);
         q.Insert(table);
         int f = -1;
         foreach (object value in row) {
             switch ((DataValueType)bkup.FieldTypes[++f]) {
                 case DataValueType.BooleanType: q.Values(new SqlFieldBoolean(bkup.FieldNames[f], table), (bool)value); break;
                 case DataValueType.DateTimeType: q.Values(new SqlFieldDateTime(bkup.FieldNames[f], table), (DateTime)value); break;
                 case DataValueType.FloatType: q.Values(new SqlFieldFloat(bkup.FieldNames[f], table), (double)value); break;
                 case DataValueType.IntegerType: q.Values(new SqlFieldInteger(bkup.FieldNames[f], table), (int)value); break;
                 case DataValueType.ShortStringType: q.Values(new SqlFieldShortString(bkup.FieldNames[f], table), (string)value); break;
                 case DataValueType.LongStringType: q.Values(new SqlFieldLongString(bkup.FieldNames[f], table), (string)value); break;
                 default: break;
             }
         }
         q.ExecuteNonQuery();
     }
 }
Example #44
0
 public ServerManager(DataAccessObject dao)
     : base(dao)
 {
 }
        public override Exception DecorateException(Exception exception, DataAccessObject dataAccessObject, string relatedQuery)
        {
            var postgresException = exception as PgSqlException;

            if (postgresException == null)
            {
                return base.DecorateException(exception, dataAccessObject, relatedQuery);
            }

            switch (postgresException.ErrorCode)
            {
            case "40001":
                return new ConcurrencyException(exception, relatedQuery);
            case "23502":
                return new MissingPropertyValueException(dataAccessObject, postgresException, relatedQuery);
            case "23503":
                return new MissingRelatedDataAccessObjectException(null, dataAccessObject, postgresException, relatedQuery);
            case "23505":
                if (!string.IsNullOrEmpty(postgresException.ColumnName) && dataAccessObject != null)
                {
                    if (dataAccessObject.GetAdvanced().GetPrimaryKeysFlattened().Any(c => c.PersistedName == postgresException.ColumnName))
                    {
                        return new ObjectAlreadyExistsException(dataAccessObject, exception, relatedQuery);
                    }
                }

                if (!string.IsNullOrEmpty(postgresException.ConstraintName) && postgresException.ConstraintName.EndsWith("_pkey"))
                {
                    return new ObjectAlreadyExistsException(dataAccessObject, exception, relatedQuery);
                }

                if (!string.IsNullOrEmpty(postgresException.DetailMessage) && dataAccessObject != null)
                {
                    if (dataAccessObject.GetAdvanced().GetPrimaryKeysFlattened().Any(c => Regex.Match(postgresException.DetailMessage, @"Key\s*\(\s*""?" + c.PersistedName + @"""?\s*\)", RegexOptions.CultureInvariant).Success))
                    {
                        return new ObjectAlreadyExistsException(dataAccessObject, exception, relatedQuery);
                    }
                }

                if (postgresException.Message.IndexOf("_pkey", StringComparison.InvariantCultureIgnoreCase) >= 0)
                {
                    return new ObjectAlreadyExistsException(dataAccessObject, exception, relatedQuery);
                }
                else
                {
                    return new UniqueConstraintException(exception, relatedQuery);
                }
            }

            return new DataAccessException(exception, relatedQuery);
        }
        public override Exception DecorateException(Exception exception, DataAccessObject dataAccessObject, string relatedQuery)
        {
            var sqlException = exception as SqlException;

            if (sqlException != null)
            {
                switch (sqlException.Number)
                {
                case 2627:
                    return new UniqueConstraintException(exception, relatedQuery);
                case 547:
                    return new MissingRelatedDataAccessObjectException(null, dataAccessObject, exception, relatedQuery);
                case 515:
                    return new MissingPropertyValueException(dataAccessObject, sqlException, relatedQuery);
                }
            }

            return base.DecorateException(exception, dataAccessObject, relatedQuery);
        }
Example #47
0
    protected void btnTestConnection_Click(object sender, EventArgs e)
    {
        ContentDefinition contDef = ContentDefinition.CombineDefinitions(WAFContext.GetXmlDefinitions());
        DataAccessObject dao = new DataAccessObject(WAFContext.AppSettings, contDef);
        try {
            using (IDbConnection cn = dao.DbProvider.CreateDbConnection()) {
                try {
                    cn.Open();
                } finally { try { cn.Close(); } catch { } }

            }
            lblStatus.Text = "OK. Connection succeeded.";
        } catch (Exception err) {
            lblStatus.Text = "ERROR: " + err.Message;
        }
    }
        public void When_Query_Is_Not_Valid_ViewQuery_Throws_ViewRequestException()
        {
            var bucket = new Mock<IBucket>();
            bucket.Setup(x => x.Query<Beer>(It.IsAny<IViewQuery>()))
                .Returns(() => new FakeViewResult<Beer>
                {
                    Success = false,
                    Rows = new List<ViewRow<Beer>>(),
                    StatusCode = HttpStatusCode.InternalServerError,
                    Error = "View was not found",
                    Message = "View was not found"
                });

            var dao = new DataAccessObject<Beer>(bucket.Object);
            var query = new ViewQuery()
                .Bucket("beer-sample")
                .DesignDoc("beer")
                .View("brewery-beers");

           var exception = Assert.Throws<ViewRequestException>(()=> dao.Select(query));
           Assert.AreEqual(HttpStatusCode.InternalServerError, exception.StatusCode);
           Assert.AreEqual("View was not found", exception.Message);
        }
        public void When_QueryRequest_Is_Valid_N1QL_Query_Succeeds()
        {
            var bucket = new Mock<IBucket>();
            bucket.Setup(x => x.Query<Beer>(It.IsAny<IQueryRequest>()))
                .Returns(() => new FakeQueryResult<Beer>
                {
                    Success = true,
                    Rows = new List<Beer>
                    {
                        new Beer(),
                        new Beer()
                    }
                });

            var dao = new DataAccessObject<Beer>(bucket.Object);
            var query = new QueryRequest()
                .Statement("SELECT Name from `beer-sample` LIMIT $1")
                .AddPositionalParameter(2);

            var results = dao.Select(query);
            Assert.AreEqual(2, results.Count());
        }
Example #50
0
 public AccountManager(DataAccessObject dao)
     : base(dao)
 {
 }
Example #51
0
		public virtual Exception DecorateException(Exception exception, DataAccessObject dataAccessObject, string relatedQuery)
		{
			return exception;
		}
Example #52
0
 protected BaseManager(DataAccessObject dao)
 {
     Dao = dao;
 }
        public void When_Insert_Called_And_Document_Does_Not_Exists_Operation_Completes()
        {
            var beer = new Beer
            {
                Id = "beer1"
            };

            var bucket = new Mock<IBucket>();
            bucket.Setup(x => x.Insert(It.IsAny<Document<Beer>>()))
                .Returns(() => new FakeDocumentResult<Beer>
                {
                    Status = ResponseStatus.Success,
                    Success = true
                });

            var dao = new DataAccessObject<Beer>(bucket.Object);
            dao.Insert(beer);
            bucket.VerifyAll();
        }
Example #54
0
 public AccountCommunityManager(DataAccessObject dao)
     : base(dao)
 {
 }