public bool CreateDepartment(DepartmentViewModel obj)
        {
            bool result;
            IDbContextTransaction transaction = _context.Database.BeginTransaction();

            if (obj != null)
            {
                try
                {
                    //TODO : Check if same department name is exist

                    Department asset = new Department();
                    asset.ID          = obj.ID;
                    asset.Name        = obj.Name;
                    asset.Description = obj.Description;
                    asset.IsActive    = obj.IsActive;

                    _context.Department.Add(asset);
                    _context.SaveChanges();
                    transaction.Commit();
                    result = true;
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    result = false;
                }
            }
            else
            {
                result = false;
            }
            return(result);
        }
Esempio n. 2
0
        public bool CreateAsset(AssetViewModel obj)
        {
            bool result;
            IDbContextTransaction transaction = _context.Database.BeginTransaction();

            if (obj != null)
            {
                try
                {
                    obj.No          = _asset.GetLastNumberAsset();
                    obj.SubCategory = _generatecode.SubCategoryAsset(obj.CategoryCD);
                    obj.Number      = _generatecode.Number(obj.No);
                    obj.Code        = _generatecode.GenerateCode(obj.CompanyCode, obj.ApplicationCode, obj.MainCategory, obj.SubCategory, obj.Number);


                    Asset asset = new Asset();
                    asset.ID                   = obj.ID;
                    asset.Code                 = obj.Code;
                    asset.Description          = obj.Description;
                    asset.No                   = obj.Number;
                    asset.Name                 = obj.Name;
                    asset.IsMovable            = obj.IsMovable;
                    asset.Owner                = obj.Owner;
                    asset.PurchaseDate         = Convert.ToDateTime(obj.PurchaseDate).ToString("ddMMyyyy");
                    asset.PurchasePrice        = obj.PurchasePrice;
                    asset.DepreciationDuration = obj.DepreciationDuration != null?Convert.ToDateTime(obj.DepreciationDuration).ToString("ddMMyyyy") : null;

                    asset.DisposedDate = obj.DisposedDate != null?Convert.ToDateTime(obj.DisposedDate).ToString("ddMMyyyy") : null;

                    asset.ManufactureDate = Convert.ToDateTime(obj.ManufactureDate).ToString("ddMMyyyy");
                    asset.CategoryCD      = obj.CategoryCD;
                    asset.StatusCD        = obj.StatusCD;
                    asset.CreatedDate     = DateTime.Now.Date.ToString("ddMMyyyy");
                    asset.CreatedBy       = obj.CreatedBy;

                    _context.Asset.Add(asset);
                    _context.SaveChanges();
                    transaction.Commit();
                    result = true;
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    result = false;
                }
            }
            else
            {
                result = false;
            }
            return(result);
        }
        public ResultViewModel CreateMovementRequest(MovementRequestViewModel obj)
        {
            ResultViewModel       result      = new ResultViewModel();
            IDbContextTransaction transaction = _context.Database.BeginTransaction();

            if (obj != null)
            {
                try
                {
                    MovementRequest movement = new MovementRequest();
                    movement.MovementDate   = obj.MovementRequest.MovementDate.Replace("/", string.Empty);
                    movement.Description    = obj.MovementRequest.Description;
                    movement.LocationID     = obj.MovementRequest.LocationID;
                    movement.ApprovalStatus = Convert.ToInt16(obj.MovementRequest.ApprovalStatus);
                    movement.CreatedDate    = obj.CreatedDate;//DateTime.Now;
                    movement.CreatedBy      = obj.CreatedBy;
                    movement.Notes          = obj.MovementRequest.Notes;
                    foreach (var item in obj.MovementRequestDetail)
                    {
                        MovementRequestDetail detail = new MovementRequestDetail();
                        detail.Description     = item.Description;
                        detail.AssetCategoryCD = item.AssetCategoryCD;
                        detail.Quantity        = item.Quantity;
                        detail.RequestedTo     = item.RequestTo;
                        detail.CreatedDate     = movement.CreatedDate;
                        detail.CreatedBy       = movement.CreatedBy;
                        movement.MovementRequestDetail.Add(detail);
                    }
                    _context.MovementRequest.Add(movement);
                    _context.SaveChanges();
                    transaction.Commit();
                    result.status          = true;
                    result.movementRequest = GetMovementRequestByID(movement.ID);
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    result.status          = false;
                    result.movementRequest = null;
                }
            }
            else
            {
                result.status          = false;
                result.movementRequest = null;
            }

            return(result);
        }
