Ejemplo n.º 1
0
        public int SaveCustomer(HsrOrderApp.BL.DomainModel.Customer customer)
        {
            try
            {
                Customer dbCustomer = new Customer();
                bool isNew = false;
                if (customer.CustomerId == default(int) || customer.CustomerId <= 0)
                    isNew = true;

                dbCustomer.CustomerId = customer.CustomerId;
                dbCustomer.Version = customer.Version.ToTimestamp();
                dbCustomer.Name = customer.Name;
                dbCustomer.FirstName = customer.FirstName;

                if (isNew)
                    db.Customers.InsertOnSubmit(dbCustomer);
                else
                    db.Customers.Attach(dbCustomer, true);
                db.SubmitChanges();
                customer.CustomerId = dbCustomer.CustomerId;
                return dbCustomer.CustomerId;
            }
            catch (ChangeConflictException ex)
            {
                if (ExceptionPolicy.HandleException(ex, "DA Policy")) throw;
                return default(int);
            }
        }
Ejemplo n.º 2
0
        public int SaveAddress(HsrOrderApp.BL.DomainModel.Address address)
        {
            try
            {
                Address dbAddress = new Address();
                bool isNew = false;
                if (address.AddressId == default(int) || address.AddressId <= 0)
                {
                    isNew = true;
                }

                dbAddress.AddressId = address.AddressId;
                dbAddress.Version = address.Version.ToTimestamp();
                dbAddress.AddressLine1 = address.AddressLine1;
                dbAddress.AddressLine2 = address.AddressLine2;
                dbAddress.PostalCode = address.PostalCode;
                dbAddress.City = address.City;
                dbAddress.Phone = address.Phone;
                dbAddress.Email = address.Email;

                if (isNew)
                    db.Addresses.InsertOnSubmit(dbAddress);
                else
                    db.Addresses.Attach(dbAddress, true);
                db.SubmitChanges();
                address.AddressId = dbAddress.AddressId;
                return dbAddress.AddressId;
            }
            catch (ChangeConflictException ex)
            {
                if (ExceptionPolicy.HandleException(ex, "DA Policy")) throw;
                return default(int);
            }
        }
Ejemplo n.º 3
0
        public int SaveUser(HsrOrderApp.BL.DomainModel.User user)
        {
            try
            {
                User dbUser = new User();
                bool isNew = false;
                if (user.UserId == default(int) || user.UserId <= 0)
                    isNew = true;

                dbUser.UserId = user.UserId;
                dbUser.Version = user.Version.ToTimestamp();
                dbUser.Password = user.Password;
                dbUser.Username = user.UserName;
                if (user.Customer != null)
                    dbUser.CustomerId = user.Customer.CustomerId;
                else
                    dbUser.Customer = null;

                if (isNew)
                    db.Users.InsertOnSubmit(dbUser);
                else
                    db.Users.Attach(dbUser, true);
                db.SubmitChanges();
                user.UserId = dbUser.UserId;
                return dbUser.UserId;
            }
            catch (ChangeConflictException ex)
            {
                if (ExceptionPolicy.HandleException(ex, "DA Policy")) throw;
                return default(int);
            }
        }
Ejemplo n.º 4
0
        public int SaveProduct(HsrOrderApp.BL.DomainModel.Product product)
        {
            try
            {
                Product dbProduct = new Product();
                bool isNew = false;
                if (product.ProductId == default(int) || product.ProductId <= 0)
                    isNew = true;

                dbProduct.ProductId = product.ProductId;
                dbProduct.Version = product.Version.ToTimestamp();
                dbProduct.Name = product.Name;
                dbProduct.Category = product.Category;
                dbProduct.QuantityPerUnit = product.QuantityPerUnit;
                dbProduct.ListUnitPrice = product.ListUnitPrice;
                dbProduct.UnitsOnStock = product.UnitsOnStock;
                dbProduct.ProductNumber = product.ProductNumber;

                if (isNew)
                    db.Products.InsertOnSubmit(dbProduct);
                else
                    db.Products.Attach(dbProduct, true);
                db.SubmitChanges();
                product.ProductId = dbProduct.ProductId;
                return dbProduct.ProductId;
            }
            catch (ChangeConflictException ex)
            {
                if (ExceptionPolicy.HandleException(ex, "DA Policy")) throw;
                return default(int);
            }
        }
