Пример #1
0
        public ActionResult SaveVendorInvoice(InvoiceHeader invoiceHeader)
        {
            string       nzTimeZoneKey = "SE Asia Standard Time";
            TimeZoneInfo nzTimeZone    = TimeZoneInfo.FindSystemTimeZoneById(nzTimeZoneKey);


            //string formattedDate = invoiceHeader.InvoiceDate.Value.ToString("yyyy-MM-dd HH:mm:ss");
            //DateTime invoiceDate = DateTime.ParseExact(invoiceHeader.InvoiceDate.ToString(), "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
            invoiceHeader.InvoiceDate = invoiceHeader.InvoiceDate;//UTILITY.SINGAPORETIME;
            invoiceHeader.InvoiceType = UTILITY.CONFIG_INVOICETYPE_VENDOR;
            invoiceHeader.Status      = true;
            invoiceHeader.CreatedBy   = USER_ID;
            invoiceHeader.ModifiedBy  = USER_ID;
            invoiceHeader.BranchID    = BRANCH_ID;
            var warrantyexpirydate = invoiceHeader.InvoiceDate.AddMonths(invoiceHeader.WarrantyPeriod);

            invoiceHeader.InvoiceDetailItems.ForEach(dt =>
            {
                dt.InvoiceNo  = invoiceHeader.InvoiceNo;
                dt.ModelNo    = invoiceHeader.ModelNo;
                dt.Make       = "";
                dt.ExpiryDate = warrantyexpirydate;
            });
            invoiceHeader.InvoiceDetailItems = invoiceHeader.InvoiceDetailItems.Where(x => x.SerialNo != "*********").ToList();
            var result = new InvoiceHeaderBO().SaveInvoiceHeader(invoiceHeader);

            return(RedirectToAction("VendorInvoiceList"));
        }
Пример #2
0
        public InvoiceHeaderBO UpdateInvoice(InvoiceHeaderBO invoice)
        {
            try
            {
                string sql = "dbo.fn_update_invoiceheader";
                conn = new NpgsqlConnection(connString);
                conn.Open();

                using (var cmd = new NpgsqlCommand(sql, conn))
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("_invoicekey", NpgsqlTypes.NpgsqlDbType.Uuid, invoice.Invoicekey);

                    // cmd.Parameters.AddWithValue("_invoiceno", NpgsqlTypes.NpgsqlDbType.Integer, invoice.InvoiceNo);
                    cmd.Parameters.AddWithValue("_invoicedate", NpgsqlTypes.NpgsqlDbType.Date, Convert.ToDateTime(invoice.InvoiceDate));
                    cmd.Parameters.AddWithValue("_invoiceamount", NpgsqlTypes.NpgsqlDbType.Numeric, invoice.InvoiceAmt);
                    cmd.Parameters.AddWithValue("_duedate", NpgsqlTypes.NpgsqlDbType.Date, invoice.DueDate);
                    var invoicekey = cmd.ExecuteNonQuery();
                    //invoice.Invoicekey = Guid.Parse(invoicekey.ToString());
                    return(invoice);
                }
            }
            catch (Exception msg)
            {
                throw msg;
            }
            finally
            {
                conn.Close();
            }
        }
Пример #3
0
        public JsonResult VendorInvoiceList(DataTableObject Obj)
        {
            try
            {
                Obj.BranchID = BRANCH_ID;
                var vendorInvoiceList = new InvoiceHeaderBO()
                                        .GetVendorInvoiceDataTableList(Obj, UTILITY.CONFIG_INVOICETYPE_VENDOR)
                                        .Select(x => new
                {
                    DocumentNo         = x.DocumentNo,
                    InvoiceNo          = x.InvoiceNo,
                    CusInvoiceNo       = x.CusInvoiceNo,
                    CustomerCode       = x.CustomerCode,
                    CustomerName       = x.CustomerName,
                    ProductCode        = x.ProductCode,
                    ProductName        = x.ProductName,
                    InvoiceDate        = x.InvoiceDate.ToShortDateString(),
                    WarrantyExpiryDate = x.WarrantyExpiryDate.ToShortDateString(),
                    Quantity           = x.Quantity,
                    UnitPrice          = x.UnitPrice,
                    EncryptStr         = UrlEncryptionHelper.Encrypt(string.Format("invoiceNo={0}?documentNo={1}", x.InvoiceNo, x.DocumentNo))
                }).ToList();

                var totalRecords = new InvoiceHeaderBO().GetList(BRANCH_ID).Where(x => x.InvoiceType == UTILITY.CONFIG_INVOICETYPE_VENDOR && x.Status == true).Count();
                return(Json(new
                {
                    vendorInvoiceList = vendorInvoiceList,
                    totalRecords = totalRecords
                }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new { }, JsonRequestBehavior.AllowGet));
            }
        }
