Starter Site Transfer Checklist

 https://sanacommerce.visualstudio.com/Sana%20Projects/_wiki/wikis/Sana-Projects.wiki/1146/-SL-Starter-Site-Transfer-Checklist


Project 

Hatwee 

starter site checklist

Item No 

Description 

Starter Site/RQS 

Comments 

01 

Sana version  

·        Check the Sana version which will be used for this project 

 9.3.5 (Both)

 

02 

ERP version and add-ons  

·        Check the ERP and the ERP version 

 Sap b1(Both)

 

 

·        Check the web service URL  

o   Development (in Start) 

o   Live if available  

Webservice URL,

Beta web shop: available

Starter site: not available

Live: not available in both

 

 

·        Check the listed add-ons installed in your ERP which might impact the web shop (Perfion/ECON/InRiver) 

 Beta site: Ingenico,Kbc Paypage installed.

RQS : Ingenico only

 

03 

Target audience  (B2B/B2C/Both) 

 B2B

 

04 

Shop sales scenario  (Open/Closed) 

 

 

05 

Languages  

·        Check the languages installed 

·        Will update additionally installed addons 

RQS: EN, FR, NL

Beta: NL-BE, FR-BE

 

06 

Design packs 

·        Design pack available? 

·        What are the design packs installed? 

 

 

07 

HTML injection 

·        HTML injection available?  

 No

 

08 

SSL certificate  

·        SSL certificate for development/beta web service required? (Available in Start) 

 Not available in start

 

09 

Start details are up-to-date?  

 

 

10 

VPN availability?  

·        For development web service (Available in Start) 

·        For web server access (Available in Start)  

 

No VPN

 

11 

Performance on starter Site 

·        Are there any performance concerns? 

(Will be available in Sphere) 

 NA

 

12 

Task Service 

·        Task Service available? 

·        Check whether the version match with RQS and front end 

·        Check whether the Task Service can be stopped and start manually 

 

Yes,

 

Yes

 

Yes

 

Task Service available

 

Both are same (9.3.5)

 

Can stop

13 

Hosting (External/Internal)  

 Internal

 

14 

Payment Service Providers 

·        Do they work? 

·        Provide available information if any  

Ingenico,

KBC Payment provider (not in RQS).

Ingenico: Works

KBCP: Details not configured in Beta/Start

 

 

 

 

 

15 

Third party integrations (Perfion/Econ) 

·        Are info available in Start? (Test/Live) 

 No integrations

 

16 

‘Variants’, ‘BOM’, ‘Related Products/Mix and Match’ are available ?  

 No

 

17 

Customer specific assortments available?  

 No

 

18 

Known Sana issues (Available in Sphere)  

 

 

19 

Known ERP issues (Available in Sphere)  

 

 


D:\Projects\Applications\AirsysBeta\TaskService\Sana.Commerce.TaskService.exe"
right click >properties > details tab 

















SCC setup

 [SL] Setup SCC Development Environment Wiki

https://sanacommerce.visualstudio.com/Sana%20Projects/_wiki/wikis/Sana-Projects.wiki/1169/?wikiVersion=GBwikiMaster&_a=edit&pagePath=%2FDevelopment%20Teams%2FSL%20Process%20Agreements%20and%20Resources%2F%5BSL%5D%20Setup%20SCC%20Development%20Environment

cd\

cd D:\SanaSCC\SCCTest_1.0.4.37\SDK\Sana.Commerce.WebApp\ClientApp


https://community.sana-commerce.com/SanaCommerceCloudForImplementationPartners/Customization/SDK.aspx?folderId=7504&view=gridview&pageSize=10


clone to visual studo 

https://sanacommerce.visualstudio.com/_git/Sana%20Projects%20Training



Refresh Page controller and java script

 refresh by : controler > 

return Redirect(Request.UrlReferrer.ToString());


public virtual ActionResult Remove(string productId, string variationId, string prepackId, string unitOfMeasureId, string salesAgreementLineNo)
        {
            var lines = ShopApi.Basket.ExtractLines(productId, variationId, prepackId, unitOfMeasureId, salesAgreementLineNo);
            if (lines.Any())
            {
                var result = CreateTrackingModelForModifiedBasketLines(lines);
                //return Json(result);
                return Redirect(Request.UrlReferrer.ToString());
            }
            return Json(false); 
        }


by java script

location.reload();
function sendPromoCode() {
                var newOrderTemplateName = $("#txtPromotionCode").val();
 
                alert(newOrderTemplateName);
 
                $.ajax({
                    url: Sana.Urls.Home() + 'basket/showpaynextorder',
                    method: "POST",
                    data: { code: newOrderTemplateName }
                    ,
                    error: function () {
                        alert("Ajax call failed");
                    }
                }).done(function (data) {
 
                    alert("ok");
                    location.reload();                  

                })
            }



