Пример #1
0
        public SysBuyer GetBuyerAddressAndAgentList(string buyerId)
        {
            SysBuyer sysBuyer = new SysBuyer();
            IList <SysBuyerAddress> buyerAddressList = new List <SysBuyerAddress>();
            IList <SysBuyerAgent>   buyerAgentList   = new List <SysBuyerAgent>();

            var buyerid = string.IsNullOrEmpty(buyerId) ? 0 : Convert.ToInt32(buyerId);
            List <Sys_BuyerAddress> searchList = _context.Sys_BuyerAddress.Where(m => m.BuyerID == buyerid).ToList();

            foreach (var buyerAddress in searchList)
            {
                var supaddlist = SetToBussinessObject(buyerAddress);
                buyerAddressList.Add(supaddlist);
            }

            List <Sys_BuyerAgent> buyerAgentEnList = _context.Sys_BuyerAgent.Where(m => m.BuyerID == buyerid).ToList();

            foreach (var buyerAgent in buyerAgentEnList)
            {
                var supAgnt = SetToBussinessObject(buyerAgent);
                buyerAgentList.Add(supAgnt);
            }

            sysBuyer.BuyerAddressList = buyerAddressList;
            sysBuyer.BuyerAgentList   = buyerAgentList;
            return(sysBuyer);
        }
Пример #2
0
        public ActionResult GetBuyerList(string buyer)
        {
            var sysBuyer  = new SysBuyer();
            var buyerList = _dalSlsBuyerOrder.GetBuyerList(buyer);

            sysBuyer.Count     = buyerList.Count > 1 ? 0 : 1;
            sysBuyer.BuyerList = buyerList;
            return(Json(sysBuyer, JsonRequestBehavior.AllowGet));
        }
Пример #3
0
 public ActionResult BuyerAgent(SysBuyer model)
 {
     if (model != null && model.BuyerID != 0)
     {
         _vmMsg = _dalSysBuyer.Update(model, Convert.ToInt32(Session["UserID"]));
     }
     else
     {
         _vmMsg = _dalSysBuyer.Save(model, Convert.ToInt32(Session["UserID"]));
     }
     return(Json(new { BuyerID = _dalSysBuyer.GetBuyerId(), msg = _vmMsg }));
 }
Пример #4
0
        public SysBuyer SetToBussinessObjectBuyerForSearch(Sys_Buyer Entity)
        {
            SysBuyer Model = new SysBuyer();

            Model.BuyerID       = Entity.BuyerID;
            Model.BuyerCode     = Entity.BuyerCode;
            Model.BuyerName     = Entity.BuyerName;
            Model.BuyerCategory = Entity.BuyerCategory;
            Model.BuyerType     = Entity.BuyerType;
            Model.IsActive      = Entity.IsActive == true ? "Active" : "Inactive";

            return(Model);
        }
Пример #5
0
        public SysBuyer SetToBussinessObjectBuyer(Sys_Buyer Entity)
        {
            SysBuyer Model = new SysBuyer();

            Model.BuyerID       = Entity.BuyerID;
            Model.BuyerCode     = Entity.BuyerCode;
            Model.BuyerName     = Entity.BuyerName;
            Model.BuyerCategory = Entity.BuyerCategory;
            Model.BuyerType     = Entity.BuyerType;
            Model.IsActive      = Entity.IsActive == true ? "Active" : "Inactive";
            Model.Address       = _context.Sys_BuyerAddress.Where(q => q.BuyerID == Entity.BuyerID && q.IsActive == true).FirstOrDefault() == null ? null : _context.Sys_BuyerAddress.Where(q => q.BuyerID == Entity.BuyerID && q.IsActive == true).FirstOrDefault().Address;

            return(Model);
        }
Пример #6
0
        private SysBuyer SetToForeignAgentModel(Sys_Buyer entity)
        {
            var model = new SysBuyer();

            model.BuyerID        = entity.BuyerID;
            model.BuyerName      = entity.BuyerName;
            model.BuyerCode      = entity.BuyerCode;
            model.BuyerAddressID =
                _context.Sys_BuyerAddress.FirstOrDefault(ob => ob.BuyerID == entity.BuyerID && ob.IsActive == true)
                .BuyerAddressID.ToString(CultureInfo.InvariantCulture);
            model.Address =
                _context.Sys_BuyerAddress.FirstOrDefault(ob => ob.BuyerID == entity.BuyerID && ob.IsActive == true)
                .Address;
            return(model);
        }