Ejemplo n.º 5
0
        public int SaveUser(HsrOrderApp.BL.DomainModel.User user)
        {
            try
            {
                string setname = "UserSet";
                User dbUser;

                bool isNew = false;
                if (user.UserId == default(int) || user.UserId <= 0)
                {
                    isNew = true;
                    dbUser = new User();
                }
                else
                {
                    dbUser = new User() { UserId = user.UserId, Version = user.Version.ToTimestamp() };
                    dbUser.EntityKey = db.CreateEntityKey(setname, dbUser);
                    db.AttachTo(setname, dbUser);
                }
                dbUser.Version = user.Version.ToTimestamp();
                dbUser.Password = user.Password;
                dbUser.Username = user.UserName;

                if (isNew)
                {
                    if (dbUser.Customer != null)
                        dbUser.CustomerReference.EntityKey = new EntityKey("HsrOrderAppEntities.CustomerSet", "CustomerId", user.Customer.CustomerId);
                    db.AddToUserSet(dbUser);
                }
                else if (user.Customer == null)
                {
                    if (dbUser.Customer != null)
                    {
                        dbUser.Customer.UserReference.Value = null;
                    }
                    dbUser.CustomerReference.Value = null;
                }
                else
                {
                    if (dbUser.CustomerReference.GetEnsureLoadedReference().Value.CustomerId != user.Customer.CustomerId)
                    {
                        Customer newCustomer = new Customer { CustomerId = user.Customer.CustomerId };
                        db.AttachTo("CustomerSet", newCustomer);
                        dbUser.Customer = newCustomer;
                    }
                }
                db.SaveChanges();
                user.UserId = dbUser.UserId;
                return dbUser.UserId;
            }
            catch (OptimisticConcurrencyException ex)
            {
                if (ExceptionPolicy.HandleException(ex, "DA Policy")) throw;
                return default(int);
            }
        }
Ejemplo n.º 6
0
 void LoginViewModel_LoginCompletedEvent(object sender, HsrOrderApp.UI.Silverlight.AuthenticationService.LoginCompletedEventArgs e)
 {
     if (e.Result)
     {
         UpdateState("loggedIn",null);
         _messageBus.GetEvent<Messages.NavigateMessage>().Publish(new Uri("/Views/Home.xaml",UriKind.Relative));
         return;
     }
     _loginfailed = true;
     this.RaisePropertyChanged("ErrorMessage");
     //InvokePropertyChanged(new PropertyChangedEventArgs("ErrorMessage"));
 }
Ejemplo n.º 7
0
        public int SaveOrder(HsrOrderApp.BL.DomainModel.Order order, bool detached)
        {
            try
            {
                CustomerRepository cr = new CustomerRepository(this.db);
                string setname = "OrderSet";

                bool isNew = false;
                Order dbOrder;
                if (detached == false)
                {
                    dbOrder = db.OrderSet.FirstOrDefault(o => o.OrderId == order.OrderId);
                }
                else if (order.OrderId == default(int) || order.OrderId <= 0)
                {
                    isNew = true;
                    dbOrder = new Order();
                }
                else
                {
                    dbOrder = new Order()
                                  {
                                      OrderId = order.OrderId,
                                      Version = order.Version.ToTimestamp(),
                                  };
                    dbOrder.EntityKey = db.CreateEntityKey(setname, dbOrder);
                    db.AttachTo(setname, dbOrder);
                }
                dbOrder.OrderStatus = (int) order.OrderStatus;
                dbOrder.OrderDate = order.OrderDate;
                dbOrder.ShippedDate = order.ShippedDate;

                if (isNew)
                {
                    dbOrder.CustomerReference.EntityKey = new EntityKey("HsrOrderAppEntities.CustomerSet", "CustomerId", order.Customer.CustomerId);
                    db.AddToOrderSet(dbOrder);
                }
                else
                {
                    dbOrder.CustomerReference.Attach(db.CustomerSet.First(c => c.CustomerId == order.Customer.CustomerId));
                }
                db.SaveChanges();
                order.OrderId = dbOrder.OrderId;
                return dbOrder.OrderId;
            }
            catch (OptimisticConcurrencyException ex)
            {
                if (ExceptionPolicy.HandleException(ex, "DA Policy")) throw;
                return default(int);
            }
        }
