public HttpResponseMessage UpdateArticle(Entities.MstArticle objArticle, String id)
        {
            try
            {
                var article = from d in db.MstArticles
                              where d.Id == Convert.ToInt32(id)
                              select d;

                if (article.Any())
                {
                    var updateArticle = article.FirstOrDefault();
                    updateArticle.Article  = objArticle.Article;
                    updateArticle.Category = objArticle.Category;

                    db.SubmitChanges();

                    return(Request.CreateResponse(HttpStatusCode.OK, "Successfully Updated!"));
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, "Data Not Exist!"));
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong!"));
            }
        }
        public HttpResponseMessage AddArticle(Entities.MstArticle objArticle)
        {
            try
            {
                Data.MstArticle newArticle = new Data.MstArticle
                {
                    ArticleCode       = objArticle.ArticleCode,
                    ManualArticleCode = objArticle.ManualArticleCode,
                    Article           = objArticle.Article,
                    Category          = objArticle.Category,
                    ArticleTypeId     = objArticle.ArticleTypeId,
                    ArticleGroupId    = objArticle.ArticleGroupId,
                    AccountId         = objArticle.AccountId,
                    SalesAccountId    = objArticle.SalesAccountId,
                    CostAccountId     = objArticle.CostAccountId,
                    AssetAccountId    = objArticle.AssetAccountId,
                    ExpenseAccountId  = objArticle.ExpenseAccountId,
                    UnitId            = objArticle.UnitId,
                    OutputTaxId       = objArticle.OutputTaxId,
                    InputTaxId        = objArticle.InputTaxId,
                    WTaxTypeId        = objArticle.WTaxTypeId,
                    Price             = objArticle.Price,
                    Cost                 = objArticle.Cost,
                    IsInventory          = objArticle.IsInventory,
                    Particulars          = objArticle.Particulars,
                    Address              = objArticle.Address,
                    TermId               = objArticle.TermId,
                    ContactNumber        = objArticle.ContactNumber,
                    ContactPerson        = objArticle.ContactPerson,
                    EmailAddress         = objArticle.EmailAddress,
                    TaxNumber            = objArticle.TaxNumber,
                    CreditLimit          = objArticle.CreditLimit,
                    DateAcquired         = Convert.ToDateTime(objArticle.DateAcquired),
                    UsefulLife           = objArticle.UsefulLife,
                    SalvageValue         = objArticle.SalvageValue,
                    ManualArticleOldCode = objArticle.ManualArticleOldCode,
                    Kitting              = objArticle.Kitting,
                    IsLocked             = objArticle.IsLocked,
                    CreatedById          = objArticle.CreatedById,
                    CreatedDateTime      = Convert.ToDateTime(objArticle.CreatedDateTime),
                    UpdatedById          = objArticle.UpdatedById,
                    UpdatedDateTime      = Convert.ToDateTime(objArticle.UpdatedDateTime),
                };

                db.MstArticles.InsertOnSubmit(newArticle);
                db.SubmitChanges();

                return(Request.CreateResponse(HttpStatusCode.OK, "Successfully Added!"));
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong!"));
            }
        }
