public string SaveUpdateInvoice(InvoiceModel model) { string msg = ""; ShomaRMEntities db = new ShomaRMEntities(); int userid = ShomaRM.Models.ShomaGroupWebSession.CurrentUser != null ? ShomaRM.Models.ShomaGroupWebSession.CurrentUser.UserID : 0; if (model.InvoiceID == 0) { var saveInvoice = new tbl_Invoice() { InvoiceNumber = model.InvoiceNumber, Vendor = model.Vendor, InvoiceDesc = model.InvoiceDesc, InvoiceDate = model.InvoiceDate, ReceivedDate = model.ReceivedDate, PaymentDate = model.PaymentDate, TotalAmount = model.TotalAmount, Route = model.Route, ExportNow = model.ExportNow, ExportedDate = model.ExportedDate, ExportedBy = model.ExportedBy, Approved = model.Approved, ApprovedBy = model.ApprovedBy, BatchID = model.BatchID, CreatedBy = userid, CreatedDate = DateTime.Now.Date }; db.tbl_Invoice.Add(saveInvoice); db.SaveChanges(); msg = "Invoice Save Successfully"; } else { var GetInvoiceData = db.tbl_Invoice.Where(p => p.InvoiceID == model.InvoiceID).FirstOrDefault(); if (GetInvoiceData != null) { GetInvoiceData.InvoiceNumber = model.InvoiceNumber; GetInvoiceData.Vendor = model.Vendor; GetInvoiceData.InvoiceDesc = model.InvoiceDesc; GetInvoiceData.InvoiceDate = model.InvoiceDate; GetInvoiceData.ReceivedDate = model.ReceivedDate; GetInvoiceData.PaymentDate = model.PaymentDate; GetInvoiceData.TotalAmount = model.TotalAmount; GetInvoiceData.Route = model.Route; GetInvoiceData.ExportNow = model.ExportNow; GetInvoiceData.ExportedDate = model.ExportedDate; GetInvoiceData.ExportedBy = model.ExportedBy; GetInvoiceData.Approved = model.Approved; GetInvoiceData.ApprovedBy = model.ApprovedBy; GetInvoiceData.BatchID = model.BatchID; GetInvoiceData.CreatedBy = userid; GetInvoiceData.CreatedDate = DateTime.Now.Date; db.SaveChanges(); msg = "Invoice Updated Successfully"; } } db.Dispose(); return(msg); }
/// <summary> /// Adds the history. /// </summary> /// <param name="dataManager">The data manager.</param> /// <param name="invoice">The invoice.</param> protected void AddHistory(DataManager dataManager, tbl_Invoice invoice) { var invoiceHistory = new tbl_InvoiceHistory { InvoiceID = invoice.ID, AuthorID = (Guid)CurrentUser.Instance.ContactID, PaymentDatePlanned = invoice.PaymentDatePlanned, PaymentDateActual = invoice.PaymentDateActual, InvoiceAmount = invoice.InvoiceAmount, InvoiceStatusID = invoice.InvoiceStatusID, IsExistBuyerComplaint = invoice.IsExistBuyerComplaint, Note = invoice.Note }; dataManager.InvoiceHistory.Add(invoiceHistory); }
/// <summary> /// Adds the specified invoice. /// </summary> /// <param name="invoice">The invoice.</param> /// <returns></returns> public tbl_Invoice Add(tbl_Invoice invoice) { invoice.ID = Guid.NewGuid(); invoice.CreatedAt = DateTime.Now; _dataContext.tbl_Invoice.AddObject(invoice); _dataContext.SaveChanges(); AddHistory(new DataManager(), invoice); if (invoice.InvoiceStatusID == (int)InvoiceStatus.PendingPayment) { InvoiceNotificationService.PendingPayment(invoice.ID); } return(invoice); }
/// <summary> /// Updates the specified invoice. /// </summary> /// <param name="invoice">The invoice.</param> public void Update(tbl_Invoice invoice) { var dataManager = new DataManager(); var invoiceInDataBase = dataManager.Invoice.SelectById(invoice.SiteID, invoice.ID); invoice.ModifiedAt = DateTime.Now; _dataContext.SaveChanges(); if (invoice.PaymentDatePlanned != invoiceInDataBase.PaymentDatePlanned || invoice.PaymentDateActual != invoiceInDataBase.PaymentDateActual || invoice.InvoiceAmount != invoiceInDataBase.InvoiceAmount || invoice.InvoiceStatusID != invoiceInDataBase.InvoiceStatusID || invoice.IsExistBuyerComplaint != invoiceInDataBase.IsExistBuyerComplaint || invoice.Note != invoiceInDataBase.Note) { AddHistory(dataManager, invoice); } if (invoice.InvoiceStatusID != invoiceInDataBase.InvoiceStatusID && invoice.InvoiceStatusID == (int)InvoiceStatus.PendingPayment) { InvoiceNotificationService.PendingPayment(invoice.ID); } }
private string AddInvoiceRow(tbl_Invoice invoice, tbl_ServiceLevelContact serviceLevelContact) { var printLink = string.Empty; if (PortalSettings != null) { PortalLink = DataManager.PortalSettings.SelectPortalLink(PortalSettings.SiteID, true); printLink = string.Format(InvoicePrintLinkTemplate.Replace("#PortalLink#", PortalLink), invoice.ID); } if (serviceLevelContact.InvoiceInformFormID != (int)InvoiceInformForm.None) { var siteActionAttachment = new tbl_SiteActionAttachment { SiteID = SiteAction.SiteID, SiteActionID = SiteAction.ID, FileName = printLink + "?autoexport=pdf" }; DataManager.SiteActionAttachment.Add(siteActionAttachment); var webClient = new WebClient(); var file = webClient.DownloadData(siteActionAttachment.FileName); MailMessage.Attachments.Add(new Attachment(new MemoryStream(file), string.Format("Счет #{0}.pdf", invoice.Number), MediaTypeNames.Application.Pdf)); } var row = SiteActionTemplates.InvoiceRowTemplate; row = row.Replace("#Invoice.List.PrintVersion.Link#", printLink).Replace("#Invoice.List.Number#", invoice.Number) .Replace("#Invoice.List.CreatedAt#", invoice.CreatedAt.ToString("dd.MM.yyyy")) .Replace("#Invoice.List.Amount#", invoice.InvoiceAmount.ToString("F")) .Replace("#Invoice.List.PaymentDatePlanned#", invoice.PaymentDatePlanned.HasValue ? invoice.PaymentDatePlanned.Value.ToString("dd.MM.yyyy") : "") .Replace("#Invoice.List.Note#", invoice.Note); return(row); }