Ejemplo n.º 8
0
        public int SaveProduct(HsrOrderApp.BL.DomainModel.Product product)
        {
            try
            {
                string setname = "ProductSet";
                Product dbProduct;

                bool isNew = false;
                if (product.ProductId == default(int) || product.ProductId <= 0)
                {
                    isNew = true;
                    dbProduct = new Product();
                }
                else
                {
                    dbProduct = new Product() {ProductId = product.ProductId, Version = product.Version.ToTimestamp()};
                    dbProduct.EntityKey = db.CreateEntityKey(setname, dbProduct);
                    db.AttachTo(setname, dbProduct);
                }
                dbProduct.Name = product.Name;
                dbProduct.Category = product.Category;
                dbProduct.QuantityPerUnit = product.QuantityPerUnit;
                dbProduct.ListUnitPrice = product.ListUnitPrice;
                dbProduct.UnitsOnStock = product.UnitsOnStock;
                dbProduct.ProductNumber = product.ProductNumber;

                if (isNew)
                {
                    db.AddToProductSet(dbProduct);
                }
                db.SaveChanges();
                product.ProductId = dbProduct.ProductId;
                return dbProduct.ProductId;
            }
            catch (OptimisticConcurrencyException ex)
            {
                if (ExceptionPolicy.HandleException(ex, "DA Policy")) throw;
                return default(int);
            }
        }
Ejemplo n.º 9
0
        public int SaveOrder(HsrOrderApp.BL.DomainModel.Order order, bool detached)
        {
            try
            {
                Order dbOrder = new Order();
                if (detached == false)
                {
                    dbOrder = db.Orders.First(o => o.OrderId == order.OrderId);
                }
                bool isNew = false;
                if (order.OrderId == default(int) || order.OrderId <= 0)
                    isNew = true;

                dbOrder.OrderId = order.OrderId;
                dbOrder.Version = order.Version.ToTimestamp();
                dbOrder.OrderStatus = (int) order.OrderStatus;
                dbOrder.OrderDate = order.OrderDate;
                dbOrder.ShippedDate = order.ShippedDate;
                dbOrder.CustomerId = order.Customer.CustomerId;

                if (isNew)
                {
                    db.Orders.InsertOnSubmit(dbOrder);
                }
                else if (detached)
                {
                    db.Orders.Attach(dbOrder, true);
                }

                db.SubmitChanges();
                order.OrderId = dbOrder.OrderId;
                return dbOrder.OrderId;
            }
            catch (ChangeConflictException ex)
            {
                if (ExceptionPolicy.HandleException(ex, "DA Policy")) throw;
                return default(int);
            }
        }
Ejemplo n.º 10
0
        public int SaveCustomer(HsrOrderApp.BL.DomainModel.Customer customer)
        {
            try
            {
                string setname = "CustomerSet";
                Customer dbCustomer;

                bool isNew = false;
                if (customer.CustomerId == default(int) || customer.CustomerId <= 0)
                {
                    isNew = true;
                    dbCustomer = new Customer();
                }
                else
                {
                    dbCustomer = new Customer() {CustomerId = customer.CustomerId, Version = customer.Version.ToTimestamp()};
                    dbCustomer.EntityKey = db.CreateEntityKey(setname, dbCustomer);
                    db.AttachTo(setname, dbCustomer);
                }

                dbCustomer.Name = customer.Name;
                dbCustomer.FirstName = customer.FirstName;
                dbCustomer.Salutation = customer.Salutation;
                if (isNew)
                {
                    db.AddToCustomerSet(dbCustomer);
                }
                db.SaveChanges();

                customer.CustomerId = dbCustomer.CustomerId;
                return dbCustomer.CustomerId;
            }
            catch (OptimisticConcurrencyException ex)
            {
                if (ExceptionPolicy.HandleException(ex, "DA Policy")) throw;
                return default(int);
            }
        }
