Пример #1
0
        /// <summary>
        /// Preview archive fragments
        /// </summary>
        /// <param name="camera">Selected camera</param>
        /// <returns></returns>
        /// <remarks>
        /// TODO: Improve performance. Solve freeze behavior.
        /// </remarks>
        private async Task InitFragmentsAsync(CameraViewModel camera)
        {
            try
            {
                _fragments.Clear();
                camera.Model.Fragments.Clear();

                DateTime dateEnd   = DateTime.Now.ToUniversalTime();
                DateTime dateStart = new DateTime(year: dateEnd.Year - 1,
                                                  month: dateEnd.Month,
                                                  day: dateEnd.Day,
                                                  hour: dateEnd.Hour,
                                                  minute: dateEnd.Minute,
                                                  second: dateEnd.Second);

                string      url = _spec.GetArchiveUrl(camera.Model, dateStart, dateEnd);
                XmlDocument doc = await SpecificationModel.GetXmlDocAsync(url);

                await camera.Model.InitFragments(doc);

                foreach (ArchiveFragment f in camera.Model.Fragments)
                {
                    _fragments.Add(new ArchiveFragmentViewModel(f.FromTime, f.ToTime));
                }
            }
            catch (InvalidOperationException e)
            {
                System.Diagnostics.Debug.WriteLine(e.Message);
            }
        }
Пример #2
0
        public async Task PUT_Updates_Data()
        {
            var controller = new SpecificationsController(Context);

            ConfigureRequest(controller);

            var item = SetupContext();

            var model = new SpecificationModel
            {
                Id            = item.ItemId,
                UnitOfMeasure = new UnitOfMeasureModel
                {
                    Id = Context.UnitsOfMeasure.First().Id
                },
                ComparisonType = ComparisonType.Either,
                LowerBound     = "True",
                UpperBound     = "False",
                IsDeleted      = true
            };

            var result = await GetData <SpecificationModel>(controller.Put(model));

            Assert.AreEqual(model.Id, result.Id);
            Assert.AreEqual(model.UnitOfMeasure.Id, result.UnitOfMeasure.Id);
            Assert.AreEqual(model.ComparisonType, result.ComparisonType);
            Assert.AreEqual(model.LowerBound, result.LowerBound);
            Assert.IsTrue(result.IsDeleted);
        }
Пример #3
0
        public static StoreItemModel ConvertStoreItemToModel(StoreItem storeItem)
        {
            if (storeItem == null)
            {
                return(null);
            }

            List <ImageModel>         storeImages    = new List <ImageModel>();
            List <SpecificationModel> specifications = new List <SpecificationModel>();
            List <CommentModel>       comments       = new List <CommentModel>();

            if (storeItem.Images != null)
            {
                foreach (var image in storeItem.Images)
                {
                    var imageFileBase = ConvertToImageModel(image);

                    if (imageFileBase == null)
                    {
                        continue;
                    }

                    storeImages.Add(imageFileBase);
                }
            }

            if (storeItem.Specification != null)
            {
                foreach (var specification in storeItem.Specification)
                {
                    SpecificationModel specificationModel = ConvertToSpecificationModel(specification);
                    specifications.Add(specificationModel);
                }
            }

            if (storeItem.UserComments != null)
            {
                foreach (var userComment in storeItem.UserComments)
                {
                    CommentModel commentModel = CommentProcessor.ConvertToCommentModel(userComment);
                    comments.Add(commentModel);
                }
            }

            StoreItemModel model = new StoreItemModel
            {
                Id             = storeItem.Id,
                Name           = storeItem.Name,
                Discription    = storeItem.Discription,
                Brand          = storeItem.Brand,
                Price          = storeItem.Price,
                Discount       = storeItem.DiscountPercentage,
                Images         = storeImages,
                InStock        = storeItem.InStock,
                Specifications = specifications,
                Comments       = comments,
            };

            return(model);
        }
Пример #4
0
        private static SpecificationModel ConvertToSpecificationModel(Specification specification)
        {
            SpecificationModel specificationModel = new SpecificationModel
            {
                Name        = specification.Name,
                Description = specification.Description
            };

            return(specificationModel);
        }
Пример #5
0
        public async Task PUT_Is_Bad_Request_Missing_UnitId()
        {
            var controller = new SpecificationsController(Context);

            ConfigureRequest(controller);

            var model = new SpecificationModel();

            var result = await GetResponse(controller.Put(model));

            Assert.AreEqual(HttpStatusCode.BadRequest, result.StatusCode);
        }
