Example #1
0
        public bool SendEmailToSupplier(SPOReceipt spoReceipt)
        {
            string        subject = "Purchase Order Receipt";
            string        path    = HttpContext.Current.Server.MapPath(@"\Templates\Supplier\SupplierEmailTemplate.html");
            string        items;
            StringBuilder stringBuilder = new StringBuilder();

            foreach (var item in spoReceipt.SupplierItem)
            {
                stringBuilder.Append("<tr><td style=\"text-align:center;padding:10px\">" + item.ItemNameEn + "</td><td style=\"text-align:center;padding:10px\">" + item.FlavourEn + "</td><td style=\"text-align:center\">" + item.Type + "</td><td style=\"text-align:center\">" + item.OrderCostPrice + "</td><td style=\"text-align:center\">" + item.OrderQuantity + "</td></tr>");
            }
            items = stringBuilder.ToString();
            string finalTemplate = System.IO.File.ReadAllText(path);

            finalTemplate = finalTemplate.Replace("${BranchName}$", spoReceipt.BranchName)
                            .Replace("${BranchAddress}$", spoReceipt.BranchAddress)
                            .Replace("${SupplierName}$", spoReceipt.SupplierName)
                            .Replace("${MobileNo}$", spoReceipt.MobileNo)
                            .Replace("${IssueDate}$", "" + spoReceipt.IssueDate)
                            .Replace("${DueDate}$", "" + spoReceipt.DueDate)
                            .Replace("${SPONumber}$", spoReceipt.SPONumber)
                            .Replace("${POType}$", spoReceipt.POType)
                            .Replace("${items}$", items);
            if (EmailConfig.SendEmail(spoReceipt.SupplierEmail, subject, finalTemplate))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #2
0
        /// <summary>
        /// This method is used for fetching purchase order details for printing receipt. - JJ
        /// </summary>
        /// <param name="RecordId">parent record id</param>
        /// <param name="Comment"></param>
        /// <param name="userName">currently logged in user's username</param>
        /// <param name="RoleName">logged in user's rolename</param>
        /// <param name="RoleId">logged in user's role id</param>
        /// <returns>object of SPOReceipt</returns>
        public SPOReceipt PrintSPOReceipt(string Comment, int RecordId, int RoleId, string RoleName, string userName)
        {
            var purchaseOrder = _supplierPOContext.Fetch(x => x.RecordId == RecordId).FirstOrDefault();

            if (purchaseOrder.IsApproved && !purchaseOrder.IsReceived && !purchaseOrder.IsVerified && !purchaseOrder.IsPaid)
            {
                var itemList   = new List <SupplierItemAC>();
                var poItemList = _purchaseOrderItemContext.Fetch(x => x.PurchaseOrderId == purchaseOrder.Id).ToList();
                foreach (var item in poItemList)
                {
                    var spoItem = new SupplierItemAC
                    {
                        FlavourEn       = item.ItemProfile.FlavourEn,
                        ItemNameEn      = item.ItemProfile.ItemNameEn,
                        Type            = item.ItemProfile.SystemParameter.ValueEn + "-" + item.ItemProfile.BaseUnit,
                        OrderCostPrice  = item.OrderCostPrice,
                        OrderQuantity   = item.OrderQuantity,
                        TotalOrderPrice = item.OrderQuantity * item.OrderCostPrice
                    };
                    itemList.Add(spoItem);
                }

                var spoReceipt = new SPOReceipt();
                spoReceipt.BranchAddress       = purchaseOrder.InitiatorBranch.Address;
                spoReceipt.BranchName          = purchaseOrder.InitiatorBranch.NameSl;
                spoReceipt.Comment             = Comment;
                spoReceipt.DueDate             = purchaseOrder.DueDate;
                spoReceipt.IssueDate           = purchaseOrder.CreatedDateTime;
                spoReceipt.MobileNo            = purchaseOrder.SupplierProfile.Phone;
                spoReceipt.POType              = purchaseOrder.SupplierProfile.SupplierType.ValueSl;
                spoReceipt.SPONumber           = purchaseOrder.PurchaseOrderNumber;
                spoReceipt.SupplierItem        = itemList;
                spoReceipt.SupplierName        = purchaseOrder.SupplierProfile.NameEn;
                spoReceipt.SupplierEmail       = purchaseOrder.SupplierProfile.Email;
                spoReceipt.Invoice             = InvoiceToHtml.get39(purchaseOrder.PurchaseOrderNumber, 1, 20);
                purchaseOrder.IsSend           = true;
                purchaseOrder.ModifiedDateTime = DateTime.UtcNow;
                _supplierPOContext.Update(purchaseOrder);
                _supplierPOContext.SaveChanges();

                SaveSupplierPurchaseOrderLog(StringConstants.Send, Comment, purchaseOrder.Id, RecordId, RoleName, "" + RoleName + " " + StringConstants.SendSPO, userName);
                return(spoReceipt);
            }
            else
            {
                return(null);
            }
        }