Пример #1
0
        public async Task <String> lockRec(int id)
        {
            var         session = HttpContext.Current.Session;
            UserViewDTO user    = (UserViewDTO)session["user"];
            var         tbl     = await db.tblSaleOrders.FirstOrDefaultAsync(x => x.id == id);

            if (tbl == null)
            {
                return("Sale Order not found !");
            }

            if (tbl.slor_LockBy != null)
            {
                if (tbl.slor_LockBy != user.id)
                {
                    var _u = await db.tblUsers.FirstOrDefaultAsync(x => x.id == tbl.slor_LockBy);

                    if (_u != null)
                    {
                        return("Record is currently in use by " + _u.userName + " !");
                    }
                }
            }
            tbl.slor_LockBy = user.id;
            tbl.slor_LockOn = DateTime.Now;
            await db.SaveChangesAsync();

            return("True");
        }
Пример #2
0
        // edit user
        public ActionResult Edit(int ID, string userName, string password, int userLevel, string userEmail)
        {
            UserViewDTO userView = new UserViewDTO(ID, userName, password, userLevel, userEmail);

            ViewData["User"] = userView;
            return(View());
        }
Пример #3
0
        //-> SelectByID
        public async Task <CustomerViewDTO> SelectByID(int id)
        {
            var         session = HttpContext.Current.Session;
            UserViewDTO user    = (UserViewDTO)session["user"];
            int         _user   = 0;

            if (user != null)
            {
                _user = user.id;
                if (user.user_Profile == 1)
                {
                    _user = -1;
                }
            }

            var record = await db.tblCustomers.FirstOrDefaultAsync(x => x.deleted == null && x.id == id &&
                                                                   (_user == -1? 1 == 1 : _user == x.cust_UserID)
                                                                   );

            if (record == null)
            {
                return(new CustomerViewDTO());
            }
            return(MappingHelper.MapDBClassToDTO <tblCustomer, CustomerViewDTO>(record));
        }
Пример #4
0
 // save user after editing
 public ActionResult saveUser(UserViewDTO userView)
 {
     if (userView.UserName == null || userView.Password == null || userView.UserLevel == 0 || userView.UserEmail == null || userView.UID == 0)
     {
         ViewData["User"] = userView;
         return(View("Edit"));
     }
     else
     {
         UserWSReference.UserDTO user = new UserWSReference.UserDTO
         {
             UID       = userView.UID,
             UserName  = userView.UserName,
             Password  = userView.Password,
             UserLevel = userView.UserLevel,
             UserEmail = userView.UserEmail
         };
         if (userClient.IsUserUpdated(user))
         {
             return(RedirectToAction("Index"));
         }
         else
         {
             return(View("Edit"));
         }
     }
 }
Пример #5
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);


            /*
             * var controllerName = filterContext.RouteData.Values["controller"].ToString();
             * var actionName = filterContext.RouteData.Values["action"].ToString();
             * if (controllerName == "Foo" && actionName == "Bar")
             * {
             *  return;
             * }
             */
            var         session = filterContext.HttpContext.Session;
            UserViewDTO user    = (UserViewDTO)session["user"];

            if (session == null || user == null)
            {
                RedirectToLogin(filterContext);
            }
            else
            {
                var isValidSession = new AuthHandler().IsValidSession(user);
                if (isValidSession == false)
                {
                    RedirectToLogin(filterContext);
                }
                else
                {
                    return;
                }
            }
        }
Пример #6
0
        public ActionResult EditUsers()
        {
            var Roles      = roleManager.GetAll();
            var CustomView = new UserViewDTO()
            {
                Roles = Roles
            };

            ModelState.Clear();
            return(View(CustomView));
        }
Пример #7
0
        //-> IsValidSession
        public bool IsValidSession(UserViewDTO userDTO)
        {
            //var session = EncryptString(userDTO.session);
            var session = CryptingHelper.EncryptString(userDTO.session);
            var user    = db.tblUsers.FirstOrDefault(x => x.deleted == null && x.id == userDTO.id && x.session == session);

            if (user == null)
            {
                return(false);
            }
            return(true);
        }