Esempio n. 3
0
        public HttpResponseMessage LockItem(Entities.MstArticle objItem, String id)
        {
            try
            {
                var currentUser = from d in db.MstUsers
                                  where d.UserId == User.Identity.GetUserId()
                                  select d;

                if (currentUser.Any())
                {
                    var currentUserId = currentUser.FirstOrDefault().Id;

                    var userForms = from d in db.MstUserForms
                                    where d.UserId == currentUserId &&
                                    d.SysForm.FormName.Equals("ItemDetail")
                                    select d;

                    if (userForms.Any())
                    {
                        if (userForms.FirstOrDefault().CanLock)
                        {
                            var item = from d in db.MstArticles
                                       where d.Id == Convert.ToInt32(id) &&
                                       d.ArticleTypeId == 1
                                       select d;

                            if (item.Any())
                            {
                                if (!item.FirstOrDefault().IsLocked)
                                {
                                    String oldObject = auditTrail.GetObjectString(item.FirstOrDefault());

                                    if (item.FirstOrDefault().MstArticleUnits.Any())
                                    {
                                        if (item.FirstOrDefault().MstArticlePrices.Any())
                                        {
                                            var itemByManualCode = from d in db.MstArticles
                                                                   where d.ArticleTypeId == 1 &&
                                                                   d.ManualArticleCode.Equals(objItem.ManualArticleCode) &&
                                                                   d.IsLocked == true
                                                                   select d;

                                            if (!itemByManualCode.Any())
                                            {
                                                var lockItem = item.FirstOrDefault();
                                                lockItem.ManualArticleCode         = objItem.ManualArticleCode;
                                                lockItem.Article                   = objItem.Article;
                                                lockItem.ArticleGroupId            = objItem.ArticleGroupId;
                                                lockItem.AccountId                 = objItem.AccountId;
                                                lockItem.SalesAccountId            = objItem.SalesAccountId;
                                                lockItem.CostAccountId             = objItem.CostAccountId;
                                                lockItem.AssetAccountId            = objItem.AssetAccountId;
                                                lockItem.ExpenseAccountId          = objItem.ExpenseAccountId;
                                                lockItem.Category                  = objItem.Category;
                                                lockItem.UnitId                    = objItem.UnitId;
                                                lockItem.Price                     = objItem.Price;
                                                lockItem.Particulars               = objItem.Particulars;
                                                lockItem.InputTaxId                = objItem.InputTaxId;
                                                lockItem.OutputTaxId               = objItem.OutputTaxId;
                                                lockItem.WTaxTypeId                = objItem.WTaxTypeId;
                                                lockItem.IsInventory               = objItem.IsInventory;
                                                lockItem.IsConsignment             = objItem.IsConsignment;
                                                lockItem.ConsignmentCostPercentage = objItem.ConsignmentCostPercentage;
                                                lockItem.ConsignmentCostValue      = objItem.ConsignmentCostValue;
                                                lockItem.ManualArticleOldCode      = objItem.ManualArticleOldCode;
                                                lockItem.Cost              = objItem.Cost;
                                                lockItem.Kitting           = objItem.Kitting;
                                                lockItem.DefaultSupplierId = objItem.DefaultSupplierId;
                                                lockItem.DateAcquired      = Convert.ToDateTime(objItem.DateAcquired);
                                                lockItem.UsefulLife        = objItem.UsefulLife;
                                                lockItem.SalvageValue      = objItem.SalvageValue;
                                                lockItem.IsLocked          = true;
                                                lockItem.UpdatedById       = currentUserId;
                                                lockItem.UpdatedDateTime   = DateTime.Now;

                                                db.SubmitChanges();

                                                String newObject = auditTrail.GetObjectString(item.FirstOrDefault());
                                                auditTrail.InsertAuditTrail(currentUser.FirstOrDefault().Id, GetType().Name, MethodBase.GetCurrentMethod().Name, oldObject, newObject);

                                                return(Request.CreateResponse(HttpStatusCode.OK));
                                            }
                                            else
                                            {
                                                return(Request.CreateResponse(HttpStatusCode.BadRequest, "Manual Code is already taken."));
                                            }
                                        }
                                        else
                                        {
                                            return(Request.CreateResponse(HttpStatusCode.NotFound, "No Price Found. Please provide at least one price."));
                                        }
                                    }
                                    else
                                    {
                                        return(Request.CreateResponse(HttpStatusCode.NotFound, "No Unit Conversion Found. Please provide at least one unit conversion."));
                                    }
                                }
                                else
                                {
                                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Locking Error. These item details are already locked."));
                                }
                            }
                            else
                            {
                                return(Request.CreateResponse(HttpStatusCode.NotFound, "Data not found. These item details are not found in the server."));
                            }
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to lock item."));
                        }
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no access for this item detail page."));
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in."));
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server."));
            }
        }
Esempio n. 4
0
        public HttpResponseMessage SaveItem(Entities.MstArticle objItem, String id)
        {
            try
            {
                var currentUser = from d in db.MstUsers
                                  where d.UserId == User.Identity.GetUserId()
                                  select d;

                if (currentUser.Any())
                {
                    var currentUserId = currentUser.FirstOrDefault().Id;

                    var item = from d in db.MstArticles
                               where d.Id == Convert.ToInt32(id) &&
                               d.ArticleTypeId == 1
                               select d;

                    if (item.Any())
                    {
                        if (!item.FirstOrDefault().IsLocked)
                        {
                            String oldObject = auditTrail.GetObjectString(item.FirstOrDefault());

                            var saveItem = item.FirstOrDefault();
                            saveItem.ManualArticleCode         = objItem.ManualArticleCode;
                            saveItem.Article                   = objItem.Article;
                            saveItem.ArticleGroupId            = objItem.ArticleGroupId;
                            saveItem.AccountId                 = objItem.AccountId;
                            saveItem.SalesAccountId            = objItem.SalesAccountId;
                            saveItem.CostAccountId             = objItem.CostAccountId;
                            saveItem.AssetAccountId            = objItem.AssetAccountId;
                            saveItem.ExpenseAccountId          = objItem.ExpenseAccountId;
                            saveItem.Category                  = objItem.Category;
                            saveItem.UnitId                    = objItem.UnitId;
                            saveItem.Price                     = objItem.Price;
                            saveItem.Particulars               = objItem.Particulars;
                            saveItem.InputTaxId                = objItem.InputTaxId;
                            saveItem.OutputTaxId               = objItem.OutputTaxId;
                            saveItem.WTaxTypeId                = objItem.WTaxTypeId;
                            saveItem.IsInventory               = objItem.IsInventory;
                            saveItem.IsConsignment             = objItem.IsConsignment;
                            saveItem.ConsignmentCostPercentage = objItem.ConsignmentCostPercentage;
                            saveItem.ConsignmentCostValue      = objItem.ConsignmentCostValue;
                            saveItem.ManualArticleOldCode      = objItem.ManualArticleOldCode;
                            saveItem.Cost              = objItem.Cost;
                            saveItem.Kitting           = objItem.Kitting;
                            saveItem.DefaultSupplierId = objItem.DefaultSupplierId;
                            saveItem.DateAcquired      = Convert.ToDateTime(objItem.DateAcquired);
                            saveItem.UsefulLife        = objItem.UsefulLife;
                            saveItem.SalvageValue      = objItem.SalvageValue;
                            saveItem.UpdatedById       = currentUserId;
                            saveItem.UpdatedDateTime   = DateTime.Now;
                            db.SubmitChanges();

                            String newObject = auditTrail.GetObjectString(item.FirstOrDefault());
                            auditTrail.InsertAuditTrail(currentUser.FirstOrDefault().Id, GetType().Name, MethodBase.GetCurrentMethod().Name, oldObject, newObject);

                            return(Request.CreateResponse(HttpStatusCode.OK));
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, "Saving Error. These item details are already locked."));
                        }
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.NotFound, "Data not found. These item details are not found in the server."));
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in."));
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server."));
            }
        }
        public HttpResponseMessage UpdateBank(Entities.MstArticle objBank, String id)
        {
            try
            {
                var currentUser = from d in db.MstUsers
                                  where d.UserId == User.Identity.GetUserId()
                                  select d;

                if (currentUser.Any())
                {
                    var currentUserId = currentUser.FirstOrDefault().Id;

                    var userForms = from d in db.MstUserForms
                                    where d.UserId == currentUserId &&
                                    d.SysForm.FormName.Equals("BankList")
                                    select d;

                    if (userForms.Any())
                    {
                        if (userForms.FirstOrDefault().CanEdit)
                        {
                            var bank = from d in db.MstArticles
                                       where d.Id == Convert.ToInt32(id) &&
                                       d.ArticleTypeId == 5
                                       select d;

                            if (bank.Any())
                            {
                                var bankByManualCode = from d in db.MstArticles
                                                       where d.Id != Convert.ToInt32(id) &&
                                                       d.ArticleTypeId == 5 &&
                                                       d.ManualArticleCode.Equals(objBank.ManualArticleCode)
                                                       select d;

                                if (!bankByManualCode.Any())
                                {
                                    String oldObject = at.GetObjectString(bank.FirstOrDefault());

                                    var lockBank = bank.FirstOrDefault();
                                    lockBank.ManualArticleCode = objBank.ManualArticleCode;
                                    lockBank.Article           = objBank.Article;
                                    lockBank.ArticleGroupId    = objBank.ArticleGroupId;
                                    lockBank.AccountId         = objBank.AccountId;
                                    lockBank.SalesAccountId    = objBank.SalesAccountId;
                                    lockBank.CostAccountId     = objBank.CostAccountId;
                                    lockBank.AssetAccountId    = objBank.AssetAccountId;
                                    lockBank.ExpenseAccountId  = objBank.ExpenseAccountId;
                                    lockBank.Address           = objBank.Address;
                                    lockBank.ContactNumber     = objBank.ContactNumber;
                                    lockBank.ContactPerson     = objBank.ContactPerson;
                                    lockBank.IsLocked          = true;
                                    lockBank.UpdatedById       = currentUserId;
                                    lockBank.UpdatedDateTime   = DateTime.Now;

                                    db.SubmitChanges();

                                    String newObject = at.GetObjectString(bank.FirstOrDefault());
                                    at.InsertAuditTrail(currentUser.FirstOrDefault().Id, GetType().Name, MethodBase.GetCurrentMethod().Name, oldObject, newObject);

                                    return(Request.CreateResponse(HttpStatusCode.OK));
                                }
                                else
                                {
                                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Manual Code is already taken."));
                                }
                            }
                            else
                            {
                                return(Request.CreateResponse(HttpStatusCode.NotFound, "Data not found. These bank details are not found in the server."));
                            }
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to edit and update bank."));
                        }
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no access for this bank detail page."));
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in."));
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server."));
            }
        }
        public HttpResponseMessage AddBank(Entities.MstArticle objBank)
        {
            try
            {
                var currentUser = from d in db.MstUsers
                                  where d.UserId == User.Identity.GetUserId()
                                  select d;

                if (currentUser.Any())
                {
                    var currentUserId = currentUser.FirstOrDefault().Id;

                    var userForms = from d in db.MstUserForms
                                    where d.UserId == currentUserId &&
                                    d.SysForm.FormName.Equals("BankList")
                                    select d;

                    if (userForms.Any())
                    {
                        if (userForms.FirstOrDefault().CanAdd)
                        {
                            var defaultBankCode = "0000000001";
                            var lastBank        = from d in db.MstArticles.OrderByDescending(d => d.Id)
                                                  where d.ArticleTypeId == 5
                                                  select d;

                            if (lastBank.Any())
                            {
                                var bankCode = Convert.ToInt32(lastBank.FirstOrDefault().ArticleCode) + 0000000001;
                                defaultBankCode = FillLeadingZeroes(bankCode, 10);
                            }

                            var articleGroups = from d in db.MstArticleGroups
                                                where d.Id == objBank.ArticleGroupId &&
                                                d.ArticleTypeId == 5
                                                select d;

                            if (articleGroups.Any())
                            {
                                var units = from d in db.MstUnits
                                            select d;

                                if (units.Any())
                                {
                                    var taxTypes = from d in db.MstTaxTypes
                                                   select d;

                                    if (taxTypes.Any())
                                    {
                                        var terms = from d in db.MstTerms
                                                    select d;

                                        if (terms.Any())
                                        {
                                            var bankByManualCode = from d in db.MstArticles
                                                                   where d.ArticleTypeId == 5 &&
                                                                   d.ManualArticleCode.Equals(objBank.ManualArticleCode)
                                                                   select d;

                                            if (!bankByManualCode.Any())
                                            {
                                                Data.MstArticle newBank = new Data.MstArticle
                                                {
                                                    ArticleCode       = defaultBankCode,
                                                    ManualArticleCode = objBank.ManualArticleCode,
                                                    Article           = objBank.Article,
                                                    Category          = "NA",
                                                    ArticleTypeId     = 5,
                                                    ArticleGroupId    = articleGroups.FirstOrDefault().Id,
                                                    AccountId         = articleGroups.FirstOrDefault().AccountId,
                                                    SalesAccountId    = articleGroups.FirstOrDefault().SalesAccountId,
                                                    CostAccountId     = articleGroups.FirstOrDefault().CostAccountId,
                                                    AssetAccountId    = articleGroups.FirstOrDefault().AssetAccountId,
                                                    ExpenseAccountId  = articleGroups.FirstOrDefault().ExpenseAccountId,
                                                    UnitId            = units.FirstOrDefault().Id,
                                                    OutputTaxId       = db.MstTaxTypes.FirstOrDefault().Id,
                                                    InputTaxId        = db.MstTaxTypes.FirstOrDefault().Id,
                                                    WTaxTypeId        = db.MstTaxTypes.FirstOrDefault().Id,
                                                    Price             = 0,
                                                    Cost                 = 0,
                                                    IsInventory          = false,
                                                    Particulars          = "NA",
                                                    Address              = objBank.Address,
                                                    TermId               = terms.FirstOrDefault().Id,
                                                    ContactNumber        = objBank.ContactNumber,
                                                    ContactPerson        = objBank.ContactPerson,
                                                    EmailAddress         = "NA",
                                                    TaxNumber            = "NA",
                                                    CreditLimit          = 0,
                                                    DateAcquired         = DateTime.Now,
                                                    UsefulLife           = 0,
                                                    SalvageValue         = 0,
                                                    ManualArticleOldCode = "NA",
                                                    Kitting              = 0,
                                                    DefaultSupplierId    = null,
                                                    StockLevelQuantity   = 0,
                                                    ReorderQuantity      = 0,
                                                    IsLocked             = true,
                                                    CreatedById          = currentUserId,
                                                    CreatedDateTime      = DateTime.Now,
                                                    UpdatedById          = currentUserId,
                                                    UpdatedDateTime      = DateTime.Now
                                                };

                                                db.MstArticles.InsertOnSubmit(newBank);
                                                db.SubmitChanges();

                                                String newObject = at.GetObjectString(newBank);
                                                at.InsertAuditTrail(currentUser.FirstOrDefault().Id, GetType().Name, MethodBase.GetCurrentMethod().Name, "NA", newObject);

                                                return(Request.CreateResponse(HttpStatusCode.OK, newBank.Id));
                                            }
                                            else
                                            {
                                                return(Request.CreateResponse(HttpStatusCode.BadRequest, "Manual Code is already taken."));
                                            }
                                        }
                                        else
                                        {
                                            return(Request.CreateResponse(HttpStatusCode.NotFound, "No term found. Please setup more terms for all master tables."));
                                        }
                                    }
                                    else
                                    {
                                        return(Request.CreateResponse(HttpStatusCode.NotFound, "No tax type found. Please setup more tax types for all master tables."));
                                    }
                                }
                                else
                                {
                                    return(Request.CreateResponse(HttpStatusCode.NotFound, "No unit found. Please setup more units for all master tables."));
                                }
                            }
                            else
                            {
                                return(Request.CreateResponse(HttpStatusCode.NotFound, "No article group found. Please setup at least one article group for banks."));
                            }
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to add bank."));
                        }
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no access for this bank page."));
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in."));
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server."));
            }
        }
Esempio n. 7
0
        public HttpResponseMessage LockSupplier(Entities.MstArticle objSupplier, String id)
        {
            try
            {
                var currentUser = from d in db.MstUsers
                                  where d.UserId == User.Identity.GetUserId()
                                  select d;

                if (currentUser.Any())
                {
                    var currentUserId = currentUser.FirstOrDefault().Id;

                    var userForms = from d in db.MstUserForms
                                    where d.UserId == currentUserId &&
                                    d.SysForm.FormName.Equals("SupplierDetail")
                                    select d;

                    if (userForms.Any())
                    {
                        if (userForms.FirstOrDefault().CanLock)
                        {
                            var supplier = from d in db.MstArticles
                                           where d.Id == Convert.ToInt32(id) &&
                                           d.ArticleTypeId == 3
                                           select d;

                            if (supplier.Any())
                            {
                                if (!supplier.FirstOrDefault().IsLocked)
                                {
                                    var lockSupplier = supplier.FirstOrDefault();
                                    lockSupplier.ManualArticleCode = objSupplier.ManualArticleCode;
                                    lockSupplier.Article           = objSupplier.Article;
                                    lockSupplier.ArticleGroupId    = objSupplier.ArticleGroupId;
                                    lockSupplier.AccountId         = objSupplier.AccountId;
                                    lockSupplier.SalesAccountId    = objSupplier.SalesAccountId;
                                    lockSupplier.CostAccountId     = objSupplier.CostAccountId;
                                    lockSupplier.AssetAccountId    = objSupplier.AssetAccountId;
                                    lockSupplier.ExpenseAccountId  = objSupplier.ExpenseAccountId;
                                    lockSupplier.TermId            = objSupplier.TermId;
                                    lockSupplier.Address           = objSupplier.Address;
                                    lockSupplier.ContactNumber     = objSupplier.ContactNumber;
                                    lockSupplier.ContactPerson     = objSupplier.ContactPerson;
                                    lockSupplier.TaxNumber         = objSupplier.TaxNumber;
                                    lockSupplier.Particulars       = objSupplier.Particulars;
                                    lockSupplier.EmailAddress      = objSupplier.EmailAddress;
                                    lockSupplier.IsLocked          = true;
                                    lockSupplier.UpdatedById       = currentUserId;
                                    lockSupplier.UpdatedDateTime   = DateTime.Now;

                                    db.SubmitChanges();

                                    return(Request.CreateResponse(HttpStatusCode.OK));
                                }
                                else
                                {
                                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Locking Error. These supplier details are already locked."));
                                }
                            }
                            else
                            {
                                return(Request.CreateResponse(HttpStatusCode.NotFound, "Data not found. These supplier details are not found in the server."));
                            }
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to lock supplier."));
                        }
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no access for this supplier detail page."));
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in."));
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server."));
            }
        }
        public HttpResponseMessage LockSupplier(Entities.MstArticle objSupplier, String id)
        {
            try
            {
                var currentUser = from d in db.MstUsers
                                  where d.UserId == User.Identity.GetUserId()
                                  select d;

                if (currentUser.Any())
                {
                    var currentUserId = currentUser.FirstOrDefault().Id;

                    var userForms = from d in db.MstUserForms
                                    where d.UserId == currentUserId &&
                                    d.SysForm.FormName.Equals("SupplierDetail")
                                    select d;

                    if (userForms.Any())
                    {
                        if (userForms.FirstOrDefault().CanLock)
                        {
                            var supplier = from d in db.MstArticles
                                           where d.Id == Convert.ToInt32(id) &&
                                           d.ArticleTypeId == 3
                                           select d;

                            if (supplier.Any())
                            {
                                if (!supplier.FirstOrDefault().IsLocked)
                                {
                                    String oldObject = auditTrail.GetObjectString(supplier.FirstOrDefault());

                                    var supplierByManualCode = from d in db.MstArticles
                                                               where d.ArticleTypeId == 3 &&
                                                               d.ManualArticleCode.Equals(objSupplier.ManualArticleCode) &&
                                                               d.IsLocked == true
                                                               select d;

                                    if (!supplierByManualCode.Any())
                                    {
                                        var lockSupplier = supplier.FirstOrDefault();
                                        lockSupplier.ManualArticleCode = objSupplier.ManualArticleCode;
                                        lockSupplier.Article           = objSupplier.Article;
                                        lockSupplier.ArticleGroupId    = objSupplier.ArticleGroupId;
                                        lockSupplier.AccountId         = objSupplier.AccountId;
                                        lockSupplier.SalesAccountId    = objSupplier.SalesAccountId;
                                        lockSupplier.CostAccountId     = objSupplier.CostAccountId;
                                        lockSupplier.AssetAccountId    = objSupplier.AssetAccountId;
                                        lockSupplier.ExpenseAccountId  = objSupplier.ExpenseAccountId;
                                        lockSupplier.TermId            = objSupplier.TermId;
                                        lockSupplier.Address           = objSupplier.Address;
                                        lockSupplier.ContactNumber     = objSupplier.ContactNumber;
                                        lockSupplier.ContactPerson     = objSupplier.ContactPerson;
                                        lockSupplier.TaxNumber         = objSupplier.TaxNumber;
                                        lockSupplier.Particulars       = objSupplier.Particulars;
                                        lockSupplier.EmailAddress      = objSupplier.EmailAddress;
                                        lockSupplier.CreditLimit       = objSupplier.CreditLimit;
                                        lockSupplier.IsLocked          = true;
                                        lockSupplier.UpdatedById       = currentUserId;
                                        lockSupplier.UpdatedDateTime   = DateTime.Now;

                                        db.SubmitChanges();

                                        String newObject = auditTrail.GetObjectString(supplier.FirstOrDefault());
                                        auditTrail.InsertAuditTrail(currentUser.FirstOrDefault().Id, GetType().Name, MethodBase.GetCurrentMethod().Name, oldObject, newObject);

                                        return(Request.CreateResponse(HttpStatusCode.OK));
                                    }
                                    else
                                    {
                                        return(Request.CreateResponse(HttpStatusCode.BadRequest, "Manual Code is already taken."));
                                    }
                                }
                                else
                                {
                                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Already locked."));
                                }
                            }
                            else
                            {
                                return(Request.CreateResponse(HttpStatusCode.NotFound, "This supplier detail is no longer exist."));
                            }
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, "No rights."));
                        }
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest, "No rights."));
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in."));
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server."));
            }
        }
Esempio n. 9
0
        public HttpResponseMessage UpdateOtherArticle(Entities.MstArticle objOtherArticle, String id)
        {
            try
            {
                var currentUser = from d in db.MstUsers
                                  where d.UserId == User.Identity.GetUserId()
                                  select d;

                if (currentUser.Any())
                {
                    var currentUserId = currentUser.FirstOrDefault().Id;

                    var userForms = from d in db.MstUserForms
                                    where d.UserId == currentUserId &&
                                    d.SysForm.FormName.Equals("SystemTables")
                                    select d;

                    if (userForms.Any())
                    {
                        if (userForms.FirstOrDefault().CanEdit)
                        {
                            var otherArticle = from d in db.MstArticles
                                               where d.Id == Convert.ToInt32(id) &&
                                               d.ArticleTypeId == 6
                                               select d;

                            if (otherArticle.Any())
                            {
                                var lockOtherArticle = otherArticle.FirstOrDefault();
                                lockOtherArticle.Article          = objOtherArticle.Article;
                                lockOtherArticle.ArticleGroupId   = objOtherArticle.ArticleGroupId;
                                lockOtherArticle.AccountId        = objOtherArticle.AccountId;
                                lockOtherArticle.SalesAccountId   = objOtherArticle.SalesAccountId;
                                lockOtherArticle.CostAccountId    = objOtherArticle.CostAccountId;
                                lockOtherArticle.AssetAccountId   = objOtherArticle.AssetAccountId;
                                lockOtherArticle.ExpenseAccountId = objOtherArticle.ExpenseAccountId;
                                lockOtherArticle.Address          = objOtherArticle.Address;
                                lockOtherArticle.ContactNumber    = objOtherArticle.ContactNumber;
                                lockOtherArticle.ContactPerson    = objOtherArticle.ContactPerson;
                                lockOtherArticle.IsLocked         = true;
                                lockOtherArticle.UpdatedById      = currentUserId;
                                lockOtherArticle.UpdatedDateTime  = DateTime.Now;

                                db.SubmitChanges();

                                return(Request.CreateResponse(HttpStatusCode.OK));
                            }
                            else
                            {
                                return(Request.CreateResponse(HttpStatusCode.NotFound, "Data not found. These other article details are not found in the server."));
                            }
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to edit and update other article."));
                        }
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no access for this system tables page."));
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in."));
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server."));
            }
        }
Esempio n. 10
0
        public HttpResponseMessage AddOtherArticle(Entities.MstArticle objOtherArticle)
        {
            try
            {
                var currentUser = from d in db.MstUsers
                                  where d.UserId == User.Identity.GetUserId()
                                  select d;

                if (currentUser.Any())
                {
                    var currentUserId = currentUser.FirstOrDefault().Id;

                    var userForms = from d in db.MstUserForms
                                    where d.UserId == currentUserId &&
                                    d.SysForm.FormName.Equals("SystemTables")
                                    select d;

                    if (userForms.Any())
                    {
                        if (userForms.FirstOrDefault().CanAdd)
                        {
                            var defaultOtherArticleCode = "0000000001";
                            var lastOtherArticle        = from d in db.MstArticles.OrderByDescending(d => d.Id)
                                                          where d.ArticleTypeId == 6
                                                          select d;

                            if (lastOtherArticle.Any())
                            {
                                var otherArticleCode = Convert.ToInt32(lastOtherArticle.FirstOrDefault().ArticleCode) + 0000000001;
                                defaultOtherArticleCode = FillLeadingZeroes(otherArticleCode, 10);
                            }

                            var articleGroups = from d in db.MstArticleGroups
                                                where d.Id == objOtherArticle.ArticleGroupId &&
                                                d.ArticleTypeId == 6
                                                select d;

                            if (articleGroups.Any())
                            {
                                var units = from d in db.MstUnits
                                            select d;

                                if (units.Any())
                                {
                                    var taxTypes = from d in db.MstTaxTypes
                                                   select d;

                                    if (taxTypes.Any())
                                    {
                                        var terms = from d in db.MstTerms
                                                    select d;

                                        if (terms.Any())
                                        {
                                            Data.MstArticle newOtherArticle = new Data.MstArticle
                                            {
                                                ArticleCode       = defaultOtherArticleCode,
                                                ManualArticleCode = "NA",
                                                Article           = objOtherArticle.Article,
                                                Category          = "NA",
                                                ArticleTypeId     = 6,
                                                ArticleGroupId    = articleGroups.FirstOrDefault().Id,
                                                AccountId         = articleGroups.FirstOrDefault().AccountId,
                                                SalesAccountId    = articleGroups.FirstOrDefault().SalesAccountId,
                                                CostAccountId     = articleGroups.FirstOrDefault().CostAccountId,
                                                AssetAccountId    = articleGroups.FirstOrDefault().AssetAccountId,
                                                ExpenseAccountId  = articleGroups.FirstOrDefault().ExpenseAccountId,
                                                UnitId            = units.FirstOrDefault().Id,
                                                OutputTaxId       = db.MstTaxTypes.FirstOrDefault().Id,
                                                InputTaxId        = db.MstTaxTypes.FirstOrDefault().Id,
                                                WTaxTypeId        = db.MstTaxTypes.FirstOrDefault().Id,
                                                Price             = 0,
                                                Cost                 = 0,
                                                IsInventory          = false,
                                                Particulars          = "NA",
                                                Address              = objOtherArticle.Address,
                                                TermId               = terms.FirstOrDefault().Id,
                                                ContactNumber        = objOtherArticle.ContactNumber,
                                                ContactPerson        = objOtherArticle.ContactPerson,
                                                EmailAddress         = "NA",
                                                TaxNumber            = "NA",
                                                CreditLimit          = 0,
                                                DateAcquired         = DateTime.Now,
                                                UsefulLife           = 0,
                                                SalvageValue         = 0,
                                                ManualArticleOldCode = "NA",
                                                Kitting              = 0,
                                                IsLocked             = true,
                                                CreatedById          = currentUserId,
                                                CreatedDateTime      = DateTime.Now,
                                                UpdatedById          = currentUserId,
                                                UpdatedDateTime      = DateTime.Now
                                            };

                                            db.MstArticles.InsertOnSubmit(newOtherArticle);
                                            db.SubmitChanges();

                                            return(Request.CreateResponse(HttpStatusCode.OK, newOtherArticle.Id));
                                        }
                                        else
                                        {
                                            return(Request.CreateResponse(HttpStatusCode.NotFound, "No term found. Please setup more terms for all master tables."));
                                        }
                                    }
                                    else
                                    {
                                        return(Request.CreateResponse(HttpStatusCode.NotFound, "No tax type found. Please setup more tax types for all master tables."));
                                    }
                                }
                                else
                                {
                                    return(Request.CreateResponse(HttpStatusCode.NotFound, "No unit found. Please setup more units for all master tables."));
                                }
                            }
                            else
                            {
                                return(Request.CreateResponse(HttpStatusCode.NotFound, "No article group found. Please setup at least one article group for other articles."));
                            }
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to add other article."));
                        }
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no access for this system table page."));
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in."));
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server."));
            }
        }
Esempio n. 11
0
        public HttpResponseMessage AddUpdateConsignmentItem(Entities.MstArticle objItem, String supplierId)
        {
            try
            {
                var currentUser = from d in db.MstUsers
                                  where d.UserId == User.Identity.GetUserId()
                                  select d;

                if (currentUser.Any())
                {
                    var currentUserId = currentUser.FirstOrDefault().Id;
                    var userForms     = from d in db.MstUserForms
                                        where d.UserId == currentUserId &&
                                        d.SysForm.FormName.Equals("SupplierDetail")
                                        select d;

                    if (userForms.Any())
                    {
                        if (userForms.FirstOrDefault().CanAdd)
                        {
                            var article = from d in db.MstArticles
                                          where d.Id == Convert.ToInt32(supplierId)
                                          select d;

                            if (article.Any())
                            {
                                if (!article.FirstOrDefault().IsLocked)
                                {
                                    var item = from d in db.MstArticles
                                               where d.Id == objItem.Id &&
                                               d.ArticleTypeId == 1 &&
                                               d.IsLocked == true
                                               select d;

                                    if (item.Any())
                                    {
                                        var updateItem = item.FirstOrDefault();
                                        updateItem.DefaultSupplierId         = Convert.ToInt32(supplierId);
                                        updateItem.ConsignmentCostPercentage = objItem.ConsignmentCostPercentage;
                                        updateItem.ConsignmentCostValue      = objItem.ConsignmentCostValue;
                                        updateItem.IsConsignment             = true;
                                        updateItem.IsInventory = true;
                                        db.SubmitChanges();

                                        String newObject = at.GetObjectString(item.FirstOrDefault());
                                        at.InsertAuditTrail(currentUser.FirstOrDefault().Id, GetType().Name, MethodBase.GetCurrentMethod().Name, "NA", newObject);

                                        return(Request.CreateResponse(HttpStatusCode.OK));
                                    }
                                    else
                                    {
                                        return(Request.CreateResponse(HttpStatusCode.BadRequest, "The item you're looking was not found in the server."));
                                    }
                                }
                                else
                                {
                                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "You cannot add new consignment item if the current supplier detail is locked."));
                                }
                            }
                            else
                            {
                                return(Request.CreateResponse(HttpStatusCode.NotFound, "These current supplier details are not found in the server. Please add new supplier first before proceeding."));
                            }
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to add new consignment item in this supplier detail page."));
                        }
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no access in this supplier detail page."));
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in."));
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server."));
            }
        }
Esempio n. 12
0
        public HttpResponseMessage SaveCustomer(Entities.MstArticle objCustomer, String id)
        {
            try
            {
                var currentUser = from d in db.MstUsers
                                  where d.UserId == User.Identity.GetUserId()
                                  select d;

                if (currentUser.Any())
                {
                    var currentUserId = currentUser.FirstOrDefault().Id;

                    var customer = from d in db.MstArticles
                                   where d.Id == Convert.ToInt32(id) &&
                                   d.ArticleTypeId == 2
                                   select d;

                    if (customer.Any())
                    {
                        if (!customer.FirstOrDefault().IsLocked)
                        {
                            String oldObject = auditTrail.GetObjectString(customer.FirstOrDefault());

                            var saveCustomer = customer.FirstOrDefault();
                            saveCustomer.ManualArticleCode = objCustomer.ManualArticleCode;
                            saveCustomer.Article           = objCustomer.Article;
                            saveCustomer.ArticleGroupId    = objCustomer.ArticleGroupId;
                            saveCustomer.AccountId         = objCustomer.AccountId;
                            saveCustomer.SalesAccountId    = objCustomer.SalesAccountId;
                            saveCustomer.CostAccountId     = objCustomer.CostAccountId;
                            saveCustomer.AssetAccountId    = objCustomer.AssetAccountId;
                            saveCustomer.ExpenseAccountId  = objCustomer.ExpenseAccountId;
                            saveCustomer.TermId            = objCustomer.TermId;
                            saveCustomer.Address           = objCustomer.Address;
                            saveCustomer.CreditLimit       = objCustomer.CreditLimit;
                            saveCustomer.ContactNumber     = objCustomer.ContactNumber;
                            saveCustomer.ContactPerson     = objCustomer.ContactPerson;
                            saveCustomer.TaxNumber         = objCustomer.TaxNumber;
                            saveCustomer.Particulars       = objCustomer.Particulars;
                            saveCustomer.EmailAddress      = objCustomer.EmailAddress;
                            saveCustomer.UpdatedById       = currentUserId;
                            saveCustomer.UpdatedDateTime   = DateTime.Now;
                            db.SubmitChanges();

                            String newObject = auditTrail.GetObjectString(customer.FirstOrDefault());
                            auditTrail.InsertAuditTrail(currentUser.FirstOrDefault().Id, GetType().Name, MethodBase.GetCurrentMethod().Name, oldObject, newObject);

                            return(Request.CreateResponse(HttpStatusCode.OK));
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, "Saving Error. These customer details are already locked."));
                        }
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.NotFound, "Data not found. These customer details are not found in the server."));
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in."));
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server."));
            }
        }