Пример #4
0
        public ActionResult VendorInvoice(string invoiceNo = null, string documentNo = null)
        {
            ViewBag.Currency = new LookupBO().GetList().Where(x => x.LookupCategory == UTILITY.CONFIG_LOOKUPCATEGORY_CURRENCY)
                               .Select(x => new
            {
                Value = x.LookupCode,
                Text  = x.LookupDescription
            }).ToList();
            ViewBag.productCategory = new LookupBO()
                                      .GetList()
                                      .Where(x => x.LookupCategory == "CategoryGroup" && x.Status == true)
                                      .Select(x => new
            {
                Value = x.LookupID,
                Text  = x.LookupCode
            })
                                      .ToList();
            CustomerInvoiceDataSetUp(UTILITY.CONFIG_CUSTOMERTYPE_VENDOR);
            if (string.IsNullOrWhiteSpace(invoiceNo))
            {
                return(View(new InvoiceHeader {
                    InvoiceDate = DateTime.Now
                }));
            }
            else
            {
                Session["value"] = invoiceNo;
                var invoiceHeader = new InvoiceHeaderBO().GetInvoiceHeader(new InvoiceHeader {
                    BranchID = BRANCH_ID, InvoiceNo = invoiceNo, DocumentNo = documentNo, InvoiceType = UTILITY.CONFIG_INVOICETYPE_VENDOR
                });
                var expireDt = invoiceHeader.InvoiceDate.AddMonths(invoiceHeader.WarrantyPeriod);
                ViewBag.ExpireMsg = string.Format("Your invoice will expire on {0}", expireDt.ToString("dd/MM/yyyy"));

                ViewBag.vProducts = new ProductBO().GetList()
                                    .Where(x => x.ProductCategory == invoiceHeader.ProductCategory && x.Status == true)
                                    .Select(x => new
                {
                    Value = x.ProductCode,
                    Text  = x.ProductCode
                })
                                    .ToList();

                ViewBag.vModels = new ProductBO().GetList()
                                  .Where(x => x.ProductCode == invoiceHeader.ProductCode && x.ProductCategory == invoiceHeader.ProductCategory && x.Status == true)
                                  .Select(x => new
                {
                    Value = x.ModelNo,
                    Text  = x.Description
                })
                                  .ToList();
                return(View(invoiceHeader));
            }
        }
Пример #5
0
        public JsonResult CheckCustomerInvoiceNo(string invoiceNo)
        {
            var totalRecords = new InvoiceHeaderBO().GetList(BRANCH_ID).Where(x => x.InvoiceNo == invoiceNo).Count();

            if (totalRecords > 0)
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(true, JsonRequestBehavior.AllowGet));
            }
        }
Пример #6
0
        public List <InvoiceHeaderBO> GetInvoiceHeaderList()
        {
            try
            {
                var    invList = new List <InvoiceHeaderBO>();
                string sql     = "dbo.fn_getinvoicelist";

                conn = new NpgsqlConnection(connString);
                conn.Open();


                using (var cmd = new NpgsqlCommand(sql, conn))
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    var reader = cmd.ExecuteReader();
                    do
                    {
                        while (reader.Read())
                        {
                            var inv = new InvoiceHeaderBO();
                            inv.OrderKey      = Utils.CustomParse <Guid>(reader["orderkey"]);
                            inv.Invoicekey    = Utils.CustomParse <Guid>(reader["invoicekey"]);
                            inv.InvoiceNo     = Utils.CustomParse <int>(reader["invoiceno"]);
                            inv.InvoiceDate   = Utils.CustomParse <DateTime>(reader["invoicedate"]);
                            inv.CustKey       = Utils.CustomParse <Guid>(reader["custkey"]);
                            inv.BilltoAddrKey = Utils.CustomParse <Guid>(reader["billtoaddrkey"]);
                            inv.InvoiceAmt    = Utils.CustomParse <decimal>(reader["invoiceamount"]);
                            inv.DueDate       = Utils.CustomParse <DateTime>(reader["duedate"]);
                            inv.CustName      = Utils.CustomParse <string>(reader["custname"]);

                            invList.Add(inv);
                        }
                    } while (reader.NextResult());
                    reader.Close();
                }

                return(invList);
            }
            catch (Exception msg)
            {
                throw msg;
            }
            finally
            {
                conn.Close();
            }
        }