Пример #8
0
 public ObjectResult GetById([FromRoute] int id)
 {
     try
     {
         UserViewDTO user = _service.GetById(id);
         return(Ok(user));
     }
     catch (UserNotFoundException ex)
     {
         return(NotFound(ex.Message));
     }
     catch (Exception ex)
     {
         return(StatusCode(500, $"Ocorreu um erro inesperado: {ex.Message}"));
     }
 }
Пример #9
0
 // add user to database
 public ActionResult AddUser(UserViewDTO userView)
 {
     UserWSReference.UserDTO user = new UserWSReference.UserDTO
     {
         UID       = userView.UID,
         UserName  = userView.UserName,
         Password  = userView.Password,
         UserLevel = userView.UserLevel,
         UserEmail = userView.UserEmail
     };
     if (userClient.IsUserInserted(user))
     {
         return(RedirectToAction("Index"));
     }
     else
     {
         return(RedirectToAction("Create"));
     }
 }
Пример #10
0
        //-> New
        public async Task <CustomerViewDTO> New(CustomerNewDTO newDTO)
        {
            var         session = HttpContext.Current.Session;
            UserViewDTO user    = (UserViewDTO)session["user"];

            if (user != null)
            {
                newDTO.cust_UserID = user.id;
            }
            newDTO = StringHelper.TrimStringProperties(newDTO);
            var record = (tblCustomer)MappingHelper.MapDTOToDBClass <CustomerNewDTO, tblCustomer>(newDTO, new tblCustomer());

            record.createdDate = DateTime.Now;
            db.tblCustomers.Add(record);

            await db.SaveChangesAsync();

            db.Entry(record).Reload();
            return(await SelectByID(record.id));
        }
Пример #11
0
        //-> Save
        public async Task <SaleOrderViewDTO> Edit(SaleOrderEditDTO editDTO)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    editDTO              = StringHelper.TrimStringProperties(editDTO);
                    editDTO.date         = editDTO.date.ToDBDate();
                    editDTO.requiredDate = editDTO.requiredDate.ToDBDate();
                    var record = await db.tblSaleOrders.FirstOrDefaultAsync(r => r.deleted == null && r.id == editDTO.id);

                    if (record == null)
                    {
                        throw new HttpException((int)HttpStatusCode.NotFound, "NotFound");
                    }
                    editDTO.updatedDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm");
                    record             = (tblSaleOrder)MappingHelper.MapDTOToDBClass <SaleOrderEditDTO, tblSaleOrder>(editDTO, record);
                    record.updatedDate = DateTime.Now;
                    var         session = HttpContext.Current.Session;
                    UserViewDTO user    = (UserViewDTO)session["user"];
                    if (user != null)
                    {
                        record.updatedBy = user.id;
                    }
                    record.slor_LockBy = null;
                    record.slor_LockOn = null;
                    var lineItems = await EditLineItem(record.id, editDTO);

                    record.total = lineItems.Sum(item => item.total);
                    await db.SaveChangesAsync();

                    transaction.Commit();
                    return(await SelectByID(record.id));
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw new Exception(ex.Message);
                }
            }
        }
Пример #12
0
        public async Task <vSaleOrderDTO> SelectByIDList(int id)
        {
            var         session = HttpContext.Current.Session;
            UserViewDTO user    = (UserViewDTO)session["user"];
            int         _user   = 0;

            if (user != null)
            {
                _user = user.id;
                if (user.user_Profile == 1)
                {
                    _user = -1;
                }
            }
            else
            {
                return(new vSaleOrderDTO());
            }

            var record = await db.vSaleOrders.FirstOrDefaultAsync(x => x.slor_Deleted == null && x.slor_SaleOrderID == id
                                                                  //var record = await db.vSaleOrders.FirstOrDefaultAsync(x => x.slor_Deleted == null && x.slor_SaleOrderID == id &&
                                                                  //&&(_user == -1 ? 1 == 1 : _user == x.cust_UserID)
                                                                  );

            if (record == null)
            {
                return(new vSaleOrderDTO());
            }
            //throw new HttpException((int)HttpStatusCode.NotFound, "NotFound");



            var saleOrderDTO = MappingHelper.MapDBClassToDTO <vSaleOrder, vSaleOrderDTO>(record);

            //saleOrderDTO.customer = await new CustomerHandler().SelectByID(int.Parse(record.customerID.ToString()));
            //saleOrderDTO.items = await GetLineItems(id);
            return(saleOrderDTO);
        }
