Creating Interfaces Definitions IDs

search mail :
Interface Definitions for Anajet

FW: Interface Definitions for Rem-B Hydraulics

Request and Responses

----------------------------
Request and Responses
----------------------------
CalclulateBasket
Request
ExtendedOrderProvider > CreateBasketRequest
Response : ExtendedOrderXmlParser > ParseBasket

SaveOrder 
Request
ExtendedOrderProvider > CreateSaveOrderRequest
Response
ExtendedOrderProvider > SaveOrder(IOrder order)

GetOrder
request
ExtendedOrderProvider >  GetOrder > 
CreateOrderListRequest
Response : orderxmlparser

GetPersistedBasket
Request : ExtendedOrderProvider > CreatePersistedBasket
REsponse : ExtendedOrderXmlParser > ParseBasket,  FillSalesLineProperties




GetProduct
ProductProvider > GetProducts
ProductXmlParser




GetSettings

OrderManager 
divercy project:  DeliveryCalendarLookupPeriod

public class ExtendedOrderManager : OrderManager<IExtendedOrderProvider>
    {
        //RFC01_v1.4:[Ticket 48670] 3.1.DELIVERY BASED ON ERP FACTORY CALENDARS
        /// <summary>
        /// Get Delivery Calendar Lookup Period for Delivery date
        /// </summary>
        public virtual int DeliveryCalendarLookupPeriod
        {
            get { return GetProviderSetting<int>("DeliveryCalendarLookupPeriod"); }
        }



GetStockInfo
StockProvider

GetStockInfo
StockXmlParser









Emails used Projects ,E mails


TetenalUK
TATE-106957 OrdersNeedApproval,

Ravensburger 
[49417] 3.5. ORDER FAILURE – E-MAIL

[47329] [EMP-115345] Urgent Regulators requirements - addition of Pharmacist and Reg to orders
Add additinal detaisls to Order confimation mail

versalert

Jim Lawrence
Add additinal detaisls to Order confimation mail 
ORDERADDITIONALCOMMENTS


Kavo
CUSTOMER REGISTRATION – B2B CUSTOMER
Ticket :https://sanacommerce.visualstudio.com/Sana%20Projects/_workitems/edit/88717/

FederalMerchants
Ticket 102951: [New requirement] - Send an email when an order is placed based on the customer type

Order Approve Email, E mail


Tetanal UK Project : TATE-106957

Create a GetOrderApproveMail method on ExtendedOrderConfirmationHelper



protected  MailMessage GetOrderApproveMail(string templateName, IOrder order, NameValueCollection additionalReplaceTags = null, IList<MailAddress> recipients = null)
        {
            var shopContext = ShopContext.GetCurrent();
            var settings = shopContext.Settings;

            var fromAddress = new MailAddress(settings.FromEmailAddress);
            var replaceTags = GetReplaceTags(shopContext, order);
            if (additionalReplaceTags != null)
            {
                additionalReplaceTags.AllKeys.Each(tagName => replaceTags.Add(tagName, additionalReplaceTags[tagName]));
            }

            var additionalData = new Dictionary<string, object>();
            additionalData.Add("OrderDetails", CreateOrderDetailsModel(shopContext, order));

            if (recipients == null)
            {
                recipients = GetEmailAddresses(shopContext, order);
            }

            var mail = ShopApi.Mail.Render(fromAddress, recipients, templateName, replaceTags, additionalData);
            if (settings.BccEmailAddresses != null)
            {
                settings.BccEmailAddresses.Each(bcc => mail.Bcc.Add(new MailAddress(bcc)));
            }

            return mail;
        }



public  MailMessage GetOrderApprovalEmail(string templateName, IOrder order, IList<MailAddress> recipients = null)
        {
            return GetOrderApproveMail(templateName, order, recipients: recipients);
        }




1ExtendedOrderConfirmationHelper : create GetOrderApproveMail method
2 ExtendedStoreInfoModel : add field to the settings
eg :((ExtendedWebsiteSettings)settings).OrderApprovalEmails = SplitEmails(this.OrderApprovalEmails);

3 ExtendedConfirmationEmailCheckoutHandler : inside SendMail() > call ExtendedOrderConfirmationHelper.GetOrderApprovalEmail()

4 ExtendedWebsiteSettings add OrderApprovalEmails

5 ExtendedOrderProvider : in save order() > Assign OrdersNeedApproval by condtion

6 mailTemplate : orderneedAproval .chtml


connection string encrypt decrypt on web.config

Encrypt 

  1. Run Command Prompt as Administrator
  2. Go to C:\Windows\Microsoft.NET\Framework\v4.0.30319 
  3. cdC:\Windows\Microsoft.NET\Framework\v4.0.30319
  4. Enter this,
ASPNET_REGIIS -pef "connectionStrings" "D:\development\Divercybkup\Diversey_93212\Sana.Commerce.Startersite"


Decrypt


  1. Run Command Prompt as Administrator
  2. Go to C:\Windows\Microsoft.NET\Framework\v4.0.30319
  3. cdC:\Windows\Microsoft.NET\Framework\v4.0.30319
  4. Enter this,
ASPNET_REGIIS -pdf "connectionStrings" "D:\development\Divercybkup\Diversey_93212\Sana.Commerce.Startersite"



connectionStrings,securityKeys,machineKey

ASPNET_REGIIS -pdf "connectionStrings" "E:\New folder\beta\Frontend"
ASPNET_REGIIS -pdf "securityKeys" "E:\New folder\beta\Frontend"
ASPNET_REGIIS -pdf "machineKey" "E:\New folder\beta\Frontend"


ASPNET_REGIIS -pdf "connectionStrings" "E:\New folder\live\Frontend"
ASPNET_REGIIS -pdf "securityKeys" "E:\New folder\live\Frontend"
ASPNET_REGIIS -pdf "machineKey" "E:\New folder\live\Frontend"

How to do a Migration Beat to Live,


Example Video on Migration 
https://web.microsoftstream.com/video/8f2f19dd-2351-4057-b50d-082c0bb8675a


1. Create a ticket request to do the DB migration from the Host Team.

Use the following link to create Tickets.

Already Created example
Anajet: https://sanacommerce.visualstudio.com/Sana%20Hosting/_workitems/edit/60840
Coulisse: https://sanacommerce.visualstudio.com/Sana%20Hosting/_workitems/edit/88912/

2.Copy Beta data to LiveUpgrade(newly created)
2.Copy Lived data to LiveUpgrade(newly created)
Tables,
2.1 WebsiteDomains Table
eg : Copy WebsiteDomains table details to AnaJetLive(Live) to AnaJetLiveUpgraded(newly-created DB). 

2.2 Setting Table
(need to remove connection settings otherwise it will give an error and will not load the project)
Remove Key=Connection from LiveUpgrade.



  
  1. Come to the server, takes full backup of Live DB
                        for safety, create a zip file of this backup.

  1. Change web.config file with New Database.

4.1 Do the decrypt the web.config file
      > cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
      >aspnet_regiis -pdf "connectionStrings" "C:\Sana Commerce\Projects\BetaSanaStore\Frontend"

4.2 Before updating db name double-check, the site is working after decrypting the web.config.
4.3 Update web config with new DB Name.
4.4 Restart app pool

  1. Duplicate the Sana Admin page and go to user Manager >Edit Live Backoffice user (Keep it) 

    6.  After change the Database name, the Site's Backoffice Account also change,
         (because we created the new DB as a copy of the Beta database).

          6.1  so go to the back-office and log with Beta Backoffice credentials.

   7. Change password back to Live Backoffice credentials.
        7.1 go Admin section > User management > change to Live credentials .
        7.2 Check the Permission are same as before with user manager  page duplicated earlier.
  
   8.  Then Log out and login with Live credentials.

   9. fill ERP details from starter site  >ERP web  service.
       9.1 Test the connection.

  10. Then need to run tasks



for live set task server to true
<add key="TaskServer" value="true" />
       
10.1 if web service not set I by Database:- 'Servers' table, set Live and Liveupdate look same.
Refresh both caches (ERP, site)

        run General , Customer ,Product



  1. Install Addons.

Go to Live db > Settings table > check any Extensions installed , Delete  them.
Eg: Extension_AuthorizeNet, Extension_FedEx.

  1. Copy the Addon settings from Beta to PreLive eg : Authorize.net ,FedEX.
  2. Check Payment Methods show properly if have.
  3. Check Shipping Method ""

  1. Go to Website view  and check missing images ,
Product images no need to copy, but if some images are used in same pages , then add

  1. If all looks fine Change DB names, to change  as shared sana Admin on DB
  2. eg : AnajetLive--> AnajetLive_old
  3. Eg : AnajetUpgrade --> AnajetLive


Then do Smoke Test.


CUSTOMER REGISTRATION FORM

 Borsig rqs v1.8
3.8.          Customer Registration form

Change new account form