Ejemplo n.º 11
0
 public void AddUserToRole(HsrOrderApp.BL.DomainModel.User user, HsrOrderApp.BL.DomainModel.Role role)
 {
     try
     {
         UserInRole dbUserInRole = db.UserInRoles.FirstOrDefault(ur => ur.RoleId == role.RoleId && ur.UserId == user.UserId);
         if (dbUserInRole != null)
         {
             // user already in role
             return;
         }
         dbUserInRole = new UserInRole();
         dbUserInRole.Role = db.Roles.FirstOrDefault(r => r.RoleId == role.RoleId);
         dbUserInRole.User = db.Users.FirstOrDefault(u => u.UserId == user.UserId);
         db.UserInRoles.InsertOnSubmit(dbUserInRole);
         db.SubmitChanges();
     }
     catch (ChangeConflictException ex)
     {
         if (ExceptionPolicy.HandleException(ex, "DA Policy")) throw;
     }
 }
Ejemplo n.º 12
0
 public int SaveOrder(HsrOrderApp.BL.DomainModel.Order order)
 {
     return SaveOrder(order, true);
 }
Ejemplo n.º 13
0
        public int SaveOrderDetail(HsrOrderApp.BL.DomainModel.OrderDetail detail, HsrOrderApp.BL.DomainModel.Order forThisOrder)
        {
            try
            {
                OrderDetail dbOrderDetail = new OrderDetail();
                bool isNew = false;
                if (detail.OrderDetailId == default(int) || detail.OrderDetailId <= 0)
                {
                    isNew = true;
                }

                dbOrderDetail.OrderDetailId = detail.OrderDetailId;
                dbOrderDetail.Version = detail.Version.ToTimestamp();
                dbOrderDetail.UnitPrice = detail.UnitPrice;
                dbOrderDetail.QuantityInUnits = detail.QuantityInUnits;
                dbOrderDetail.ProductId = detail.Product.ProductId;
                dbOrderDetail.OrderId = forThisOrder.OrderId;

                if (isNew)
                    db.OrderDetails.InsertOnSubmit(dbOrderDetail);
                else
                    db.OrderDetails.Attach(dbOrderDetail, true);
                db.SubmitChanges();
                detail.OrderDetailId = dbOrderDetail.OrderDetailId;
                return dbOrderDetail.OrderDetailId;
            }
            catch (ChangeConflictException ex)
            {
                if (ExceptionPolicy.HandleException(ex, "DA Policy")) throw;
                return default(int);
            }
        }
Ejemplo n.º 14
0
 public int SaveAddress(HsrOrderApp.BL.DomainModel.Address address, HsrOrderApp.BL.DomainModel.Customer forThisCustomer)
 {
     AddressRepository rep = new AddressRepository(db);
     int addressid = rep.SaveAddress(address);
     if (address.IsNew)
     {
         CustomerAddress ca = new CustomerAddress();
         ca.AddressId = addressid;
         ca.CustomerId = forThisCustomer.CustomerId;
         db.CustomerAddresses.InsertOnSubmit(ca);
         db.SubmitChanges();
     }
     return addressid;
 }
Ejemplo n.º 15
0
 public void RemoveUserFromRole(HsrOrderApp.BL.DomainModel.User user, HsrOrderApp.BL.DomainModel.Role role)
 {
     try
     {
         User dbUser = db.UserSet.First(u => u.UserId == user.UserId);
         Role dbRole = db.RoleSet.First(r => r.RoleId == role.RoleId);
         dbUser.Roles.Attach(dbRole);
         dbUser.Roles.Remove(dbRole);
         db.SaveChanges();
     }
     catch (OptimisticConcurrencyException ex)
     {
         if (ExceptionPolicy.HandleException(ex, "DA Policy")) throw;
     }
 }