Пример #13
0
        //-> New
        public async Task <SaleOrderViewDTO> New(SaleOrderNewDTO newDTO)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    var         session = HttpContext.Current.Session;
                    UserViewDTO user    = (UserViewDTO)session["user"];
                    if (user != null)
                    {
                        newDTO.slor_UserID = user.id;
                    }
                    newDTO              = StringHelper.TrimStringProperties(newDTO);
                    newDTO.date         = newDTO.date.ToDBDate();
                    newDTO.requiredDate = newDTO.requiredDate.ToDBDate();
                    var record = (tblSaleOrder)MappingHelper.MapDTOToDBClass <SaleOrderNewDTO, tblSaleOrder>(newDTO, new tblSaleOrder());
                    record.createdDate = DateTime.Now;
                    record.createdBy   = user.id;

                    db.tblSaleOrders.Add(record);
                    await db.SaveChangesAsync();

                    var lineItems = await SaveLineItem(record.id, newDTO);

                    record.total = lineItems.Sum(item => item.total);
                    await db.SaveChangesAsync();

                    db.Entry(record).Reload();
                    transaction.Commit();
                    return(await SelectByID(record.id));
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw new Exception(ex.Message);
                }
            }
        }
Пример #14
0
        //-> GetList
        public async Task <GetListDTO <CustomerViewDTO> > GetList(CustomerFindDTO findDTO)
        {
            var         session = HttpContext.Current.Session;
            UserViewDTO user    = (UserViewDTO)session["user"];
            int         _user   = 0;

            if (user != null)
            {
                _user = user.id;
                if (user.user_Profile == 1)
                {
                    _user = -1;
                }
            }

            IQueryable <tblCustomer> query = db.tblCustomers.Where(x => x.deleted == null);

            if (!string.IsNullOrEmpty(findDTO.code))
            {
                query = query.Where(x => x.code.StartsWith(findDTO.code));
            }
            if (!string.IsNullOrEmpty(findDTO.firstName))
            {
                query = query.Where(x => x.firstName.StartsWith(findDTO.firstName));
            }
            if (!string.IsNullOrEmpty(findDTO.lastName))
            {
                query = query.Where(x => x.lastName.StartsWith(findDTO.lastName));
            }
            if (_user != -1)
            {
                query = query.Where(x => x.cust_UserID == _user);
            }
            query = query.AsQueryable().OrderBy($"{findDTO.orderBy} {findDTO.orderDirection}");

            return(await ListingHandler(findDTO.currentPage, query));
        }
Пример #15
0
        //-> GetList SaleOrderTabPaging
        public async Task <GetListDTO <vSaleOrderDTO> > SaleOrderTabPaging(int customerID, int currentPage)
        {
            /*
             * IQueryable<tblSaleOrder> records = from s in db.tblSaleOrders
             *                                 join c in db.tblCustomers on s.customerID equals c.id
             *                                 where s.deleted == null && s.customerID == customerID
             *                                 orderby s.id ascending
             *                                 select s;
             * var saleOrderHandler = new SaleOrderHandler();
             * return await saleOrderHandler.Listing(currentPage, records);
             */
            var         session = HttpContext.Current.Session;
            UserViewDTO user    = (UserViewDTO)session["user"];
            int         _user   = 0;

            if (user != null)
            {
                _user = user.id;
                if (user.user_Profile == 1)
                {
                    _user = -1;
                }
            }

            /*
             * IQueryable<tblSaleOrder> records = from s in db.tblSaleOrders
             *                                 join c in db.tblCustomers on s.customerID equals c.id
             *                                 where s.deleted == null && s.customerID == customerID
             *                                 && (_user == -1 ? 1==1 : _user == s.slor_UserID)
             *                                 orderby s.id ascending
             *                                 select s;*/
            var records = db.vSaleOrders.Where(x => x.slor_Deleted == null &&
                                               (_user == -1 ? 1 == 1 : _user == x.slor_UserID)).OrderBy(x => x.slor_SaleOrderID);
            var saleOrderHandler = new SaleOrderHandler();

            return(await saleOrderHandler.ListingHandler(currentPage, records));
        }