Пример #7
0
        public InvoiceHeaderBO PostInvoice(InvoiceHeaderBO invoice)
        {
            try
            {
                string sql = "dbo.fn_insertinvoiceheader";
                conn = new NpgsqlConnection(connString);
                conn.Open();

                using (var cmd = new NpgsqlCommand(sql, conn))
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("_invoiceno",
                                                NpgsqlTypes.NpgsqlDbType.Integer, invoice.InvoiceNo);
                    cmd.Parameters.AddWithValue("_invoicedate",
                                                NpgsqlTypes.NpgsqlDbType.Date, Convert.ToDateTime(invoice.InvoiceDate));
                    cmd.Parameters.AddWithValue("_custkey",
                                                NpgsqlTypes.NpgsqlDbType.Uuid, invoice.CustKey);
                    cmd.Parameters.AddWithValue("_billtoaddrkey",
                                                NpgsqlTypes.NpgsqlDbType.Uuid, invoice.BilltoAddrKey);
                    //cmd.Parameters.AddWithValue("_billtocopyaddrkey",
                    //  NpgsqlTypes.NpgsqlDbType.Uuid, invoice.BilltoAddrCopy);
                    cmd.Parameters.AddWithValue("_invoiceamount",
                                                NpgsqlTypes.NpgsqlDbType.Numeric, invoice.InvoiceAmt);
                    cmd.Parameters.AddWithValue("_duedate",
                                                NpgsqlTypes.NpgsqlDbType.Date, invoice.DueDate);
                    //  cmd.Parameters.AddWithValue("_invoicetype",
                    //NpgsqlTypes.NpgsqlDbType.Smallint, invoice.InvoiceType);
                    cmd.Parameters.AddWithValue("_orderkey",
                                                NpgsqlTypes.NpgsqlDbType.Uuid, invoice.OrderKey);
                    var invoicekey = cmd.ExecuteScalar();
                    invoice.Invoicekey = Guid.Parse(invoicekey.ToString());
                    return(invoice);
                }
            }
            catch (Exception msg)
            {
                throw msg;
            }
            finally
            {
                conn.Close();
            }
        }
Пример #8
0
        public ActionResult DeleteVendorInvoice(string invoiceNo = null, string documentNo = null)
        {
            try
            {
                InvoiceHeader invoiceHeader = new InvoiceHeader()
                {
                    InvoiceNo   = invoiceNo,
                    DocumentNo  = documentNo,
                    InvoiceType = UTILITY.CONFIG_INVOICETYPE_VENDOR,
                    BranchID    = BRANCH_ID
                };

                bool isDetaled = new InvoiceHeaderBO().DeleteInvoiceHeader(invoiceHeader);
                return(RedirectToAction("VendorInvoiceList"));
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #9
0
        public InvoiceHeaderBO GetInvoice(string invoiceNo)
        {
            try
            {
                string sql           = "fn_getInvoice";
                var    invoiceHeader = new InvoiceHeaderBO();

                conn = new NpgsqlConnection(connString);
                conn.Open();

                using (var cmd = new NpgsqlCommand(sql, conn))
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("_invoiceno",
                                                NpgsqlTypes.NpgsqlDbType.Integer, int.Parse(invoiceNo));
                    var reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        invoiceHeader.InvoiceNo      = int.Parse(invoiceNo);
                        invoiceHeader.Invoicekey     = Guid.Parse(reader["invoicekey"].ToString());
                        invoiceHeader.CustKey        = Utils.CustomParse <Guid>(reader["custkey"].ToString());
                        invoiceHeader.BilltoAddrKey  = Utils.CustomParse <Guid>(reader["billtoaddrkey"]);
                        invoiceHeader.BilltoAddrCopy = Utils.CustomParse <Guid>(reader["billtocopyaddrkey"]);
                        invoiceHeader.InvoiceAmt     = Utils.CustomParse <decimal>(reader["invoiceamount"]);
                        invoiceHeader.DueDate        = Convert.ToDateTime(reader["duedate"].ToString());
                        invoiceHeader.InvoiceDate    = Convert.ToDateTime(reader["invoicedate"].ToString());
                    }
                    reader.Close();
                }
                return(invoiceHeader);
            }
            catch (Exception msg)
            {
                throw msg;
            }
            finally
            {
                conn.Close();
            }
        }