Esempio n. 4
0
        public bool MoveAsset(AssetViewModel obj)
        {
            bool result;
            IDbContextTransaction transaction = _context.Database.BeginTransaction();

            if (obj != null)
            {
                try
                {
                    var location = _location.GetLocationByCode(obj.location);
                    if (obj.listAsset != null)
                    {
                        foreach (var item in obj.listAsset)
                        {
                            AssetLocation assetlocationobj = new AssetLocation();
                            var           date             = DateTime.Now;
                            var           asset            = _asset.GetAssetInfoByCode(item);
                            assetlocationobj.AssetID                 = asset.ID;
                            assetlocationobj.LocationID              = location.ID;
                            assetlocationobj.OnTransition            = false;
                            assetlocationobj.CreatedDate             = date.Date.ToString("ddMMyyyy");
                            assetlocationobj.CreatedBy               = obj.CreatedBy;
                            assetlocationobj.MovementRequestDetailID = null;
                            _context.AssetLocation.Add(assetlocationobj);
                            _context.SaveChanges();
                        }


                        transaction.Commit();
                        result = true;
                    }
                    else
                    {
                        result = false;
                    }
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    result = false;
                }
            }
            else
            {
                result = false;
            }
            return(result);
        }
Esempio n. 5
0
        public bool CreateAsset(Asset obj)
        {
            bool result;
            IDbContextTransaction transaction = _context.Database.BeginTransaction();

            if (obj != null)
            {
                try
                {
                    Asset asset = new Asset();
                    asset.ID                   = obj.ID;
                    asset.Code                 = obj.Code;
                    asset.Description          = obj.Description;
                    asset.No                   = obj.No;
                    asset.Name                 = obj.Name;
                    asset.IsMovable            = obj.IsMovable;
                    asset.Owner                = obj.Owner;
                    asset.PurchaseDate         = obj.PurchaseDate;
                    asset.PurchasePrice        = obj.PurchasePrice;
                    asset.DepreciationDuration = obj.DepreciationDuration;
                    asset.DisposedDate         = obj.DisposedDate;
                    asset.ManufactureDate      = obj.ManufactureDate;
                    asset.CategoryCD           = obj.CategoryCD;
                    asset.StatusCD             = obj.StatusCD;
                    asset.CreatedDate          = DateTime.Now.Date.ToString("ddMMyyyy");
                    asset.CreatedBy            = obj.CreatedBy;

                    _context.Asset.Add(asset);
                    _context.SaveChanges();
                    transaction.Commit();
                    result = true;
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    result = false;
                }
            }
            else
            {
                result = false;
            }
            return(result);
        }
Esempio n. 6
0
        public bool CreateLocation(LocationViewModel obj)
        {
            bool result;
            IDbContextTransaction transaction = _context.Database.BeginTransaction();

            if (obj != null)
            {
                try
                {
                    obj.No          = _location.GetLastNumberLocation();
                    obj.SubCategory = _generatecode.SubCategoryLocation(obj.LocationTypeCD, obj.Floor);
                    obj.Number      = _generatecode.Number(obj.No);
                    obj.Code        = _generatecode.GenerateCode(obj.CompanyCode, obj.ApplicationCode, obj.MainCategory, obj.SubCategory, obj.Number);

                    Location location = new Location();
                    location.Code           = obj.Code;
                    location.Description    = obj.Description;
                    location.No             = obj.Number;
                    location.Name           = obj.Name;
                    location.Floor          = obj.Floor;
                    location.LocationTypeCD = obj.LocationTypeCD;
                    location.StatusCD       = obj.StatusCD;
                    location.CreatedBy      = obj.CreatedBy;
                    location.CreatedDate    = DateTime.Now.Date.ToString("ddMMyyyy");
                    _context.Location.Add(location);
                    _context.SaveChanges();
                    transaction.Commit();
                    result = true;
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    result = false;
                }
            }
            else
            {
                result = false;
            }
            return(result);
        }
