Пример #1
0
        public async Task <ResultObject> DeleteVendor(M_Vendor vendor)
        {
            var resultObj = new ResultObject {
                RowAffected = -1, ObjectValue = vendor
            };

            using (var context = new MasterDbContext(contextOptions))
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        MySqlParameter[] sqlParams = new MySqlParameter[] {
                            new MySqlParameter("strId", vendor.Id),
                            new MySqlParameter("strDelete_By", vendor.Updated_By)
                        };

                        resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_vendor_delete( ?, ?)", parameters : sqlParams);

                        transaction.Commit();

                        return(resultObj);
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
        }
Пример #2
0
        public async Task <IActionResult> Edit([Bind("VendorCode,VendorName,AddressL1,AddressL2,AddressL3,AddressL4,Telephone,Fax,VendorEmail,VendorContact,CreditTerm,PriceLevel,VendorTaxId,Remark,CompanyCode,Id,Is_Active,Created_Date,Created_By,Updated_Date,Updated_By")] M_Vendor m_Vendor)
        {
            if (ModelState.IsValid)
            {
                m_Vendor.Updated_By = await base.CurrentUserId();

                ResultObject resultObj;

                try
                {
                    using (var vendBll = new VendorBLL())
                    {
                        resultObj = await vendBll.UpdateVendor(m_Vendor);

                        _cache.Remove("CACHE_MASTER_VENDOR");
                    }

                    return(Json(new { success = true, data = (M_Vendor)resultObj.ObjectValue, message = "Vendor Update." }));
                }
                catch (Exception ex)
                {
                    return(Json(new { success = false, data = m_Vendor, message = ex.Message }));
                }
            }

            var err = ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage).ToList();

            return(Json(new { success = false, errors = err, data = m_Vendor, message = "Update Failed" }));
        }
Пример #3
0
        public async Task <ResultObject> UpdateVendor(M_Vendor vendor)
        {
            var resultObj = new ResultObject {
                RowAffected = -1, ObjectValue = vendor
            };

            using (var context = new MasterDbContext(contextOptions))
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        context.Entry(vendor).State = EntityState.Modified;

                        MySqlParameter[] sqlParams = new MySqlParameter[] {
                            new MySqlParameter("strId", vendor.Id),
                            new MySqlParameter("strVendorCode", vendor.VendorCode),
                            new MySqlParameter("strVendorName", vendor.VendorName),
                            new MySqlParameter("strAddressL1", vendor.AddressL1),
                            new MySqlParameter("strAddressL2", vendor.AddressL2),
                            new MySqlParameter("strAddressL3", vendor.AddressL3),
                            new MySqlParameter("strAddressL4", vendor.AddressL4),
                            new MySqlParameter("strTelephone", vendor.Telephone),
                            new MySqlParameter("strFax", vendor.Fax),
                            new MySqlParameter("strVendorEmail", vendor.VendorEmail),
                            new MySqlParameter("strVendorContact", vendor.VendorContact),
                            new MySqlParameter("strCreditTerm", vendor.CreditTerm),
                            new MySqlParameter("strPriceLevel", vendor.PriceLevel),
                            new MySqlParameter("strVendorTaxId", vendor.VendorTaxId),
                            new MySqlParameter("strRemark", vendor.Remark),
                            new MySqlParameter("strCompanyCode", vendor.CompanyCode),
                            new MySqlParameter("strIs_Active", vendor.Is_Active),
                            new MySqlParameter("strUpdated_By", vendor.Updated_By)
                        };


                        //Output Parameter no need to define. @`strId`
                        resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_vendor_update(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", parameters : sqlParams);

                        transaction.Commit();

                        return(resultObj);
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
        }
Пример #4
0
        public async Task <ResultObject> InsertVendor(M_Vendor vendor)
        {
            var resultObj = new ResultObject {
                RowAffected = -1, ObjectValue = vendor
            };

            using (var context = new MasterDbContext(contextOptions))
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        MySqlParameter[] sqlParams = new MySqlParameter[] {
                            new MySqlParameter("strVendorCode", vendor.VendorCode),
                            new MySqlParameter("strVendorName", vendor.VendorName),
                            new MySqlParameter("strAddressL1", vendor.AddressL1),
                            new MySqlParameter("strAddressL2", vendor.AddressL2),
                            new MySqlParameter("strAddressL3", vendor.AddressL3),
                            new MySqlParameter("strAddressL4", vendor.AddressL4),
                            new MySqlParameter("strTelephone", vendor.Telephone),
                            new MySqlParameter("strFax", vendor.Fax),
                            new MySqlParameter("strVendorEmail", vendor.VendorEmail),
                            new MySqlParameter("strVendorContact", vendor.VendorContact),
                            new MySqlParameter("strCreditTerm", vendor.CreditTerm),
                            new MySqlParameter("strPriceLevel", vendor.PriceLevel),
                            new MySqlParameter("strVendorTaxId", vendor.VendorTaxId),
                            new MySqlParameter("strRemark", vendor.Remark),
                            new MySqlParameter("strCompanyCode", vendor.CompanyCode),
                            new MySqlParameter("strIs_Active", vendor.Is_Active),
                            new MySqlParameter("strCreated_By", vendor.Created_By)
                        };

                        resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_vendor_insert(@`strId`, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", parameters : sqlParams);

                        //new department after insert.
                        var newVendor = context.Vendor.FromSql("SELECT * FROM m_vendor WHERE Id = @`strId`;").ToListAsync();
                        resultObj.ObjectValue = newVendor.Result[0];

                        transaction.Commit();

                        return(resultObj);
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
        }
Пример #5
0
        public async Task <IActionResult> GetVendor(string vcode)
        {
            try
            {
                if (_cache.TryGetValue("CACHE_MASTER_VENDOR", out List <M_Vendor> c_lstVend))
                {
                    if (string.IsNullOrEmpty(vcode))
                    {
                        return(Json(new { success = true, data = c_lstVend, message = "Get Vendor Success" }));
                    }
                    else
                    {
                        M_Vendor m_Vendor = c_lstVend.Find(v => v.VendorCode == vcode);

                        if (m_Vendor != null)
                        {
                            return(Json(new { success = true, data = m_Vendor, message = "Get Vendor Success" }));
                        }
                        else
                        {
                            return(Json(new { success = false, data = string.Empty, message = "Vendor Not Found" }));
                        }
                    }
                }

                MemoryCacheEntryOptions options = new MemoryCacheEntryOptions
                {
                    AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(300),
                    SlidingExpiration = TimeSpan.FromSeconds(60),
                    Priority          = CacheItemPriority.NeverRemove
                };

                using (var vendBll = new VendorBLL())
                {
                    var lstVend = await vendBll.GetVendor(null);

                    _cache.Set("CACHE_MASTER_VENDOR", lstVend, options);

                    if (string.IsNullOrEmpty(vcode))
                    {
                        return(Json(new { success = true, data = lstVend, message = "Get Vendor Success" }));
                    }
                    else
                    {
                        M_Vendor m_Vendor = lstVend.Find(v => v.VendorCode == vcode);

                        if (m_Vendor != null)
                        {
                            return(Json(new { success = true, data = m_Vendor, message = "Get Vendor Success" }));
                        }
                        else
                        {
                            return(Json(new { success = false, data = string.Empty, message = "Vendor Not Found" }));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(new { success = false, message = ex.Message }));
            }
        }