Пример #10
0
        public ActionResult SaveCustomerInvoice(InvoiceHeader invoiceHeader)
        {
            invoiceHeader.InvoiceDate = invoiceHeader.InvoiceDate;//UTILITY.SINGAPORETIME;
            invoiceHeader.InvoiceType = UTILITY.CONFIG_INVOICETYPE_CUSTOMER;
            invoiceHeader.Status      = true;
            invoiceHeader.CreatedBy   = USER_ID;
            invoiceHeader.ModifiedBy  = USER_ID;
            invoiceHeader.BranchID    = BRANCH_ID;

            var warrantyexpirydate = invoiceHeader.InvoiceDate.AddMonths(invoiceHeader.WarrantyPeriod);

            invoiceHeader.InvoiceDetailItems.ForEach(dt =>
            {
                dt.InvoiceNo  = invoiceHeader.InvoiceNo;
                dt.ModelNo    = invoiceHeader.ModelNo;
                dt.Make       = "";
                dt.ExpiryDate = warrantyexpirydate;
            });
            invoiceHeader.InvoiceDetailItems = invoiceHeader.InvoiceDetailItems.Where(x => x.SerialNo != "*********").ToList();

            List <string> serialNoList = new List <string>();
            List <string> returnItems  = new List <string>();

            invoiceHeader.InvoiceDetailItems.ForEach(x => serialNoList.Add(x.SerialNo));

            returnItems = new InvoiceHeaderBO().CheckSerailNumber(invoiceHeader.BranchID, serialNoList);

            if (returnItems.Count > 0)
            {
                //TODO : update the missing invoices to the users.
                return(Content("<script language='javascript' type='text/javascript'>alert('This SerialNos not exist!');</script>"));
            }
            else
            {
                var result = new InvoiceHeaderBO().SaveInvoiceHeader(invoiceHeader);
            }
            return(RedirectToAction("CustomerInvoiceList"));
        }
Пример #11
0
 public JsonResult CheckInvoiceNo(string invoiceNo)
 {
     if (Session["value"] != null)
     {
         string r = Session["value"].ToString();
         if (r == invoiceNo)
         {
             return(Json(true, JsonRequestBehavior.AllowGet));
         }
         else
         {
             var totalRecords = new InvoiceHeaderBO().GetList(BRANCH_ID)
                                .Where(x => x.InvoiceNo == invoiceNo).Count();
             if (totalRecords > 0)
             {
                 return(Json(false, JsonRequestBehavior.AllowGet));
             }
             else
             {
                 return(Json(true, JsonRequestBehavior.AllowGet));
             }
         }
     }
     else
     {
         var totalRecords = new InvoiceHeaderBO().GetList(BRANCH_ID)
                            .Where(x => x.InvoiceNo == invoiceNo).Count();
         if (totalRecords > 0)
         {
             return(Json(false, JsonRequestBehavior.AllowGet));
         }
         else
         {
             return(Json(true, JsonRequestBehavior.AllowGet));
         }
     }
 }
Пример #12
0
        public JsonResult DeleteSerialNo(string serialNo)
        {
            var totalRecords = new InvoiceHeaderBO().DeleteSerialNo(serialNo);

            return(Json(totalRecords, JsonRequestBehavior.AllowGet));
        }
Пример #13
0
        public HttpResponseMessage Post([FromBody] InvoiceHeaderBO bo)
        {
            var invoiceHeader = dl.PostInvoice(bo);

            return(Request.CreateResponse(HttpStatusCode.OK, invoiceHeader, Configuration.Formatters.JsonFormatter));
        }
Пример #14
0
        public HttpResponseMessage Get(string InvoiceNo)
        {
            InvoiceHeaderBO invoice = dl.GetInvoice(InvoiceNo);

            return(Request.CreateResponse(HttpStatusCode.OK, invoice, Configuration.Formatters.JsonFormatter));
        }
Пример #15
0
        public HttpResponseMessage UpdateInvoiceHeader([FromBody] InvoiceHeaderBO InvoiceHeader)
        {
            var invoiceDtl = dl.UpdateInvoice(InvoiceHeader);

            return(Request.CreateResponse(HttpStatusCode.OK, true, Configuration.Formatters.JsonFormatter));
        }