public bool InsertAssetTransfer(FA_AssetTransfer item)
        {
            string sql = " Insert into  FA_AssetTransfer (AssetId,OrganizationId,BranchId,LocationId," +
                         " TransferDate,TransferDateBS,Remarks,AssignedTo,AssignedDate,IsReceived,ReceivedBy,ReceivedDate," +
                         " EnteredBy , EnteredDate , LastUpdatedBy ,  LastUpdatedDate ,  IsDeleted , DeletedBy , DeletedDate,IsTransfered,CategoryId) " +
                         " values (" +
                         "@AssetId,@OrganizationId, @BranchId, @LocationId , " +
                         " @TransferDate,@TransferDateBS,@Remarks,@AssignedTo,@AssignedDate,0,0,null," +
                         " @EnteredBy , @EnteredDate , 0 ,  null ,  0 , 0 , null,@IsTransfered,@CategoryId)";

            using (var db = DbHelper.GetDBConnection())
            {
                using (var trsn = new TransactionScope())
                {
                    //db.Execute(sql);
                    var lst = db.Execute(sql, item);
                    trsn.Complete();
                    db.Close();
                    if (lst > 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
        }
        public bool UpdateAssetTransfer(FA_AssetTransfer item)
        {
            string sql = " Update FA_AssetTransfer set  AssetId=@AssetId,OrganizationId=@OrganizationId , BranchId=@BranchId ," +
                         " LocationId=@LocationId , LastUpdatedBy=@LastUpdatedBy , LastUpdatedDate=@LastUpdatedDate, Remarks=@Remarks, " +
                         " TransferDate=@TransferDate, TransferDateBS=@TransferDateBS, AssignedTo=@AssignedTo,AssignedDate=@AssignedDate" +
                         " where AssetTransferId= @AssetTransferId";

            using (var db = DbHelper.GetDBConnection())
            {
                using (var trsn = new TransactionScope())
                {
                    //db.Execute(sql);
                    var lst = db.Execute(sql, item);
                    trsn.Complete();
                    db.Close();
                    if (lst > 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
        }
        public ActionResult Create(FormCollection frm)
        {
            var ses               = sesrepo.GetSessionById((User as CustomPrincipal).UserId);
            int orgid             = ses.OrganizationId;
            int uid               = (User as CustomPrincipal).UserId;
            FA_AssetTransfer item = new FA_AssetTransfer();

            item.CategoryId = Convert.ToInt32(frm["CategoryId"]);
            item.AssetId    = Convert.ToInt32(frm["AssetItemId"]);
            FA_Asset assetid1 = db.getAssetId(item.AssetId);

            if (assetid1 != null)
            {
                int assetid = assetid1.AssetId;
            }
            item.OrganizationId  = string.IsNullOrEmpty(frm["OrganizationId1"]) ? 0 : Convert.ToInt32(frm["OrganizationId1"]);
            item.BranchId        = string.IsNullOrEmpty(frm["BranchId1"]) ? 0 : Convert.ToInt32(frm["BranchId1"]);
            item.LocationId      = string.IsNullOrEmpty(frm["LocationId1"]) ? 0 : Convert.ToInt32(frm["LocationId1"]);
            item.TransferDate    = DateTime.ParseExact(frm["TransferDate"], "yyyy-MM-dd", null);
            item.TransferDateBS  = frm["TransferDateBS"];
            item.Remarks         = frm["Remarks"];
            item.AssignedTo      = Convert.ToInt32(frm["AssignedToID"]);
            item.AssignedDate    = DateTime.ParseExact(frm["AssignedDate"], "yyyy-MM-dd", null);
            item.IsReceived      = null;
            item.ReceivedBy      = null;
            item.ReceivedDate    = null;
            item.EnteredBy       = uid;
            item.EnteredDate     = DateTime.Now;
            item.LastUpdatedBy   = null;
            item.LastUpdatedDate = null;
            item.IsDeleted       = false;
            item.DeletedBy       = null;
            item.DeletedDate     = null;
            //item.TransferId = 0;
            item.IsTransfered = 0;
            if (ModelState.IsValid)
            {
                db.InsertAssetTransfer(item);
                AssetTransferVM assetTransid = db.GetAssetTransferId();
                int             assetTraId   = assetTransid.AssetTransferId;
                int             assetId      = assetTransid.AssetId;
                db.UpdateAsset(assetTraId, assetId);
                AssetTransferVM PrevAssetTraId = db.GetAssetTransferSecondLastValue(assetTraId, assetId);
                if (PrevAssetTraId != null)
                {
                    int PrevAssetTransferId = PrevAssetTraId.AssetTransferId;
                    assetId = PrevAssetTraId.AssetId;
                    db.UpdateAssetTransfer(PrevAssetTransferId, assetId, assetTraId);
                }
                return(RedirectToAction("Index"));
            }
            ViewBag.OrganizationId = new SelectList(ddl.GetOrganizationList(), "Id", "Name", item.OrganizationId);
            //ViewBag.AssetItemId = new SelectList(ddl.GetAssetItemList(orgid), "Id", "Name", item.AssetItemId);
            ViewBag.BranchId   = new SelectList(ddl.GetBranchList(orgid), "Id", "Name", item.BranchId);
            ViewBag.LocationId = new SelectList(ddl.GetLocationList(orgid), "Id", "Name", item.LocationId);
            //ViewBag.AccessoryForAssetId = new SelectList(ddl.GetAssetList(orgid), "Id", "Name", item.AccessoryForAssetId);
            return(View(item));
        }
        public ActionResult Edit(FormCollection frm)
        {
            var ses               = sesrepo.GetSessionById((User as CustomPrincipal).UserId);
            int orgid             = ses.OrganizationId;
            FA_AssetTransfer item = db.GetAssetTransferById(Convert.ToInt32(frm["AssetTransferId"]));

            item.AssetTransferId = Convert.ToInt32(frm["AssetTransferId"]);
            item.CategoryId      = Convert.ToInt32(frm["CategoryId"]);

            item.AssetId = string.IsNullOrEmpty(frm["AssetId"]) ? 0 : Convert.ToInt32(frm["AssetId"]);
            int assetItemId = Convert.ToInt32(frm["AssetItemId"]);

            item.OrganizationId = string.IsNullOrEmpty(frm["OrganizationId"]) ? 0 : Convert.ToInt32(frm["OrganizationId"]);
            item.BranchId       = string.IsNullOrEmpty(frm["BranchId"]) ? 0 : Convert.ToInt32(frm["BranchId"]);
            item.LocationId     = string.IsNullOrEmpty(frm["LocationId"]) ? 0 : Convert.ToInt32(frm["LocationId"]);
            item.TransferDate   = DateTime.ParseExact(frm["TransferDate"], "yyyy-MM-dd", null);
            item.TransferDateBS = frm["TransferDateBS"];
            item.Remarks        = frm["Remarks"];
            item.AssignedTo     = Convert.ToInt32(frm["FullName"]);
            item.AssignedDate   = DateTime.ParseExact(frm["AssignedDate"], "yyyy-MM-dd", null);


            item.IsDeleted       = false;
            item.LastUpdatedBy   = (User as CustomPrincipal).UserId;
            item.LastUpdatedDate = DateTime.Now;

            if (ModelState.IsValid)
            {
                db.updateAssetForAssetItem(item.AssetId, assetItemId);
                db.UpdateAssetTransfer(item);
                return(RedirectToAction("Index"));
            }
            //ViewBag.OrganizationId = new SelectList(ddl.GetOrganizationList(), "Id", "Name", item.OrganizationId);
            //ViewBag.CategoryId = new SelectList(ddl.GetAssetCategoryList(orgid), "Id", "Name", item.CategoryId);
            //ViewBag.AssetItemId = new SelectList(ddl.GetAssetItemList(orgid), "Id", "Name", item.AssetItemId);
            //ViewBag.BranchId = new SelectList(ddl.GetBranchList(item.OrganizationId), "Id", "Name", item.BranchId);
            //ViewBag.LocationId = new SelectList(ddl.GetLocationList(item.OrganizationId), "Id", "Name", item.LocationId);
            //ViewBag.FullName = new SelectList(ddl.GetUserList(item.OrganizationId), "Id", "Name", item.UserId);
            return(View(item));
        }