Esempio n. 7
0
        public bool CreateLocation(Location obj)
        {
            bool result;
            IDbContextTransaction transaction = _context.Database.BeginTransaction();

            if (obj != null)
            {
                try
                {
                    Location location = new Location();
                    location.Code           = obj.Code;
                    location.Description    = obj.Description;
                    location.No             = obj.No;
                    location.Name           = obj.Name;
                    location.Floor          = obj.Floor;
                    location.LocationTypeCD = obj.LocationTypeCD;
                    location.StatusCD       = obj.StatusCD;
                    location.CreatedBy      = obj.CreatedBy;
                    location.CreatedDate    = DateTime.Now.Date.ToString("ddMMyyyy");
                    _context.Location.Add(location);
                    _context.SaveChanges();
                    transaction.Commit();
                    result = true;
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    result = false;
                }
            }
            else
            {
                result = false;
            }
            return(result);
        }
        public ResultViewModel OpnameAsset(AssetOpnameTransactionViewModel obj)
        {
            ResultViewModel result = new ResultViewModel();
            List <AssetOpnameTransaction> assetopname = new List <AssetOpnameTransaction>();
            IDbContextTransaction         transaction = _context.Database.BeginTransaction();

            if (obj != null)
            {
                var listAsset = _context.Asset.Where(p => p.Code.Any(o => obj.AssetOpname.Contains(p.Code))).ToList();
                if (listAsset != null)
                {
                    if (listAsset.Count() == obj.AssetOpname.Count())
                    {
                        foreach (var item in listAsset.ToList())
                        {
                            var asset = obj.AssetIDList.Where(p => p == item.ID).FirstOrDefault();
                            if (asset != null)
                            {
                                AssetOpnameTransaction model = new AssetOpnameTransaction();
                                model.AssetID     = item.ID;
                                model.LocationID  = obj.LocationID;
                                model.CreatedDate = obj.CreatedDate;
                                model.RecordDate  = obj.CreatedDate.Date.ToString("ddMMyyyy");
                                model.CreatedBy   = obj.CreatedBy;
                                assetopname.Add(model);
                                listAsset.Remove(item);
                            }
                        }

                        foreach (var item in assetopname)
                        {
                            _context.AssetOpnameTransaction.Add(item);
                            _context.SaveChanges();
                        }
                        transaction.Commit();
                        result.status = true;
                    }
                }
            }
            return(result);
        }
Esempio n. 9
0
        public ResultViewModel MoveAsset(AssetViewModel obj)
        {
            ResultViewModel       result            = new ResultViewModel();
            List <AssetLocation>  listassetlocation = new List <AssetLocation>();
            IDbContextTransaction transaction       = _context.Database.BeginTransaction();
            List <string>         Asset             = new List <string>();
            List <string>         Location          = new List <string>();
            List <string>         NotAssetLocation  = new List <string>();

            if (obj != null)
            {
                try
                {
                    foreach (var item in obj.listAsset)
                    {
                        char[] array = item.ToCharArray();
                        string data  = "";
                        int    i     = 0;
                        foreach (var item2 in array)
                        {
                            i += 1;
                            if (i >= 5 && i <= 8)
                            {
                                data += item2;
                            }
                        }
                        if (data == "0101")
                        {
                            Asset.Add(item);
                            data = "";
                        }
                        else if (data == "0202")
                        {
                            Location.Add(item);
                            data = "";
                        }
                        else
                        {
                            NotAssetLocation.Add(item);
                            data = "";
                        }

                        if (NotAssetLocation.Count == 0)
                        {
                            if (Location.Count > 0 && Location.Count <= 1)
                            {
                                var location = _location.GetLocationByCode(Location[0]);
                                if (location.ID == obj.locationID)
                                {
                                    var movementrequestdetail = _context.MovementRequestDetail.Where(p => p.ID == obj.MovementRequestDetailID).FirstOrDefault();
                                    var movementrequest       = _context.MovementRequest.Where(p => p.ID == movementrequestdetail.MovementRequestID).FirstOrDefault();
                                    int totalmoved            = 0;
                                    var checkassetlocation    = _context.AssetLocation.Where(p => p.MovementRequestDetailID == obj.MovementRequestDetailID && p.DeletedDate == null && p.LocationID != null).Count();
                                    totalmoved = (movementrequestdetail.Quantity - checkassetlocation);
                                    if (Asset.Count() <= totalmoved)
                                    {
                                        var listAsset = _context.Asset.Where(p => p.Code.Any(o => obj.listAsset.Contains(p.Code))).ToList();
                                        if (listAsset != null)
                                        {
                                            if (listAsset.Count() == Asset.Count())
                                            {
                                                foreach (var asset in listAsset.ToList())
                                                {
                                                    if (asset.CategoryCD == movementrequestdetail.AssetCategoryCD)
                                                    {
                                                        AssetLocation assetlocationobj = new AssetLocation();
                                                        assetlocationobj.AssetID                 = asset.ID;
                                                        assetlocationobj.LocationID              = location.ID;
                                                        assetlocationobj.OnTransition            = false;
                                                        assetlocationobj.CreatedDate             = obj.CreatedDate;//DateTime.Now;
                                                        assetlocationobj.CreatedBy               = obj.CreatedBy;
                                                        assetlocationobj.MovementRequestDetailID = obj.MovementRequestDetailID;

                                                        listassetlocation.Add(assetlocationobj);
                                                        listAsset.Remove(asset);
                                                    }
                                                }
                                                if (listAsset.Count() != 0)
                                                {
                                                    result.status     = false;
                                                    result.statuscode = 6;
                                                    result.asset      = listAsset;
                                                }
                                                else
                                                {
                                                    foreach (var items in listassetlocation)
                                                    {
                                                        _context.AssetLocation.Add(items);
                                                        _context.SaveChanges();
                                                    }

                                                    transaction.Commit();
                                                    result.status     = true;
                                                    result.statuscode = 7;
                                                }
                                            }
                                            else
                                            {
                                                result.status     = false;
                                                result.statuscode = 3;
                                            }
                                        }
                                        else
                                        {
                                            result.status     = false;
                                            result.statuscode = 3;
                                        }
                                    }
                                    else
                                    {
                                        result.status     = false;
                                        result.statuscode = 3;
                                    }
                                }
                                else
                                {
                                    result.status     = false;
                                    result.statuscode = 4;
                                }
                            }
                            else
                            {
                                result.status     = false;
                                result.statuscode = 8;
                            }
                        }
                        else
                        {
                            result.status     = false;
                            result.statuscode = 5;
                        }
                    }
                }
                catch (Exception ex)
                {
                    result.status     = false;
                    result.statuscode = 2;
                    result.message    = ex.Message;
                }
            }
            else
            {
                result.status     = false;
                result.statuscode = 1;
            }
            return(result);
        }