Пример #16
0
        public async Task <OperationDetails> CreateUserViewAsync(UserViewDTO userViewDto, OperationDetails MessageSuccess, OperationDetails MessageFail)

        {
            var resultAddressCreate = await AddressService.CreateAddressAsync
                                      (
                userViewDto.AddressView.Address,
                new AddressMessageSpecification().ToSuccessCreateMessage(),
                new AddressMessageSpecification().ToFailCreateMessage()
                                      );

            string addressId = resultAddressCreate.Id;

            userViewDto.Person.AddressID = Convert.ToInt32(addressId);

            OperationDetails UserOperationDetails = await service.CreateAccountUserAsync
                                                    (
                userViewDto.Person,
                MessageSuccess,
                MessageFail,
                new UserEquelSpecification(userViewDto.Person).ToExpression()
                                                    );

            return(UserOperationDetails);
        }
Пример #17
0
 public void InsertTextBoxClientInformation(UserViewDTO user)
 {
     PersonViewModel = PersonViewModel ?? new PersonPropertyViewModel <UserDTO>(user);
     PersonViewModel.InsertComboboxPersonInformation(user.Person);
     PersonViewModel.AddressViewModel.InsertComboboxAddressInformation(user.AddressView);
 }
 public async Task <string> CreateUser(UserViewDTO userViewDto)
 {
     return((await new SendToServerService <OperationDetails, UserViewDTO>().PostDataByJsonObjectAsync("User/CreateUserViewAsync", userViewDto)).Result.Id);
 }
 public async Task <OperationDetails> CreateUserViewAsync(UserViewDTO userViewDto)
 {
     return(await userService.CreateUserViewAsync(userViewDto,
                                                  new UserMessageSpecification().ToSuccessCreateMessage(),
                                                  new UserMessageSpecification().ToFailCreateMessage()));
 }
Пример #20
0
        //-> SelectByID
        public async Task <SaleOrderViewDTO> SelectByID(int id, bool _lock = false)
        {
            var         session = HttpContext.Current.Session;
            UserViewDTO user    = (UserViewDTO)session["user"];
            int         _user   = 0;

            if (user != null)
            {
                _user = user.id;
                if (user.user_Profile == 1)
                {
                    _user = -1;
                }
            }
            else
            {
                return(new SaleOrderViewDTO());
            }

            var record = await db.tblSaleOrders.FirstOrDefaultAsync(x => x.deleted == null && x.id == id
                                                                    //var record = await db.vSaleOrders.FirstOrDefaultAsync(x => x.slor_Deleted == null && x.slor_SaleOrderID == id &&
                                                                    //&&(_user == -1 ? 1 == 1 : _user == x.cust_UserID)
                                                                    );

            if (_user != -1)
            {
                var cust = await db.tblCustomers.FirstOrDefaultAsync(x => x.id == record.customerID);

                if (cust != null)
                {
                    if (cust.cust_UserID != _user)
                    {
                        return(new SaleOrderViewDTO());
                    }
                }
            }
            if (record == null)
            {
                return(new SaleOrderViewDTO());
            }
            //throw new HttpException((int)HttpStatusCode.NotFound, "NotFound");



            if (_lock)
            {
                if (record.slor_LockBy != null)
                {
                    if (record.slor_LockBy != user.id)
                    {
                        var tt = new SaleOrderViewDTO();
                        tt.status = "_inuse";
                        tt.code   = record.code;
                        var _u = await db.tblUsers.FirstOrDefaultAsync(x => x.id == record.slor_LockBy);

                        if (_u != null)
                        {
                            tt.product = _u.userName;
                        }
                        return(tt);
                    }
                }

                record.slor_LockBy = user.id;
                record.slor_LockOn = DateTime.Now;
                await db.SaveChangesAsync();
            }

            var saleOrderDTO = MappingHelper.MapDBClassToDTO <tblSaleOrder, SaleOrderViewDTO>(record);

            saleOrderDTO.customer = await new CustomerHandler().SelectByID(int.Parse(record.customerID.ToString()));
            saleOrderDTO.items    = await GetLineItems(id);

            return(saleOrderDTO);
        }