Пример #7
0
        public Sys_Buyer SetToModelObject(SysBuyer model)
        {
            Sys_Buyer Entity = new Sys_Buyer();

            Entity.BuyerID       = model.BuyerID;
            Entity.BuyerCode     = model.BuyerCode;
            Entity.BuyerName     = model.BuyerName;
            Entity.BuyerCategory = model.BuyerCategory;
            Entity.BuyerType     = model.BuyerType;
            Entity.IsActive      = model.IsActive == "Active";
            Entity.SetOn         = DateTime.Now;
            Entity.SetBy         = model.SetBy;
            Entity.IPAddress     = string.Empty;
            return(Entity);
        }
Пример #8
0
        public ActionResult GetBuyerList(string buyer)
        {
            SysBuyer sysBuyer = new SysBuyer();

            var buyerList = _dalSysBuyer.GetBuyerList(buyer);

            if (buyerList.Count > 1)
            {
                sysBuyer.Count = 0;
            }
            else
            {
                sysBuyer.Count = 1;
            }
            sysBuyer.BuyerList = buyerList;
            return(Json(sysBuyer, JsonRequestBehavior.AllowGet));
        }
Пример #9
0
        public ActionResult GetAllBuyer()
        {
            var buyers = _unit.SysBuyerRepository.Get().Where(ob => ob.IsActive == true).ToList();
            var result = new List <SysBuyer>();

            foreach (var buyer in buyers)
            {
                var x = new SysBuyer();
                x.BuyerID   = buyer.BuyerID;
                x.BuyerCode = buyer.BuyerCode;
                x.BuyerName = buyer.BuyerName;
                x.BuyerType = buyer.BuyerType;
                var add = _unit.BuyerAddressRepository.Get().FirstOrDefault(ob => ob.BuyerID == buyer.BuyerID && ob.IsActive == true);
                x.Address = add == null ? "" : add.Address;
                result.Add(x);
            }
            return(Json(result.OrderBy(ob => ob.BuyerName), JsonRequestBehavior.AllowGet));
        }