Esempio n. 10
0
        public ResultViewModel MoveAsset(AssetViewModel obj)
        {
            ResultViewModel       result            = new ResultViewModel();
            List <AssetLocation>  listassetlocation = new List <AssetLocation>();
            IDbContextTransaction transaction       = _context.Database.BeginTransaction();

            if (obj != null)
            {
                try
                {
                    var location = _location.GetLocationByCode(obj.location);
                    var movementrequestdetail = _context.MovementRequestDetail.Where(p => p.ID == obj.MovementRequestDetailID).FirstOrDefault();
                    var movementrequest       = _context.MovementRequest.Where(p => p.ID == movementrequestdetail.MovementRequestID).FirstOrDefault();
                    int totalmoved            = 0;
                    var checkassetlocation    = _context.AssetLocation.Where(p => p.MovementRequestDetailID == obj.MovementRequestDetailID && p.DeletedDate == null && p.LocationID != null).Count();
                    totalmoved = (movementrequestdetail.Quantity - checkassetlocation);

                    if (obj.listAsset.Count() <= totalmoved)
                    {
                        if (location.ID == movementrequest.LocationID)
                        {
                            var listAsset = _context.Asset.Where(p => p.Code.Any(o => obj.listAsset.Contains(p.Code))).ToList();
                            if (listAsset != null)
                            {
                                if (listAsset.Count() == obj.listAsset.Count())
                                {
                                    foreach (var item in listAsset.ToList())
                                    {
                                        if (item.CategoryCD == movementrequestdetail.AssetCategoryCD)
                                        {
                                            AssetLocation assetlocationobj = new AssetLocation();
                                            assetlocationobj.AssetID                 = item.ID;
                                            assetlocationobj.LocationID              = location.ID;
                                            assetlocationobj.OnTransition            = false;
                                            assetlocationobj.CreatedDate             = DateTime.Now.ToString("ddMMyyyy");
                                            assetlocationobj.CreatedBy               = obj.CreatedBy;
                                            assetlocationobj.MovementRequestDetailID = obj.MovementRequestDetailID;

                                            listassetlocation.Add(assetlocationobj);
                                            listAsset.Remove(item);
                                        }
                                    }
                                    if (listAsset.Count() != 0)
                                    {
                                        result.status     = false;
                                        result.statuscode = 6;
                                        result.asset      = listAsset;
                                    }
                                    else
                                    {
                                        foreach (var item in listassetlocation)
                                        {
                                            _context.AssetLocation.Add(item);
                                            _context.SaveChanges();
                                        }

                                        transaction.Commit();
                                        result.status     = true;
                                        result.statuscode = 7;
                                    }
                                }
                                else
                                {
                                    result.status     = false;
                                    result.statuscode = 5;
                                    result.asset      = listAsset;
                                }
                            }
                            else
                            {
                                result.status     = false;
                                result.statuscode = 5;
                                result.asset      = listAsset;
                            }
                        }
                        else
                        {
                            result.status     = false;
                            result.statuscode = 4;
                        }
                    }
                    else
                    {
                        result.status     = false;
                        result.statuscode = 3;
                    }
                }
                catch (Exception ex)
                {
                    result.status     = false;
                    result.statuscode = 2;
                    result.message    = ex.Message;
                }
            }
            else
            {
                result.status     = false;
                result.statuscode = 1;
            }
            return(result);
        }