Пример #21
0
        //-> GetList
        public async Task <GetListDTO <vSaleOrderDTO> > GetList(SaleOrderFindDTO findDTO)
        {
            /*
             * IQueryable<tblSaleOrder> records = from s in db.tblSaleOrders
             *                                 join c in db.tblCustomers on s.customerID equals c.id
             *                                 where s.deleted == null
             *                                 && (string.IsNullOrEmpty(findDTO.code) ? 1 == 1 : s.code.Contains(findDTO.code))
             *                                 && (string.IsNullOrEmpty(findDTO.status) ? 1 == 1 : s.status == findDTO.status)
             *                                 && (string.IsNullOrEmpty(findDTO.customer) ? 1 == 1 : c.firstName.Contains(findDTO.customer))
             *                                 orderby s.id ascending
             *                                 select s;
             *
             * return await Listing(findDTO.currentPage, records);
             */

            var         session = HttpContext.Current.Session;
            UserViewDTO user    = (UserViewDTO)session["user"];
            int         _user   = 0;

            if (user != null)
            {
                _user = user.id;
                if (user.user_Profile == 1)
                {
                    _user = -1;
                }
            }

            /*
             * IQueryable<SaleOrderFindResultDTO> query = from s in db.vSaleOrders
             *                                         //join c in db.tblCustomers on s.cust_CustomerID equals c.id
             *                                         where s.slor_Deleted == null
             *                                         && (string.IsNullOrEmpty(findDTO.code) ? 1 == 1 : s.cust_Code.Contains(findDTO.code))
             *                                         && (string.IsNullOrEmpty(findDTO.status) ? 1 == 1 : s.slor_Status == findDTO.status)
             *                                         && (string.IsNullOrEmpty(findDTO.customer) ? 1 == 1 : s.cust_FirstName.Contains(findDTO.customer))
             *                                         && (findDTO.customerID == 0 ? 1 == 1 : s.cust_CustomerID == findDTO.customerID)
             *                                         //&& (_user == -1 ? 1 == 1 : c.cust_UserID == _user)
             *                                         select new SaleOrderFindResultDTO
             *                                         {
             *                                             id = s.slor_SaleOrderID,
             *                                             code = s.slor_Code,
             *                                             date = s.slor_Date,
             *                                             firstName = s.cust_FirstName,
             *                                             total = s.slor_Total,
             *                                             status = s.slor_Status
             *                                         };
             */
            //return await Listing(findDTO.currentPage, records);


            var query = db.vSaleOrders.Where(x => x.slor_Deleted == null &&
                                             (string.IsNullOrEmpty(findDTO.code) ? 1 == 1                    : x.cust_Code.Contains(findDTO.code)) &&
                                             (string.IsNullOrEmpty(findDTO.status) ? 1 == 1                  : x.slor_Status == findDTO.status) &&
                                             (string.IsNullOrEmpty(findDTO.customer) ? 1 == 1                : x.cust_FirstName.Contains(findDTO.customer) || x.cust_LastName.Contains(findDTO.customer)) &&
                                             (string.IsNullOrEmpty(findDTO.slor_SourceOfSupply) ? 1 == 1     : x.slor_SourceOfSupply.ToString() == findDTO.slor_SourceOfSupply) &&
                                             (string.IsNullOrEmpty(findDTO.slor_TruckNo) ? 1 == 1            : x.slor_TruckNo.Contains(findDTO.slor_TruckNo)) &&
                                             (string.IsNullOrEmpty(findDTO.slor_DocNo) ? 1 == 1              : x.slor_DocNo.Contains(findDTO.slor_DocNo)) &&
                                             (string.IsNullOrEmpty(findDTO.slor_ShipmentNo) ? 1 == 1         : x.slor_ShipmentNo.Contains(findDTO.slor_ShipmentNo)) &&
                                             (string.IsNullOrEmpty(findDTO.slor_TruckDriverPhoneNo) ? 1 == 1 : x.slor_TruckDriverPhoneNo.Contains(findDTO.slor_TruckDriverPhoneNo)) &&
                                             (string.IsNullOrEmpty(findDTO.slor_Code) ? 1 == 1 : x.slor_Code.Contains(findDTO.slor_Code)) &&
                                             (string.IsNullOrEmpty(findDTO.slor_SONo) ? 1 == 1 : x.slor_SONo.Contains(findDTO.slor_SONo)) &&
                                             (string.IsNullOrEmpty(findDTO.shipMode) ? 1 == 1 : x.slor_ShipConidtion.Contains(findDTO.shipMode)) &&
                                             (findDTO.customerID == 0 ? 1 == 1                               : x.cust_CustomerID == findDTO.customerID)
                                             );


            DateTime?fromDate = null;
            DateTime?toDate   = null;


            if (!string.IsNullOrEmpty(findDTO.slor_RequiredDate_From) && !string.IsNullOrEmpty(findDTO.slor_RequiredDate_To))
            {
                fromDate = DateTime.ParseExact(findDTO.slor_RequiredDate_From, ConstantHelper.ddMMyyyy_DASH_SEPARATOR, CultureInfo.InvariantCulture);
                toDate   = DateTime.ParseExact(findDTO.slor_RequiredDate_To, ConstantHelper.ddMMyyyy_DASH_SEPARATOR, CultureInfo.InvariantCulture);
            }

            if (!string.IsNullOrEmpty(findDTO.slor_RequiredDate_From) && !string.IsNullOrEmpty(findDTO.slor_RequiredDate_To))
            {
                query = query.Where(x => DbFunctions.TruncateTime(x.slor_RequiredDate) >= DbFunctions.TruncateTime(fromDate) && DbFunctions.TruncateTime(x.slor_RequiredDate) <= DbFunctions.TruncateTime(toDate));
            }



            return(await ListingHandler(findDTO.currentPage, query.AsQueryable().OrderBy($"{findDTO.orderBy} {findDTO.orderDirection}")));
        }