Пример #10
0
        public ValidationMsg Save(SysBuyer model, int userid)
        {
            _vmMsg = new ValidationMsg();
            try
            {
                using (var tx = new TransactionScope())
                {
                    using (_context)
                    {
                        var exitBuyerCode = _context.Sys_Buyer.Where(m => m.BuyerCode == model.BuyerCode).ToList();
                        if (exitBuyerCode.Count > 0)
                        {
                            _vmMsg.Type = Enums.MessageType.Error;
                            _vmMsg.Msg  = "Buyer Code Already Exit.";
                        }
                        else
                        {
                            #region Buyer

                            model.SetBy = userid;
                            Sys_Buyer tblSysBuyer = SetToModelObject(model);
                            _context.Sys_Buyer.Add(tblSysBuyer);
                            _context.SaveChanges();

                            BuyerID = tblSysBuyer.BuyerID;

                            #endregion

                            #region Save Buyer Address

                            if (model.BuyerAddressList != null)
                            {
                                if (model.BuyerAddressList.Count > 1)
                                {
                                    buyeraddress = 1;
                                }
                                else
                                {
                                    foreach (SysBuyerAddress objSysBuyerAddress in model.BuyerAddressList)
                                    {
                                        objSysBuyerAddress.BuyerID  = BuyerID;
                                        objSysBuyerAddress.SetBy    = userid;
                                        objSysBuyerAddress.IsActive = string.IsNullOrEmpty(objSysBuyerAddress.IsActive) ? "Active" : objSysBuyerAddress.IsActive;
                                        Sys_BuyerAddress tblBuyerAddress = SetToModelObject(objSysBuyerAddress);
                                        _context.Sys_BuyerAddress.Add(tblBuyerAddress);
                                    }

                                    #region Save Buyer Agent

                                    if (model.BuyerAgentList != null)
                                    {
                                        foreach (SysBuyerAgent objBuyerAgent in model.BuyerAgentList)
                                        {
                                            if (objBuyerAgent.BuyerID != 0)
                                            {
                                                if (objBuyerAgent.AgentType == "Local Agent")
                                                {
                                                    ++localAgent;
                                                }
                                                else if (objBuyerAgent.AgentType == "Foreign Agent")
                                                {
                                                    ++foreignAgent;
                                                }
                                                if (localAgent == 1 || foreignAgent == 1)
                                                {
                                                    objBuyerAgent.BuyerAgentID = BuyerID;
                                                    objBuyerAgent.BuyerID      = BuyerID;
                                                    objBuyerAgent.SetBy        = userid;
                                                    objBuyerAgent.IsActive     = string.IsNullOrEmpty(objBuyerAgent.IsActive) ? "Active" : objBuyerAgent.IsActive;
                                                    Sys_BuyerAgent tblSysBuyerAgent = SetToModelObject(objBuyerAgent);
                                                    _context.Sys_BuyerAgent.Add(tblSysBuyerAgent);
                                                }
                                            }
                                        }
                                    }

                                    #endregion

                                    #region Transaction

                                    if (buyeraddress == 1)
                                    {
                                        _vmMsg.Type = Enums.MessageType.Error;
                                        _vmMsg.Msg  = "Please Enter only one Active Buyer Address.";
                                    }

                                    if (localAgent > 1 || foreignAgent > 1)
                                    {
                                        _vmMsg.Type = Enums.MessageType.Error;
                                        _vmMsg.Msg  = "Please Enter Same Agent Type Only Once.";
                                    }

                                    if (buyeraddress == 0 && localAgent == 1 && foreignAgent == 1)
                                    {
                                        _context.SaveChanges();
                                        tx.Complete();
                                        _vmMsg.Type = Enums.MessageType.Success;
                                        _vmMsg.Msg  = "Saved Successfully.";
                                    }
                                    if (buyeraddress == 0 && localAgent == 0 && foreignAgent == 1)
                                    {
                                        _context.SaveChanges();
                                        tx.Complete();
                                        _vmMsg.Type = Enums.MessageType.Success;
                                        _vmMsg.Msg  = "Saved Successfully.";
                                    }
                                    if (buyeraddress == 0 && localAgent == 1 && foreignAgent == 0)
                                    {
                                        _context.SaveChanges();
                                        tx.Complete();
                                        _vmMsg.Type = Enums.MessageType.Success;
                                        _vmMsg.Msg  = "Saved Successfully.";
                                    }
                                    if (buyeraddress == 0 && localAgent == 0 && foreignAgent == 0)
                                    {
                                        _context.SaveChanges();
                                        tx.Complete();
                                        _vmMsg.Type = Enums.MessageType.Success;
                                        _vmMsg.Msg  = "Saved Successfully.";
                                    }

                                    #endregion
                                }
                            }
                            else
                            {
                                _vmMsg.Type = Enums.MessageType.Error;
                                _vmMsg.Msg  = "Please Enter Buyer Address.";
                            }

                            #endregion
                        }
                    }
                }
            }
            catch
            {
                _vmMsg.Type = Enums.MessageType.Error;
                _vmMsg.Msg  = "Failed to save.";
            }
            return(_vmMsg);
        }