Ejemplo n.º 16
0
 public int SaveAddress(HsrOrderApp.BL.DomainModel.Address address)
 {
     Address dbAddress = SaveAddressInternal(address);
     address.AddressId = dbAddress.AddressId;
     return address.AddressId;
 }
Ejemplo n.º 17
0
 public int SaveSupplier(HsrOrderApp.BL.DomainModel.Supplier supplier)
 {
     Supplier dbSupplier = SaveSupplierInternal(supplier);
     supplier.AccountNumber = dbSupplier.AccountNumber;
     return supplier.AccountNumber;
 }
Ejemplo n.º 18
0
 public void RemoveUserFromRole(HsrOrderApp.BL.DomainModel.User user, HsrOrderApp.BL.DomainModel.Role role)
 {
     try
     {
         User dbUser = db.Users.FirstOrDefault(u => u.UserId == user.UserId);
         UserInRole dbUserInRole = dbUser.UserInRoles.FirstOrDefault(u => u.RoleId == role.RoleId);
         if (dbUserInRole == null)
         {
             // user not in role anyway
             return;
         }
         db.UserInRoles.DeleteOnSubmit(dbUserInRole);
         db.SubmitChanges();
     }
     catch (ChangeConflictException ex)
     {
         if (ExceptionPolicy.HandleException(ex, "DA Policy")) throw;
     }
 }
Ejemplo n.º 19
0
 public int SaveAddress(HsrOrderApp.BL.DomainModel.Address address, HsrOrderApp.BL.DomainModel.Customer forThisCustomer)
 {
     AddressRepository rep = new AddressRepository(db);
     Address dbAddress = rep.SaveAddressInternal(address);
     if (address.IsNew)
     {
         Customer customer = db.CustomerSet.First(c => c.CustomerId == forThisCustomer.CustomerId);
         customer.Addresses.Add(dbAddress);
         db.SaveChanges();
     }
     return dbAddress.AddressId;
 }
Ejemplo n.º 20
0
        public int SaveOrderDetail(HsrOrderApp.BL.DomainModel.OrderDetail detail, HsrOrderApp.BL.DomainModel.Order forThisOrder)
        {
            try
            {
                string setname = "OrderDetailSet";
                OrderDetail dbOrderDetail;
                bool isNew = false;
                if (detail.OrderDetailId == default(int) || detail.OrderDetailId <= 0)
                {
                    isNew = true;
                    dbOrderDetail = new OrderDetail();
                }
                else
                {
                    dbOrderDetail = new OrderDetail() {OrderDetailId = detail.OrderDetailId, Version = detail.Version.ToTimestamp()};
                    dbOrderDetail.EntityKey = db.CreateEntityKey(setname, dbOrderDetail);
                    db.AttachTo(setname, dbOrderDetail);
                }
                dbOrderDetail.UnitPrice = detail.UnitPrice;
                dbOrderDetail.QuantityInUnits = detail.QuantityInUnits;


                if (isNew)
                {
                    dbOrderDetail.OrderReference.EntityKey = new EntityKey("HsrOrderAppEntities.OrderSet", "OrderId", detail.Order.OrderId);
                    dbOrderDetail.ProductReference.EntityKey = new EntityKey("HsrOrderAppEntities.ProductSet", "ProductId", detail.Product.ProductId);
                    db.AddToOrderDetailSet(dbOrderDetail);
                }
                else
                {
                    if (dbOrderDetail.ProductReference.GetEnsureLoadedReference().Value.ProductId != detail.Product.ProductId)
                    {
                        Product newProduct = new Product {ProductId = detail.Product.ProductId};
                        db.AttachTo("ProductSet", newProduct);
                        dbOrderDetail.Product = newProduct;
                    }
                }
                db.SaveChanges();

                detail.OrderDetailId = dbOrderDetail.OrderDetailId;
                return dbOrderDetail.OrderDetailId;
            }
            catch (OptimisticConcurrencyException ex)
            {
                if (ExceptionPolicy.HandleException(ex, "DA Policy")) throw;
                return default(int);
            }
        }