Exemplo n.º 1
0
        private Error createRevisedPurchaseOrder(int pohId, CompanyModel company, UserModel sender, string subject)
        {
            var error = new Error();

            var poh = db.FindPurchaseOrderHeader(pohId);

            string pdfFile = "";

            error = CreatePurchaseOrderPdf(poh,
                                           company.POSupplierTemplateId, //DocumentTemplateType.PurchaseOrder,
                                           null,
                                           ref pdfFile);
            if (!error.IsError)
            {
                NoteService.NoteService noteService = new NoteService.NoteService(db);

                error = noteService.AttachNoteToPurchaseOrder(poh,
                                                              sender,
                                                              subject, "",
                                                              pdfFile.ToStringList(),
                                                              FileCopyType.Copy);
            }
            return(error);
        }
Exemplo n.º 2
0
        public Error SendPurchaseOrderToSupplier(int purchaseOrderHeaderTempId, UserModel sender,
                                                 string pdfFile)
        {
            var error = new Error();

            if (string.IsNullOrEmpty(sender.EMail))
            {
                error.SetError(EvolutionResources.errInvalidSenderEMailAddress,
                               "",
                               (string.IsNullOrEmpty(sender.EMail) ? "" : sender.EMail),
                               sender.FullName);
            }
            else
            {
                var poht = db.FindPurchaseOrderHeaderTemp(purchaseOrderHeaderTempId);
                if (poht == null)
                {
                    error.SetError(EvolutionResources.errRecordError, "", "PurchaseOrderHeaderTemp", purchaseOrderHeaderTempId.ToString());
                }
                else
                {
                    var purchaseOrderHeaderId = (poht.OriginalRowId == null ? 0 : poht.OriginalRowId.Value);
                    var poh = db.FindPurchaseOrderHeader(poht.OriginalRowId.Value);
                    if (poh == null)
                    {
                        error.SetError(EvolutionResources.errRecordError, "", "PurchaseOrderHeader", purchaseOrderHeaderId.ToString());
                    }
                    else if (poh.Supplier == null)
                    {
                        error.SetError(EvolutionResources.errCantSendOrderPurchaseOrderHasNoSupplier);
                    }
                    else if (string.IsNullOrEmpty(poh.Supplier.Email))
                    {
                        error.SetError(EvolutionResources.errCantSendOrderSupplierHasNoEMail, "", poh.Supplier.Name);
                    }
                    else
                    {
                        // Attach the PDF to a note against the Purchase Order
                        NoteService.NoteService noteService = new NoteService.NoteService(db);

                        error = noteService.AttachNoteToPurchaseOrder(poh,
                                                                      sender,
                                                                      "Purchase Order Sent to Supplier", "",
                                                                      pdfFile.ToStringList(),
                                                                      FileCopyType.Copy);
                        if (!error.IsError)
                        {
                            poh.DatePOSentToSupplier = DateTimeOffset.Now;
                            db.InsertOrUpdatePurchaseOrderHeader(poh);

                            poht.DatePOSentToSupplier = poh.DatePOSentToSupplier;
                            db.InsertOrUpdatePurchaseOrderHeaderTemp(poht);

                            // EMail the purchase order to the supplier
                            var message = new EMailMessage(sender, MessageTemplateType.PurchaseOrderNotificationSupplier);

                            var company = CompanyService.FindCompanyModel(poh.CompanyId);

                            message.AddProperty("PURCHASEORDERNO", poh.OrderNumber.Value);
                            message.AddProperty("COMPANYNAME", company.FriendlyName);
                            message.AddProperty("USERNAME", sender.FullName);
                            message.AddProperty("EMAIL", sender.EMail);

                            message.AddRecipient(poh.Supplier.Email);
                            message.AddAttachment(pdfFile, FileCopyType.Move);

                            EMailService.EMailService emailService = new Evolution.EMailService.EMailService(db, company);
                            error = emailService.SendEMail(message);
                        }
                    }
                }
            }

            return(error);
        }