Пример #11
0
        public ValidationMsg Update(SysBuyer model, int userid)
        {
            _vmMsg = new ValidationMsg();
            try
            {
                using (var tx = new TransactionScope())
                {
                    using (_context)
                    {
                        Sys_Buyer CurrentEntity  = SetToModelObject(model);
                        var       OriginalEntity = _context.Sys_Buyer.First(m => m.BuyerID == model.BuyerID);

                        OriginalEntity.BuyerID       = CurrentEntity.BuyerID;
                        OriginalEntity.BuyerCode     = CurrentEntity.BuyerCode;
                        OriginalEntity.BuyerName     = CurrentEntity.BuyerName;
                        OriginalEntity.BuyerCategory = CurrentEntity.BuyerCategory;
                        OriginalEntity.BuyerType     = CurrentEntity.BuyerType;
                        OriginalEntity.IsActive      = CurrentEntity.IsActive;
                        OriginalEntity.ModifiedBy    = userid;
                        OriginalEntity.ModifiedOn    = DateTime.Now;

                        //#region Save Buyer Address

                        //if (model.BuyerAddressList != null)
                        //{
                        //    foreach (SysBuyerAddress objbuyerAddress in model.BuyerAddressList)
                        //    {
                        //        if (objbuyerAddress.BuyerAddressID == 0)
                        //        {
                        //            var exitData = _context.Sys_BuyerAddress.Where(m => m.BuyerID == model.BuyerID && m.IsActive == true).ToList();
                        //            if (exitData.Count > 0)
                        //            {
                        //                buyeraddress = 1;
                        //            }
                        //            else
                        //            {
                        //                objbuyerAddress.BuyerID = model.BuyerID;
                        //                objbuyerAddress.SetBy = userid;
                        //                objbuyerAddress.IsActive = string.IsNullOrEmpty(objbuyerAddress.IsActive) ? "Active" : objbuyerAddress.IsActive;
                        //                Sys_BuyerAddress tblPurchaseYearPeriod =
                        //                    SetToModelObject(objbuyerAddress);
                        //                _context.Sys_BuyerAddress.Add(tblPurchaseYearPeriod);
                        //                _context.SaveChanges();
                        //            }
                        //        }
                        //        else
                        //        {
                        //            if (objbuyerAddress.IsActive == "Inactive")
                        //            {
                        //                Sys_BuyerAddress CurEntity = SetToModelObject(objbuyerAddress);
                        //                var OrgEntity =
                        //                    _context.Sys_BuyerAddress.First(
                        //                        m => m.BuyerAddressID == objbuyerAddress.BuyerAddressID);

                        //                OrgEntity.BuyerAddressID = CurEntity.BuyerAddressID;
                        //                OrgEntity.BuyerID = CurEntity.BuyerID;
                        //                OrgEntity.Address = CurEntity.Address;
                        //                OrgEntity.ContactPerson = CurEntity.ContactPerson;
                        //                OrgEntity.ContactNumber = CurEntity.ContactNumber;
                        //                OrgEntity.EmailAddress = CurEntity.EmailAddress;
                        //                OrgEntity.FaxNo = CurEntity.FaxNo;
                        //                OrgEntity.PhoneNo = CurEntity.PhoneNo;
                        //                OrgEntity.SkypeID = CurEntity.SkypeID;
                        //                OrgEntity.IsActive = CurEntity.IsActive;
                        //                OrgEntity.ModifiedBy = userid;
                        //                OrgEntity.ModifiedOn = DateTime.Now;
                        //            }
                        //            else
                        //            {
                        //                var exitData = _context.Sys_BuyerAddress.Where(m => m.BuyerID == model.BuyerID && m.IsActive == true).ToList();
                        //                if (exitData.Count > 0)
                        //                {
                        //                    buyeraddress = 1;
                        //                }
                        //                else
                        //                {
                        //                    Sys_BuyerAddress CurEntity = SetToModelObject(objbuyerAddress);
                        //                    var OrgEntity =
                        //                        _context.Sys_BuyerAddress.First(
                        //                            m => m.BuyerAddressID == objbuyerAddress.BuyerAddressID);

                        //                    OrgEntity.BuyerAddressID = CurEntity.BuyerAddressID;
                        //                    OrgEntity.BuyerID = CurEntity.BuyerID;
                        //                    OrgEntity.Address = CurEntity.Address;
                        //                    OrgEntity.ContactPerson = CurEntity.ContactPerson;
                        //                    OrgEntity.ContactNumber = CurEntity.ContactNumber;
                        //                    OrgEntity.EmailAddress = CurEntity.EmailAddress;
                        //                    OrgEntity.FaxNo = CurEntity.FaxNo;
                        //                    OrgEntity.PhoneNo = CurEntity.PhoneNo;
                        //                    OrgEntity.SkypeID = CurEntity.SkypeID;
                        //                    OrgEntity.IsActive = CurEntity.IsActive;
                        //                    OrgEntity.ModifiedBy = userid;
                        //                    OrgEntity.ModifiedOn = DateTime.Now;
                        //                }
                        //            }
                        //        }
                        //    }
                        //}

                        //#endregion

                        #region Save Buyer Address

                        if (model.BuyerAddressList != null)
                        {
                            foreach (SysBuyerAddress objbuyerAddress in model.BuyerAddressList)
                            {
                                if (objbuyerAddress.BuyerAddressID == 0)
                                {
                                    var exitData = _context.Sys_BuyerAddress.Where(m => m.BuyerID == model.BuyerID && m.IsActive == true).ToList();
                                    if (exitData.Count > 0)
                                    {
                                        buyeraddress = 1;
                                    }
                                    else
                                    {
                                        objbuyerAddress.BuyerID  = model.BuyerID;
                                        objbuyerAddress.SetBy    = userid;
                                        objbuyerAddress.IsActive = string.IsNullOrEmpty(objbuyerAddress.IsActive) ? "Active" : objbuyerAddress.IsActive;
                                        Sys_BuyerAddress tblPurchaseYearPeriod = SetToModelObject(objbuyerAddress);
                                        _context.Sys_BuyerAddress.Add(tblPurchaseYearPeriod);
                                        _context.SaveChanges();
                                    }
                                }
                                else
                                {
                                    if (objbuyerAddress.IsActive == "Inactive")
                                    {
                                        Sys_BuyerAddress CurEntity = SetToModelObject(objbuyerAddress);
                                        var OrgEntity = _context.Sys_BuyerAddress.First(m => m.BuyerAddressID == objbuyerAddress.BuyerAddressID);

                                        OrgEntity.BuyerAddressID = CurEntity.BuyerAddressID;
                                        OrgEntity.BuyerID        = CurEntity.BuyerID;
                                        OrgEntity.Address        = CurEntity.Address;
                                        OrgEntity.ContactPerson  = CurEntity.ContactPerson;
                                        OrgEntity.ContactNumber  = CurEntity.ContactNumber;
                                        OrgEntity.EmailAddress   = CurEntity.EmailAddress;
                                        OrgEntity.FaxNo          = CurEntity.FaxNo;
                                        OrgEntity.PhoneNo        = CurEntity.PhoneNo;
                                        OrgEntity.SkypeID        = CurEntity.SkypeID;
                                        OrgEntity.IsActive       = CurEntity.IsActive;
                                        OrgEntity.ModifiedBy     = userid;
                                        OrgEntity.ModifiedOn     = DateTime.Now;
                                    }
                                    else
                                    {
                                        var exitData = _context.Sys_BuyerAddress.Where(m => m.BuyerID == model.BuyerID && m.IsActive == true).ToList();
                                        if ((exitData.Count > 0) && (model.BuyerAddressList.Count > 1))
                                        //if (exitData.Count > 0)
                                        {
                                            buyeraddress = 1;
                                        }
                                        else
                                        {
                                            Sys_BuyerAddress CurEntity = SetToModelObject(objbuyerAddress);
                                            var OrgEntity = _context.Sys_BuyerAddress.First(m => m.BuyerAddressID == objbuyerAddress.BuyerAddressID);

                                            OrgEntity.BuyerAddressID = CurEntity.BuyerAddressID;
                                            OrgEntity.BuyerID        = CurEntity.BuyerID;
                                            OrgEntity.Address        = CurEntity.Address;
                                            OrgEntity.ContactPerson  = CurEntity.ContactPerson;
                                            OrgEntity.ContactNumber  = CurEntity.ContactNumber;
                                            OrgEntity.EmailAddress   = CurEntity.EmailAddress;
                                            OrgEntity.FaxNo          = CurEntity.FaxNo;
                                            OrgEntity.PhoneNo        = CurEntity.PhoneNo;
                                            OrgEntity.SkypeID        = CurEntity.SkypeID;
                                            OrgEntity.IsActive       = CurEntity.IsActive;
                                            OrgEntity.ModifiedBy     = userid;
                                            OrgEntity.ModifiedOn     = DateTime.Now;
                                        }
                                    }
                                }
                            }
                        }

                        #endregion

                        #region Save Buyer Agent

                        if (model.BuyerAgentList != null)
                        {
                            foreach (SysBuyerAgent objBuyerAgent in model.BuyerAgentList)
                            {
                                if (objBuyerAgent.BuyerAgentID == 0)
                                {
                                    if (objBuyerAgent.BuyerID != 0)
                                    {
                                        if (objBuyerAgent.AgentType == "Local Agent")
                                        {
                                            ++localAgent;
                                            var exitData = _context.Sys_BuyerAgent.Where(m => m.BuyerID == model.BuyerID && m.IsActive == true && m.AgentType == "Local Agent").ToList();
                                            if (exitData.Count > 0)
                                            {
                                                ++localAgent;
                                            }
                                        }
                                        else if (objBuyerAgent.AgentType == "Foreign Agent")
                                        {
                                            ++foreignAgent;
                                            var exitData = _context.Sys_BuyerAgent.Where(m => m.BuyerID == model.BuyerID && m.IsActive == true && m.AgentType == "Foreign Agent").ToList();
                                            if (exitData.Count > 0)
                                            {
                                                ++foreignAgent;
                                            }
                                        }
                                        if (localAgent == 1 || foreignAgent == 1)
                                        {
                                            objBuyerAgent.BuyerID  = model.BuyerID;
                                            objBuyerAgent.SetBy    = userid;
                                            objBuyerAgent.IsActive = string.IsNullOrEmpty(objBuyerAgent.IsActive) ? "Active" : objBuyerAgent.IsActive;
                                            Sys_BuyerAgent tblSysBuyerAgent = SetToModelObject(objBuyerAgent);
                                            _context.Sys_BuyerAgent.Add(tblSysBuyerAgent);
                                        }
                                    }
                                }
                                else
                                {
                                    if (objBuyerAgent.AgentType == "Local Agent")
                                    {
                                        ++localAgent;
                                    }
                                    else if (objBuyerAgent.AgentType == "Foreign Agent")
                                    {
                                        ++foreignAgent;
                                    }
                                    if (localAgent == 1 || foreignAgent == 1)
                                    {
                                        Sys_BuyerAgent CurEntity = SetToModelObject(objBuyerAgent);
                                        var            OrgEntity =
                                            _context.Sys_BuyerAgent.First(
                                                m => m.BuyerAgentID == objBuyerAgent.BuyerAgentID);

                                        OrgEntity.BuyerAgentID = CurEntity.BuyerAgentID;
                                        OrgEntity.AgentID      = CurEntity.AgentID;
                                        OrgEntity.BuyerID      = CurEntity.BuyerID;
                                        OrgEntity.AgentType    = CurEntity.AgentType;
                                        OrgEntity.IsActive     = CurEntity.IsActive;
                                        OrgEntity.ModifiedBy   = userid;
                                        OrgEntity.ModifiedOn   = DateTime.Now;
                                    }
                                }
                            }
                        }

                        #endregion

                        if (buyeraddress == 1)
                        {
                            _vmMsg.Type = Enums.MessageType.Error;
                            _vmMsg.Msg  = "Please Enter only one Active Buyer Address.";
                        }

                        if (localAgent > 1 || foreignAgent > 1)
                        {
                            _vmMsg.Type = Enums.MessageType.Error;
                            _vmMsg.Msg  = "Please Enter Same Agent Type Only Once.";
                        }

                        if (buyeraddress == 0 && localAgent == 1 && foreignAgent == 1)
                        {
                            _context.SaveChanges();
                            tx.Complete();
                            _vmMsg.Type = Enums.MessageType.Update;
                            _vmMsg.Msg  = "Updated Successfully.";
                        }

                        if (buyeraddress == 0 && localAgent == 0 && foreignAgent == 1)
                        {
                            _context.SaveChanges();
                            tx.Complete();
                            _vmMsg.Type = Enums.MessageType.Update;
                            _vmMsg.Msg  = "Updated Successfully.";
                        }

                        if (buyeraddress == 0 && localAgent == 1 && foreignAgent == 0)
                        {
                            _context.SaveChanges();
                            tx.Complete();
                            _vmMsg.Type = Enums.MessageType.Update;
                            _vmMsg.Msg  = "Updated Successfully.";
                        }
                        if (buyeraddress == 0 && localAgent == 0 && foreignAgent == 0)
                        {
                            _context.SaveChanges();
                            tx.Complete();
                            _vmMsg.Type = Enums.MessageType.Update;
                            _vmMsg.Msg  = "Updated Successfully.";
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                if (ex.InnerException.InnerException.Message.Contains("UNIQUE KEY"))
                {
                    _vmMsg.Type = Enums.MessageType.Error;
                    _vmMsg.Msg  = "Buyer Code Already Exit..";
                }
                else
                {
                    _vmMsg.Type = Enums.MessageType.Error;
                    _vmMsg.Msg  = "Failed to Update.";
                }
            }
            return(_vmMsg);
        }