How to Stop task Service if can not stop by right click and stop

 Hot to Stop Service if can not stop by right click and stop



how to decrypt Task service Sana.Commerce.TaskService.exe

go to this link download 'decrypt-web-config.ps1' and follow as it.

https://sanacommerce.visualstudio.com/Sana%20Projects/_wiki/wikis/Sana-Projects.wiki/895/PS-script-to-decrypt-the-web.config-content

change only connection string
C:\windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -pdf "connectionStrings"  "D:\MyFolderforEncrypt"

if files not decrypt then the problem may be with the service 



---------------------------------------------------------------------------------------------------------

1. when tries to stop service it gives the following error. 




2. Task service will not be stopped if application bin folder dll and Task service dll are not matched, 
then we unable to stop the Task service. 

force a service to stop service https://support.threattracksecurity.com/support/solutions/articles/1000070698-how-to-manually-force-a-service-to-stop-if-not-responding



run > sc queryex "SC CoulisseLiveNew"

get the PID  1912

again run with PID : taskkill /pid 1912 /f

Then go to servises and refresh and check servise has stoped. 


 







Add Validation to a Model State and Show Error in field (server side validation)



on This Example Add Validation to OrderOverviewModel > AdditionalInfo.DeliveryDate

OrderOverviewModel > AdditionalInfo.DeliveryDate


        private void ValidateRequestedDeliveryDate(OrderOverviewModel model)
         {            
            var basket = ShopApi.Basket.GetCurrentBasket(false) as Basket;
            var deliveryDate = (Date)model.AdditionalInfo.DeliveryDate;
 
            var deliveryDateModel = ((ExtendedOrderManager)CommerceFrameworkBase.Orders).SetDeliveryDateModel(basket.DeliveryCalendarDates);                       
            var requestedDateContainOnDissableDatesList = deliveryDateModel.Holidays.Contains(deliveryDate);
 
            // Validate user Enterd Delivery not in Disable dates 
            if (requestedDateContainOnDissableDatesList)
            {
                ((ExtendedAdditionalInfoModel)model.AdditionalInfo).DisableDays = deliveryDateModel.HolidaysStringList;
                ((ExtendedAdditionalInfoModel)model.AdditionalInfo).DeliveryLookupPeriod = deliveryDateModel.DeliveryLookupPeriod;
 
                // Set requested date as NextPossibleDeliveryDate. when validation occured.
                ((ExtendedAdditionalInfoModel)model.AdditionalInfo).NextPossibleDeliveryDate = deliveryDate.ToShortDateString();
 
                // Set Cut off time validatation to Model State.
                var validationCutOff = CommerceFrameworkBase.SanaTexts.GetSanaText("Validation_CutOff", "Requested delivery date is invalid or the cut off time has been missed.");
                ModelState.AddModelError("AdditionalInfo.DeliveryDate", validationCutOff);
            } 

        } 

public override ActionResult OrderOverview(OrderOverviewModel model)
        {
            var incompleteStepUrl = GetFirstIncompleteStepUrl(OrderOverviewCheckoutStep.StepId);
            if (!incompleteStepUrl.IsEmptyString())
                return Redirect(incompleteStepUrl);
 
            // Ticket 79457: [Wave 2] 3.5. CUT-OFF TIME FOR DELIVERY
            ValidateRequestedDeliveryDate(model);
 
            if (!ModelState.IsValid)
            {
                var info = InitializeStep(OrderOverviewCheckoutStep.StepId);
                model.InitializeGeneral(Shop, info.Value);
                model.PageSettings = GetSystemPageSettings(SystemPagesConstants.CheckoutPages);
                return View(model);
            }
            ModifyBasket(model.ApplyChanges);
            return GoToNextCheckoutStep(OrderOverviewCheckoutStep.StepId);
        }




How to update Theam

ExtendedThemeModel : ThemeModel


[Display(Name = "Theme_Status_discontinued", GroupName = "Theme_Status", Order = 100)]
public virtual string Status_Failed_BackgroundColor { get; set; }




update Admin.resx with names

3. add Theme.css or relevent css and add css to code.

.checkout-page-cnt #representChildAddressPage .representChild-btn {
    background-color: [Checkout_PlaceOrderForSubsidiary_BackgroundColor|#f78400];
    /*border-color: [Checkout_PlaceOrderForSubsidiary_BackgroundColor|#000];*/
}



how to get product url

var options = ObjectFactory.Create<IProductLoadOptions>();
                           var newProduct = CommerceFrameworkBase.Products.GetProduct(productReplacedWith, options);
                           var productUrl = newProduct != null ? Url.Sana.Product(newProduct) : null;






dff