Пример #6
0
        public SpecificationModel GetStyleWiseFromProductMain(SpecificationModel objDressSpecModel)
        {
            var sql = "SELECT " +
                      "TO_CHAR (NVL (STYLE_NO,'N/A'))STYLE_NO, " +
                      "TO_CHAR (NVL (SEASON_YEAR,'0'))SEASON_YEAR, " +
                      "TO_CHAR (NVL (SEASON_ID,'0'))SEASON_ID, " +
                      "TO_CHAR (NVL (SEASON_NAME,'N/A'))SEASON_NAME " +
                      "FROM VEW_PRODUCT_MAIN where head_office_id = '" + objDressSpecModel.HeadOfficeId + "' AND branch_office_id = '" + objDressSpecModel.BranchOfficeId + "'  ";

            if (!string.IsNullOrEmpty(objDressSpecModel.SeasonYear))
            {
                sql = sql + " and SEASON_YEAR = '" + objDressSpecModel.SeasonYear + "'   ";
            }
            if (!string.IsNullOrEmpty(objDressSpecModel.SeasonId))
            {
                sql = sql + " and SEASON_ID = '" + objDressSpecModel.SeasonId + "'   ";
            }

            using (OracleConnection objConnection = GetConnection())
            {
                OracleCommand objCommand = new OracleCommand(sql, objConnection);
                objConnection.Open();
                OracleDataReader objReader = objCommand.ExecuteReader();

                try
                {
                    while (objReader.Read())
                    {
                        objDressSpecModel.StyleNo    = objReader.GetString(0);
                        objDressSpecModel.SeasonYear = objReader.GetString(1);
                        objDressSpecModel.SeasonId   = objReader.GetString(2);
                        objDressSpecModel.SeasonName = objReader.GetString(3);
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception("Error : " + ex.Message);
                }
                finally
                {
                    objReader.Close();
                    objConnection.Close();
                }
            }

            return(objDressSpecModel);
        }
Пример #7
0
        /// <summary>
        /// Request data about cameras and add them as soon as possible
        /// </summary>
        /// <param name="url">Streaming server url</param>
        /// <returns></returns>
        public async Task InitSpecificationModelAsync(string url)
        {
            try
            {
                _specModel = await SpecificationModel.CreateAsync(url);

                _specModel.InitCameras();

                Cell.SetServer(_specModel);
                Header = TITLE;
            }
            catch (InvalidOperationException e)
            {
                Header = e.Message;
                Cell.RemoveServer();
                System.Diagnostics.Debug.WriteLine(e.Message);
            }
        }
Пример #8
0
        public DataTable SearchStyleFromProductMain(SpecificationModel objDressSpecModel)
        {
            DataTable dataTable = new DataTable();

            string sql = "SELECT " +
                         "ROWNUM SL, " +
                         "TO_CHAR (NVL (SEASON_ID,'0'))SEASON_ID, " +
                         "TO_CHAR (NVL (SEASON_NAME,'N/A'))SEASON_NAME, " +
                         "TO_CHAR (NVL (SEASON_YEAR,'0'))SEASON_YEAR, " +
                         "TO_CHAR (NVL (STYLE_NO,'N/A'))STYLE_NO, " +
                         "TO_CHAR (NVL (STYLE_NO,'N/A'))STYLE_NAME " +
                         "FROM VEW_PRODUCT_MAIN where head_office_id = '" + objDressSpecModel.HeadOfficeId + "' AND branch_office_id = '" + objDressSpecModel.BranchOfficeId + "'  ";

            if (!string.IsNullOrWhiteSpace(objDressSpecModel.StyleSearch))
            {
                sql = sql + "and (lower(STYLE_NO) like lower( '%" + objDressSpecModel.StyleSearch + "%')  or upper(STYLE_NO)like upper('%" + objDressSpecModel.StyleSearch + "%') )";
            }

            sql = sql + " ORDER BY sl";

            OracleCommand     objCommand     = new OracleCommand(sql);
            OracleDataAdapter objDataAdapter = new OracleDataAdapter(objCommand);

            using (OracleConnection strConn = GetConnection())
            {
                try
                {
                    objCommand.Connection = strConn;
                    strConn.Open();
                    objDataAdapter.Fill(dataTable);
                    dataTable.AcceptChanges();
                }
                catch (Exception ex)
                {
                    throw new Exception("Error : " + ex.Message);
                }
                finally
                {
                    strConn.Close();
                }
            }

            return(dataTable);
        }
Пример #9
0
        // Create specification
        public int create(int weight, int height, int width, int length)
        {
            // Establish models
            SpecificationModel specModel = new SpecificationModel();

            // Holds the new specification
            Specification newSpec = new Specification();

            // Stored details for the specification
            newSpec.Weight = weight;
            newSpec.Height = height;
            newSpec.Width  = width;
            newSpec.Length = length;

            // Adds the object to the database
            int specificationID = specModel.NewSpecification(newSpec);

            // Return the specificationID
            return(specificationID);
        }
        public async Task <IHttpActionResult> Put(SpecificationModel updated)
        {
            if (updated == null)
            {
                return(this.BadRequest("Model must not be null."));
            }

            if (updated.UnitOfMeasure == null)
            {
                return(this.BadRequest("Unit of measure must not be null."));
            }

            var results = await this.datasource.UpdateAsync(updated);

            if (results == null)
            {
                return(this.BadRequest("The record could not be updated."));
            }

            return(this.Ok(results));
        }
Пример #11
0
        // Calculates the base cost of the package based on dimensions / weight
        private int calcBaseCost(Package thisPackage)
        {
            // In pence
            int runningCost = 0;

            SpecificationModel specModel = new SpecificationModel();

            // Iterates through the packages in the list
            Specification thisSpec = specModel.SearchSpecification(thisPackage.SpecificationID);

            // Works out delivery band
            if (thisSpec.Length <= 42 && thisSpec.Width <= 34 && thisSpec.Height <= 27 && thisSpec.Weight <= 100)
            {
                runningCost += 1500;
            }
            else if (thisSpec.Length <= 50 && thisSpec.Width <= 45 && thisSpec.Height <= 34 && thisSpec.Weight <= 250)
            {
                runningCost += 2100;
            }
            else if (thisSpec.Length <= 60 && thisSpec.Width <= 54 && thisSpec.Height <= 41 && thisSpec.Weight <= 400)
            {
                runningCost += 3000;
            }
            else if (thisSpec.Length <= 96 && thisSpec.Width <= 15 && thisSpec.Height <= 15)
            {
                runningCost += 1750;
            }
            else // Catch
            {
                // Outwith package band fee
                runningCost += 3500;
            }

            // Returns the collective running cost
            return(runningCost);
        }
Пример #12
0
        public async Task PUT_Is_OK()
        {
            var controller = new SpecificationsController(Context);

            ConfigureRequest(controller);

            var item = SetupContext();

            var model = new SpecificationModel
            {
                Id            = item.ItemId,
                UnitOfMeasure = new UnitOfMeasureModel
                {
                    Id = Context.UnitsOfMeasure.First().Id
                },
                ComparisonType = ComparisonType.Between,
                LowerBound     = "0",
                UpperBound     = "10"
            };

            var result = await GetResponse(controller.Put(model));

            Assert.AreEqual(HttpStatusCode.OK, result.StatusCode);
        }
Пример #13
0
        public DataTable GetDressSpecRecord(SpecificationModel objDressSpecModel)
        {
            DataTable dataTable = new DataTable();

            string sql = "SELECT " +
                         "ROWNUM SL, " +
                         "STYLE_NO, " +
                         "STYLE_NAME, " +
                         "SEASON_ID, " +
                         "SEASON_NAME, " +
                         "SEASON_YEAR, " +
                         "TO_CHAR(SPECIFICATION_DATE, 'dd/mm/yyyy') SPECIFICATION_DATE, " +
                         "CREATE_BY, " +
                         "CREATE_DATE, " +
                         "UPDATE_BY, " +
                         "UPDATE_DATE, " +
                         "HEAD_OFFICE_ID, " +
                         "BRANCH_OFFICE_ID " +
                         "FROM VEW_DRESS_SPEC_MAIN WHERE HEAD_OFFICE_ID = '" + objDressSpecModel.HeadOfficeId + "' AND BRANCH_OFFICE_ID = '" + objDressSpecModel.BranchOfficeId + "'  ";

            if (!string.IsNullOrWhiteSpace(objDressSpecModel.SearchBy))
            {
                sql = sql + "and (lower(STYLE_NO) like lower( '%" + objDressSpecModel.SearchBy + "%')  " +
                      "or upper(STYLE_NO)like upper('%" + objDressSpecModel.SearchBy + "%')) " +

                      "or (lower(STYLE_NAME) like lower( '%" + objDressSpecModel.SearchBy + "%')  " +
                      "or upper(STYLE_NAME)like upper('%" + objDressSpecModel.SearchBy + "%')) " +

                      "or (lower(SEASON_NAME) like lower( '%" + objDressSpecModel.SearchBy + "%')  " +
                      "or upper(SEASON_NAME)like upper('%" + objDressSpecModel.SearchBy + "%')) " +

                      //"or (lower(SPECIFICATION_DATE) like lower( '%" + objDressSpecModel.SearchBy + "%')  " +
                      //"or upper(SPECIFICATION_DATE)like upper('%" + objDressSpecModel.SearchBy + "%')) " +

                      "or (lower(SEASON_YEAR) like lower( '%" + objDressSpecModel.SearchBy + "%')  " +
                      "or upper(SEASON_YEAR)like upper('%" + objDressSpecModel.SearchBy + "%'))";
            }

            if (!string.IsNullOrWhiteSpace(objDressSpecModel.SeasonYear))
            {
                sql = sql + "and SEASON_YEAR= '" + objDressSpecModel.SeasonYear + "'";
            }

            if (!string.IsNullOrWhiteSpace(objDressSpecModel.SeasonId))
            {
                sql = sql + "and SEASON_ID = '" + objDressSpecModel.SeasonId + "'";
            }

            sql = sql + " ORDER BY sl";

            OracleCommand     objCommand     = new OracleCommand(sql);
            OracleDataAdapter objDataAdapter = new OracleDataAdapter(objCommand);

            using (OracleConnection strConn = GetConnection())
            {
                try
                {
                    objCommand.Connection = strConn;
                    strConn.Open();
                    objDataAdapter.Fill(dataTable);
                    dataTable.AcceptChanges();
                }
                catch (Exception ex)
                {
                    throw new Exception("Error : " + ex.Message);
                }
                finally
                {
                    strConn.Close();
                }
            }

            return(dataTable);
        }
Пример #14
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public FeatureModel(org.maltparser.core.feature.spec.SpecificationModel _specModel, FeatureRegistry _registry, org.maltparser.core.feature.system.FeatureEngine _engine, String dataSplitColumn, String dataSplitStructure) throws org.maltparser.core.exception.MaltChainedException
        public FeatureModel(SpecificationModel _specModel, FeatureRegistry _registry, FeatureEngine _engine, string dataSplitColumn, string dataSplitStructure)
        {
            specModel            = _specModel;
            registry             = _registry;
            featureEngine        = _engine;
            addressFunctionCache = new List <AddressFunction>();
            featureFunctionCache = new List <FeatureFunction>();
            FeatureVector tmpMainFeatureVector = null;

            foreach (SpecificationSubModel subModel in specModel)
            {
                FeatureVector fv = new FeatureVector(this, subModel);
                if (tmpMainFeatureVector == null)
                {
                    if (subModel.SubModelName.Equals("MAIN"))
                    {
                        tmpMainFeatureVector = fv;
                    }
                    else
                    {
                        tmpMainFeatureVector = fv;
                        put(subModel.SubModelName, fv);
                    }
                }
                else
                {
                    put(subModel.SubModelName, fv);
                }
            }
            mainFeatureVector = tmpMainFeatureVector;
            if (!ReferenceEquals(dataSplitColumn, null) && dataSplitColumn.Length > 0 && !ReferenceEquals(dataSplitStructure, null) && dataSplitStructure.Length > 0)
            {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final StringBuilder sb = new StringBuilder();
                StringBuilder sb = new StringBuilder();
                sb.Append("InputColumn(");
                sb.Append(dataSplitColumn);
                sb.Append(", ");
                sb.Append(dataSplitStructure);
                sb.Append(')');
                divideFeatureFunction = identifyFeature(sb.ToString());
                //			this.divideFeatureIndexVectorMap = new HashMap<String,ArrayList<Integer>>();
                divideFeatureIndexVector = new List <int>();

                for (int i = 0; i < mainFeatureVector.Count; i++)
                {
                    if (mainFeatureVector[i].Equals(divideFeatureFunction))
                    {
                        divideFeatureIndexVector.Add(i);
                    }
                }
                foreach (SpecificationSubModel subModel in specModel)
                {
                    FeatureVector featureVector = get(subModel.SubModelName);
                    if (featureVector == null)
                    {
                        featureVector = mainFeatureVector;
                    }
                    string divideKeyName = "/" + subModel.SubModelName;
                    //				divideFeatureIndexVectorMap.put(divideKeyName, divideFeatureIndexVector);

                    FeatureVector divideFeatureVector = (FeatureVector)featureVector.clone();
                    foreach (int?i in divideFeatureIndexVector)
                    {
                        divideFeatureVector.Remove(divideFeatureVector[i]);
                    }
                    put(divideKeyName, divideFeatureVector);
                }
            }
            else
            {
                divideFeatureFunction = null;
                //			this.divideFeatureIndexVectorMap = null;
                divideFeatureIndexVector = null;
            }
        }
Пример #15
0
        public string DeleteTrimsEntry(SpecificationModel objDressSpecModel)
        {
            string strMsg = "";

            //string[] tranIdArray = objDressSpecModel.GridTranId.Split(',');
            //int x = tranIdArray.Count();
            int x = objDressSpecModel.TranId.Count();

            for (int i = 0; i < x; i++)
            {
                //var arrayTranId = tranIdArray[i];
                string tranId = objDressSpecModel.TranId[i];

                OracleCommand objOracleCommand = new OracleCommand("PRO_DRESS_SPEC_DELETE");
                objOracleCommand.CommandType = CommandType.StoredProcedure;

                if (objDressSpecModel.StyleNo != "")
                {
                    objOracleCommand.Parameters.Add("p_STYLE_NO", OracleDbType.Varchar2, ParameterDirection.InputOutput).Value = objDressSpecModel.StyleNo;
                }
                else
                {
                    objOracleCommand.Parameters.Add("p_STYLE_NO", OracleDbType.Varchar2, ParameterDirection.InputOutput).Value = null;
                }

                if (objDressSpecModel.SeasonYear != "")
                {
                    objOracleCommand.Parameters.Add("p_SEASON_YEAR", OracleDbType.Varchar2, ParameterDirection.InputOutput).Value = objDressSpecModel.SeasonYear;
                }
                else
                {
                    objOracleCommand.Parameters.Add("p_SEASON_YEAR", OracleDbType.Varchar2, ParameterDirection.InputOutput).Value = null;
                }

                if (objDressSpecModel.SeasonId != "")
                {
                    objOracleCommand.Parameters.Add("p_SEASON_ID", OracleDbType.Varchar2, ParameterDirection.InputOutput).Value = objDressSpecModel.SeasonId;
                }
                else
                {
                    objOracleCommand.Parameters.Add("p_SEASON_ID", OracleDbType.Varchar2, ParameterDirection.InputOutput).Value = null;
                }

                if (tranId != null)
                {
                    objOracleCommand.Parameters.Add("p_TRAN_ID", OracleDbType.Varchar2, ParameterDirection.Input).Value = tranId;
                }
                else
                {
                    objOracleCommand.Parameters.Add("p_TRAN_ID", OracleDbType.Varchar2, ParameterDirection.Input).Value = null;
                }

                objOracleCommand.Parameters.Add("p_update_by", OracleDbType.Varchar2, ParameterDirection.Input).Value        = objDressSpecModel.UpdateBy;
                objOracleCommand.Parameters.Add("p_head_office_id", OracleDbType.Varchar2, ParameterDirection.Input).Value   = objDressSpecModel.HeadOfficeId;
                objOracleCommand.Parameters.Add("p_branch_office_id", OracleDbType.Varchar2, ParameterDirection.Input).Value = objDressSpecModel.BranchOfficeId;

                objOracleCommand.Parameters.Add("P_MESSAGE", OracleDbType.Varchar2, 500).Direction = ParameterDirection.Output;

                using (OracleConnection strConn = GetConnection())
                {
                    try
                    {
                        objOracleCommand.Connection = strConn;
                        strConn.Open();
                        trans = strConn.BeginTransaction();
                        objOracleCommand.ExecuteNonQuery();
                        trans.Commit();
                        strConn.Close();
                        strMsg = objOracleCommand.Parameters["P_MESSAGE"].Value.ToString();
                    }
                    catch (Exception ex)
                    {
                        trans.Rollback();
                        throw new Exception("Error : " + ex.Message);
                    }
                    finally
                    {
                        trans.Dispose();
                        strConn.Close();
                    }
                }
            }

            return(strMsg);
        }
Пример #16
0
        public DataTable GetDressSpecDetailRecord(SpecificationModel objDressSpecModel)
        {
            DataTable dataTable = new DataTable();

            string sql = "SELECT " +
                         "STYLE_NO, " +
                         "STYLE_NAME, " +
                         "SEASON_ID, " +
                         "SEASON_YEAR, " +
                         "SIZE_ID, " +
                         "TO_CHAR(SPECIFICATION_DATE, 'dd/mm/yyyy') SPECIFICATION_DATE, " +
                         "SPEC_DESCRIPTION, " +
                         "SIZE_VALUE, " +
                         "TRAN_ID, " +
                         "CREATE_BY, " +
                         "CREATE_DATE, " +
                         "UPDATE_BY, " +
                         "UPDATE_DATE, " +
                         "HEAD_OFFICE_ID, " +
                         "BRANCH_OFFICE_ID " +
                         "FROM product_spec_sub WHERE HEAD_OFFICE_ID = '" + objDressSpecModel.HeadOfficeId + "' AND BRANCH_OFFICE_ID = '" + objDressSpecModel.BranchOfficeId + "' ";

            if (!string.IsNullOrWhiteSpace(objDressSpecModel.StyleNo))
            {
                sql = sql + "and STYLE_NO = '" + objDressSpecModel.StyleNo + "'";
            }

            if (!string.IsNullOrWhiteSpace(objDressSpecModel.SeasonYear))
            {
                sql = sql + "and SEASON_YEAR= '" + objDressSpecModel.SeasonYear + "'";
            }

            if (!string.IsNullOrWhiteSpace(objDressSpecModel.SeasonId))
            {
                sql = sql + "and SEASON_ID = '" + objDressSpecModel.SeasonId + "'";
            }

            sql = sql + " ORDER BY STYLE_NO";

            OracleCommand     objCommand     = new OracleCommand(sql);
            OracleDataAdapter objDataAdapter = new OracleDataAdapter(objCommand);

            using (OracleConnection strConn = GetConnection())
            {
                try
                {
                    objCommand.Connection = strConn;
                    strConn.Open();
                    objDataAdapter.Fill(dataTable);
                    dataTable.AcceptChanges();
                }
                catch (Exception ex)
                {
                    throw new Exception("Error : " + ex.Message);
                }
                finally
                {
                    strConn.Close();
                }
            }

            return(dataTable);
        }
Пример #17
0
 public void SetServer(SpecificationModel spec)
 {
     _spec = spec;
     InitCameras();
 }
Пример #18
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public FeatureModel getFeatureModel(org.maltparser.core.feature.spec.SpecificationModel specModel, FeatureRegistry registry, String dataSplitColumn, String dataSplitStructure) throws org.maltparser.core.exception.MaltChainedException
        public virtual FeatureModel getFeatureModel(SpecificationModel specModel, FeatureRegistry registry, string dataSplitColumn, string dataSplitStructure)
        {
            return(new FeatureModel(specModel, registry, featureEngine, dataSplitColumn, dataSplitStructure));
        }
Пример #19
0
        public string SaveDressSpecEntry(SpecificationModel objDressSpecModel)
        {
            string strMsg = null;

            int count = objDressSpecModel.SizeId.Length;
            int x     = objDressSpecModel.SizeId.Count();

            for (int i = 0; i < x; i++)
            {
                var sizeId      = objDressSpecModel.SizeId[i];
                var description = objDressSpecModel.Description[i];
                var sizeValue   = objDressSpecModel.SizeValue[i];
                var tranId      = objDressSpecModel.TranId[i];

                OracleCommand objOracleCommand = new OracleCommand("pro_dress_spec_save");
                objOracleCommand.CommandType = CommandType.StoredProcedure;

                if (objDressSpecModel.StyleNo != "")
                {
                    objOracleCommand.Parameters.Add("p_STYLE_NO", OracleDbType.Varchar2, ParameterDirection.InputOutput).Value = objDressSpecModel.StyleNo;
                }
                else
                {
                    objOracleCommand.Parameters.Add("p_STYLE_NO", OracleDbType.Varchar2, ParameterDirection.InputOutput).Value = null;
                }

                if (objDressSpecModel.StyleName != "")
                {
                    objOracleCommand.Parameters.Add("p_STYLE_NAME", OracleDbType.Varchar2, ParameterDirection.InputOutput).Value = objDressSpecModel.StyleName;
                }
                else
                {
                    objOracleCommand.Parameters.Add("p_STYLE_NAME", OracleDbType.Varchar2, ParameterDirection.InputOutput).Value = null;
                }

                if (objDressSpecModel.SeasonId != "")
                {
                    objOracleCommand.Parameters.Add("p_SEASON_ID", OracleDbType.Varchar2, ParameterDirection.InputOutput).Value = objDressSpecModel.SeasonId;
                }
                else
                {
                    objOracleCommand.Parameters.Add("p_SEASON_ID", OracleDbType.Varchar2, ParameterDirection.InputOutput).Value = null;
                }

                if (objDressSpecModel.SeasonYear != "")
                {
                    objOracleCommand.Parameters.Add("p_SEASON_YEAR", OracleDbType.Varchar2, ParameterDirection.InputOutput).Value = objDressSpecModel.SeasonYear;
                }
                else
                {
                    objOracleCommand.Parameters.Add("p_SEASON_YEAR", OracleDbType.Varchar2, ParameterDirection.InputOutput).Value = null;
                }

                if (objDressSpecModel.SpecificationDate.Length > 6)
                {
                    objOracleCommand.Parameters.Add("p_SPECIFICATION_DATE", OracleDbType.Varchar2, ParameterDirection.InputOutput).Value = objDressSpecModel.SpecificationDate;
                }
                else
                {
                    objOracleCommand.Parameters.Add("p_SPECIFICATION_DATE", OracleDbType.Varchar2, ParameterDirection.InputOutput).Value = null;
                }

                if (sizeId != null)
                {
                    objOracleCommand.Parameters.Add("p_SIZE_ID", OracleDbType.Varchar2, ParameterDirection.Input).Value = sizeId;
                }
                else
                {
                    objOracleCommand.Parameters.Add("p_SIZE_ID", OracleDbType.Varchar2, ParameterDirection.Input).Value = null;
                }

                if (description != null)
                {
                    objOracleCommand.Parameters.Add("p_SPEC_DESCRIPTION", OracleDbType.Varchar2, ParameterDirection.Input).Value = description;
                }
                else
                {
                    objOracleCommand.Parameters.Add("p_SPEC_DESCRIPTION", OracleDbType.Varchar2, ParameterDirection.Input).Value = null;
                }

                if (sizeValue != null)
                {
                    objOracleCommand.Parameters.Add("p_SIZE_VALUE", OracleDbType.Varchar2, ParameterDirection.Input).Value = sizeValue;
                }
                else
                {
                    objOracleCommand.Parameters.Add("p_SIZE_VALUE", OracleDbType.Varchar2, ParameterDirection.Input).Value = null;
                }

                if (tranId.Length > 0)
                {
                    objOracleCommand.Parameters.Add("p_TRAN_ID", OracleDbType.Varchar2, ParameterDirection.Input).Value = tranId;
                }
                else
                {
                    objOracleCommand.Parameters.Add("p_TRAN_ID", OracleDbType.Varchar2, ParameterDirection.Input).Value = null;
                }

                objOracleCommand.Parameters.Add("p_update_by", OracleDbType.Varchar2, ParameterDirection.Input).Value        = objDressSpecModel.UpdateBy;
                objOracleCommand.Parameters.Add("p_head_office_id", OracleDbType.Varchar2, ParameterDirection.Input).Value   = objDressSpecModel.HeadOfficeId;
                objOracleCommand.Parameters.Add("p_branch_office_id", OracleDbType.Varchar2, ParameterDirection.Input).Value = objDressSpecModel.BranchOfficeId;

                objOracleCommand.Parameters.Add("P_MESSAGE", OracleDbType.Varchar2, 500).Direction = ParameterDirection.Output;

                using (OracleConnection strConn = GetConnection())
                {
                    try
                    {
                        objOracleCommand.Connection = strConn;
                        strConn.Open();
                        trans = strConn.BeginTransaction();
                        objOracleCommand.ExecuteNonQuery();
                        trans.Commit();
                        strConn.Close();

                        strMsg = objOracleCommand.Parameters["P_MESSAGE"].Value.ToString();
                    }
                    catch (Exception ex)
                    {
                        trans.Rollback();
                        //trans.Dispose();
                        throw new Exception("Error : " + ex.Message);
                    }
                    finally
                    {
                        trans.Dispose();
                        strConn.Close();
                    }
                }
            }

            return(strMsg);
        }