Пример #22
0
        public async Task <String> QEdit(int id, string p1, string p2, string p3, string p4, string p5, string p6, string p7, string p8, string p9, string p10, string p11, string p12)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    var record = await db.tblSaleOrders.FirstOrDefaultAsync(r => r.deleted == null && r.id == id);

                    if (record == null)
                    {
                        return("Sale Order not found !");
                    }



                    //newDTO.requiredDate = newDTO.requiredDate.ToDBDate();

                    record.updatedDate = DateTime.Now;
                    //record.slor_DocNo = p1;
                    record.requiredDate = DateTime.ParseExact(p1, ConstantHelper.ddMMyyyy_DASH_SEPARATOR, CultureInfo.InvariantCulture);
                    if (string.IsNullOrEmpty(p2))
                    {
                        record.sourceOfSupplyID = null;
                    }
                    else
                    {
                        record.sourceOfSupplyID = int.Parse(p2);
                    }
                    record.slor_TruckNo            = p3;
                    record.slor_TruckDriverPhoneNo = p4;
                    record.slor_DocNo      = p5;
                    record.slor_ShipmentNo = p6;
                    //record.slor_ShipmentNo = p2;
                    record.status = p8;
                    var         session = HttpContext.Current.Session;
                    UserViewDTO user    = (UserViewDTO)session["user"];
                    if (user != null)
                    {
                        if (p8 == "Processed")
                        {
                            record.slor_Status1By   = user.id;
                            record.slor_Status1Date = DateTime.Now;
                        }
                        if (p8 == "Complete")
                        {
                            record.slor_Status2By   = user.id;
                            record.slor_Status2Date = DateTime.Now;
                        }
                        if (p8 == "Cancelled")
                        {
                            record.slor_Status3By   = user.id;
                            record.slor_Status3Date = DateTime.Now;
                        }
                        if (p8 == "Rejected")
                        {
                            record.slor_Status4By   = user.id;
                            record.slor_Status4Date = DateTime.Now;
                        }
                        if (p8 == "Insufficient balance")
                        {
                            record.slor_Status5By   = user.id;
                            record.slor_Status5Date = DateTime.Now;
                        }
                        if (p8 == "Pending")
                        {
                            record.slor_Status6By   = user.id;
                            record.slor_Status6Date = DateTime.Now;
                        }
                    }
                    record.pickUp = (string.IsNullOrEmpty(p9) ? null : p9);

                    record.slor_TransportZone = p10;
                    record.slor_SONo          = p11;
                    record.slor_ShipConidtion = p12;
                    record.slor_LockBy        = null;
                    record.slor_LockOn        = null;

                    if (user != null)
                    {
                        record.updatedBy = user.id;
                    }
                    await db.SaveChangesAsync();

                    transaction.Commit();


                    return("True");
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw new Exception(ex.Message);
                }
            }
        }