/// <summary> /// Created by Michael Takrama /// 04/13/17 /// /// Processes Orders from the MVC Layer /// William Flood /// 2017/04/29 /// Updated method to use cart from the database /// /// </summary> /// <param name="cart">Cart object containing OrderLine Items</param> /// <param name="shippingDetails">Contains shipping Details</param> public int ProcessOrder(ShippingDetails shippingDetails) { var user = userManager.RetrieveUserByUserName(shippingDetails.IdentityUsername); var customer = customerManager.RetrieveCommercialCustomerByUserId(user.UserId); int orderId = 0; try { var p = new ProductOrder { CustomerId = customer.UserId, OrderTypeId = "Commercial", AddressType = null, OrderDate = DateTime.Now, Address1 = shippingDetails.Line1 + "," + shippingDetails.Line2, City = shippingDetails.City, State = shippingDetails.State, Zip = shippingDetails.Zip, OrderStatusId = "Open", HasArrived = false, Discount = 0, // defaulted to 0 % until discount functionality added -- temporaire }; orderId = ProductOrderAccessorMvc.CreateProductOrder(p); } catch (Exception e) { Debug.WriteLine(e.Message); throw new ApplicationException("CustomerOrderManager: " + e.Message); } return(orderId); }
/// <summary> /// Created by Michael Takrama /// 04/15/17 /// /// Logic to Apply for Commercial Account - MVC /// </summary> /// <param name="user"></param> /// <returns></returns> public bool ApplyForCommercialAccount(RegisterCommercialViewModel user) { // App User Creation var userManager = new UserManager(); try { var createdUserResult = userManager.CreateNewUser(user, user.Password, user.ConfirmPassword); if ("Created" != createdUserResult) { throw new ApplicationException(createdUserResult); } } catch (Exception ex) { Debug.WriteLine("CustomerManager-ApplyForCommercialAccount: " + ex.Message); throw; } // Commercial Customer Creation User userData = null; try { userData = userManager.RetrieveUserByUserName(user.UserName); var cm = new CommercialCustomer { UserId = userData.UserId, FederalTaxId = int.Parse(user.FederalTaxID), ApprovedBy = 0, Active = true }; if (CreateCommercialAccount(cm)) { return(true); } //Commercial Customer Creation failed - delete created user if (1 == UserAccessor.DeleteUser(userData.UserId)) { throw new ApplicationException("Fatal Error Occured"); } } catch (SqlException ex) { if (userData != null) { UserAccessor.DeleteUser(userData.UserId); } Debug.WriteLine(ex.Message); throw new ApplicationException("Fatal Error Occured"); } catch (Exception e) { Debug.WriteLine(e); throw; } return(false); }