Exemple #1
0
        public DataSet1 getMaterials()
        {
            MaterialDataAccessor DA             = new MaterialDataAccessor();
            PositionDataAccessor DApos          = new PositionDataAccessor();
            DataSet1             dataSet1       = new DataSet1();
            AbstractConnection   absConnection  = null;
            AbstractTransaction  absTransaction = null;

            try
            {
                absConnection = DBFactory.createConnection();
                absConnection.open();
                absTransaction = absConnection.beginTransaction();
                DA.Read(absConnection, absTransaction, dataSet1);
                DApos.Read(absConnection, absTransaction, dataSet1);
                absTransaction.commit();
            }
            catch (Exception e)
            {
                absTransaction.rollback();
            }
            finally
            {
                absConnection.close();
            }

            return(dataSet1);
        }
Exemple #2
0
        public void updateMaterials(DataSet1 dataSet1)
        {
            MaterialDataAccessor DA             = new MaterialDataAccessor();
            PositionDataAccessor DApos          = new PositionDataAccessor();
            AbstractConnection   absConnection  = null;
            AbstractTransaction  absTransaction = null;

            try
            {
                absConnection = DBFactory.createConnection();
                absConnection.open();
                absTransaction = absConnection.beginTransaction();
                DA.Update(absConnection, absTransaction, dataSet1);
                DApos.Update(absConnection, absTransaction, dataSet1);
                absTransaction.commit();
            }
            catch (Exception e)
            {
                absTransaction.rollback();
            }
            finally
            {
                absConnection.close();
            }
        }
Exemple #3
0
        public ActionResult GetTreeItems(string organizationId, string materialType)
        {
            string jsonTree = string.Empty;

            try
            {
                var organizationList = HttpRuntime.Cache.GetOrInsert <List <Models.Shared.Organization> >("Organizations", () => OrganizationDataAccessor.GetAllOrganizations());

                RequestResult result = MaterialDataAccessor.GetTreeItems(organizationList, new Guid(organizationId), materialType, Session["Account"] as Account);

                if (result.IsSuccess)
                {
                    jsonTree = JsonConvert.SerializeObject((List <TreeItem>)result.Data);
                }
                else
                {
                    jsonTree = string.Empty;
                }
            }
            catch (Exception ex)
            {
                Logger.Log(MethodBase.GetCurrentMethod(), ex);

                jsonTree = string.Empty;
            }

            return(Content(jsonTree));
        }
Exemple #4
0
        public void GetAll()
        {
            //Setup();
            MaterialDataAccessor daMaterial  = new MaterialDataAccessor();
            DataSet1             dataSet1    = new DataSet1();
            AbstractConnection   connection  = null;
            AbstractTransaction  transaction = null;

            try
            {
                connection = DBFactory.createConnection();
                connection.open();
                transaction = connection.beginTransaction();
                daMaterial.Read(connection, transaction, dataSet1);
                transaction.commit();
            }
            catch (Exception e)
            {
                transaction.rollback();
            }
            finally
            {
                connection.close();
            }

            List <DataRow> list = dataSet1.material.Select().OfType <DataRow>().ToList();

            list.Sort((x, y) => ((int)x["id"]).CompareTo((int)y["id"]));  //сортируем по ид

            Assert.That(1, Is.EqualTo(1));
            Assert.That(list.Count, Is.EqualTo(8));
            Assert.That((int)(list[0]["id"]), Is.EqualTo(1));
            Assert.That((string)(list[0]["name_material"]), Is.EqualTo("Бревна буковые"));
            Assert.That((string)(list[0]["code_material"]), Is.EqualTo("02.20.12.112"));
        }
Exemple #5
0
        public void materialByName()
        {
            MaterialDataAccessor daMaterial  = new MaterialDataAccessor();
            DataSet1             dataSet1    = new DataSet1();
            AbstractConnection   connection  = null;
            AbstractTransaction  transaction = null;

            try
            {
                connection = DBFactory.createConnection();
                connection.open();
                transaction = connection.beginTransaction();
                daMaterial.Read(connection, transaction, dataSet1);
                transaction.commit();
            }
            catch (Exception e)
            {
                transaction.rollback();
            }
            finally
            {
                connection.close();
            }

            List <DataRow> list = dataSet1.material.Select("name_material = 'Бревна буковые'").OfType <DataRow>().ToList();

            Assert.That(list.Count, Is.EqualTo(1));

            Assert.That((int)(list[0]["id"]), Is.EqualTo(1));
            Assert.That((string)(list[0]["name_material"]), Is.EqualTo("Бревна буковые"));
            Assert.That((string)(list[0]["code_material"]), Is.EqualTo("02.20.12.112"));
        }
Exemple #6
0
        public ActionResult Detail(string materialId)
        {
            RequestResult requestResult = MaterialDataAccessor.GetDetailViewModel(materialId, Session["Account"] as Account);

            if (requestResult.IsSuccess)
            {
                return(PartialView("_Detail", requestResult.Data));
            }
            else
            {
                return(PartialView("_Error", requestResult.Error));
            }
        }
Exemple #7
0
        public ActionResult Query(QueryParameters queryParameters)
        {
            RequestResult result = MaterialDataAccessor.Query(queryParameters, Session["Account"] as Account);

            if (result.IsSuccess)
            {
                return(PartialView("_List", result.Data));
            }
            else
            {
                return(PartialView("_Error", result.Error));
            }
        }
Exemple #8
0
        public ActionResult Copy(string materialId)
        {
            RequestResult requestResult = MaterialDataAccessor.GetCopyFormModel(new Guid(materialId));

            if (requestResult.IsSuccess)
            {
                Session["MaterialFormAction"]      = Define.EnumFormAction.Create;
                Session["MaterialCreateFormModel"] = requestResult.Data;

                return(PartialView("_Create", requestResult.Data));
            }
            else
            {
                return(PartialView("_Error", requestResult.Error));
            }
        }
Exemple #9
0
        public ActionResult Create(string organizationId, string materialType)
        {
            RequestResult requestResult = MaterialDataAccessor.GetCreateFormModel(organizationId, materialType);

            if (requestResult.IsSuccess)
            {
                Session["MaterialFormAction"]      = Define.EnumFormAction.Create;
                Session["MaterialCreateFormModel"] = requestResult.Data;

                return(PartialView("_Create", requestResult.Data));
            }
            else
            {
                return(PartialView("_Error", requestResult.Error));
            }
        }
Exemple #10
0
        public ActionResult Delete(string selecteds)
        {
            RequestResult requestResult = new RequestResult();

            try
            {
                var selectedList = JsonConvert.DeserializeObject <List <string> >(selecteds);

                requestResult = MaterialDataAccessor.Delete(selectedList);
            }
            catch (Exception e)
            {
                var error = new Error(MethodBase.GetCurrentMethod(), e);

                Logger.Log(error);

                requestResult.ReturnError(error);
            }

            return(Content(JsonConvert.SerializeObject(requestResult)));
        }
Exemple #11
0
        public ActionResult Edit(EditFormModel editFormModel, string pageStates)
        {
            RequestResult requestResult = new RequestResult();

            try
            {
                var model = Session["MaterialEditFormModel"] as EditFormModel;

                var pageStateList = JsonConvert.DeserializeObject <List <string> >(pageStates);

                requestResult = MaterialDataAccessor.SavePageState(model.MaterialSpecificationModels, pageStateList);

                if (requestResult.IsSuccess)
                {
                    model.MaterialSpecificationModels = requestResult.Data as List <MaterialSpecificationModel>;

                    model.FormInput = editFormModel.FormInput;

                    requestResult = MaterialDataAccessor.Edit(model);

                    if (requestResult.IsSuccess)
                    {
                        Session.Remove("MaterialFormAction");
                        Session.Remove("MaterialEditFormModel");
                    }
                }
            }
            catch (Exception e)
            {
                var error = new Error(MethodBase.GetCurrentMethod(), e);

                Logger.Log(error);

                requestResult.ReturnError(error);
            }

            return(Content(JsonConvert.SerializeObject(requestResult)));
        }
Exemple #12
0
        public ActionResult InitTree()
        {
            try
            {
                var organizationList = HttpRuntime.Cache.GetOrInsert <List <Models.Shared.Organization> >("Organizations", () => OrganizationDataAccessor.GetAllOrganizations());

                var account = Session["Account"] as Account;

                RequestResult result = new RequestResult();

                if (account.RootOrganizationId == new Guid())
                {
                    result = MaterialDataAccessor.GetTreeItems(organizationList, account.RootOrganizationId, "", Session["Account"] as Account);
                }
                else
                {
                    result = MaterialDataAccessor.GetRootTreeItem(organizationList, account.RootOrganizationId, Session["Account"] as Account);
                }

                if (result.IsSuccess)
                {
                    return(PartialView("_Tree", JsonConvert.SerializeObject((List <TreeItem>)result.Data)));
                }
                else
                {
                    return(PartialView("_Error", result.Error));
                }
            }
            catch (Exception ex)
            {
                var err = new Error(MethodBase.GetCurrentMethod(), ex);

                Logger.Log(err);

                return(PartialView("_Error", err));
            }
        }
Exemple #13
0
        public ActionResult UploadPhoto(string UniqueID)
        {
            RequestResult result = new RequestResult();

            try
            {
                if (Request.Files != null && Request.Files.Count > 0 && Request.Files[0].ContentLength > 0)
                {
                    var photoName = Request.Files[0].FileName.Substring(Request.Files[0].FileName.LastIndexOf('\\') + 1);
                    var extension = photoName.Substring(photoName.LastIndexOf('.') + 1);

                    result = MaterialDataAccessor.UploadPhoto(UniqueID, extension);

                    if (result.IsSuccess)
                    {
                        Request.Files[0].SaveAs(Path.Combine(Config.MaintenancePhotoFolderPath, string.Format("{0}.{1}", UniqueID, extension)));
                    }

                    result.Success();
                }
                else
                {
                    result.ReturnFailedMessage(Resources.Resource.UploadFileRequired);
                }
            }
            catch (Exception ex)
            {
                Error err = new Error(MethodBase.GetCurrentMethod(), ex);

                Logger.Log(err);

                result.ReturnError(err);
            }

            return(Content(JsonConvert.SerializeObject(result)));
        }
Exemple #14
0
        public void materialDelete()
        {
            DataSet1             dataSetRead  = new DataSet1();
            MaterialDataAccessor daMaterial   = new MaterialDataAccessor();
            AbstractConnection   absCon_Read  = null;
            AbstractTransaction  absTran_Read = null;
            int countRowBefore = 0;

            try
            {
                absCon_Read = DBFactory.createConnection();
                absCon_Read.open();
                absTran_Read = absCon_Read.beginTransaction();
                daMaterial.Read(absCon_Read, absTran_Read, dataSetRead);

                List <DataRow> rows_list = dataSetRead.material.Select("name_material = 'Бревна буковые'").OfType <DataRow>().ToList();
                // Сортируем строки по id в порядке возрастания
                rows_list.Sort((x, y) => ((int)x["id"]).CompareTo((int)y["id"]));
                // Количество записей до удаления
                countRowBefore = rows_list.Count();
                absTran_Read.commit();
            }
            catch (Exception e)
            {
                absTran_Read.rollback();
            }
            finally
            {
                absCon_Read.close();
            }

            Assert.That(countRowBefore, Is.EqualTo(1));


            // НОВОЕ СОЕДИНЕНИЕ, удаляем
            AbstractConnection  absCon_Update  = null;
            AbstractTransaction absTran_Update = null;

            List <DataRow> list_1 = dataSetRead.material.Select("name_material = 'Бревна буковые'").OfType <DataRow>().ToList();

            foreach (DataRow rowForDel in list_1)
            {
                dataSetRead.material.Rows.Remove(rowForDel);
            }


            try
            {
                absCon_Update = DBFactory.createConnection();
                absCon_Update.open();
                absTran_Update = absCon_Update.beginTransaction();
                daMaterial.Update(absCon_Update, absTran_Update, dataSetRead);

                absTran_Update.commit();
            }
            catch (Exception e)
            {
                absTran_Update.rollback();
            }
            finally
            {
                absCon_Update.close();
            }


            // Новый коннекшн, проверяем что теперь записей стало на одну больше
            AbstractConnection   absCon_AfterInsert     = null;
            AbstractTransaction  absTran_AfterInsert    = null;
            DataSet1             dataSet_AfterInsert    = new DataSet1();
            MaterialDataAccessor MaterialDA_AfterInsert = new MaterialDataAccessor();

            try
            {
                absCon_AfterInsert = DBFactory.createConnection();
                absCon_AfterInsert.open();
                absTran_AfterInsert = absCon_AfterInsert.beginTransaction();
                MaterialDA_AfterInsert.Read(absCon_AfterInsert, absTran_AfterInsert, dataSet_AfterInsert);
                absTran_AfterInsert.commit();
            }
            catch (Exception e)
            {
                absTran_AfterInsert.commit();
            }
            finally
            {
                absCon_AfterInsert.close();
            }

            List <DataRow> rows_list_AfterInsert = dataSetRead.material.Select("name_material = 'Бревна буковые'").OfType <DataRow>().ToList();

            Assert.That(rows_list_AfterInsert.Count, Is.EqualTo(0));
        }
Exemple #15
0
        public void materialAdd()
        {
            DataSet1             dataSetRead  = new DataSet1();
            MaterialDataAccessor daMaterial   = new MaterialDataAccessor();
            AbstractConnection   absCon_Read  = null;
            AbstractTransaction  absTran_Read = null;
            int countRowBefore = 0;

            try
            {
                absCon_Read = DBFactory.createConnection();
                absCon_Read.open();
                absTran_Read = absCon_Read.beginTransaction();
                daMaterial.Read(absCon_Read, absTran_Read, dataSetRead);

                List <DataRow> rows_list = dataSetRead.material.Select("").OfType <DataRow>().ToList();
                // Сортируем строки по id в порядке возрастания
                rows_list.Sort((x, y) => ((int)x["id"]).CompareTo((int)y["id"]));
                // Количество записей до внесения новой
                countRowBefore = rows_list.Count();
                absTran_Read.commit();
            }
            catch (Exception e)
            {
                absTran_Read.rollback();
            }
            finally
            {
                absCon_Read.close();
            }


            // НОВОЕ СОЕДИНЕНИЕ, Добавляем в базу новую запись
            AbstractConnection  absCon_Update  = null;
            AbstractTransaction absTran_Update = null;

            List <DataRow> list_1 = dataSetRead.material.Select("").OfType <DataRow>().ToList();

            // Сортируем строки по айдишнику в порядке возрастания
            list_1.Sort((x, y) => ((int)x["id"]).CompareTo((int)y["id"]));
///
            DataRow rowForAdded = dataSetRead.material.NewRow();


            rowForAdded["name_material"] = "Бревна буковые";
            rowForAdded["code_material"] = "02.20.12.112";

            dataSetRead.material.Rows.Add(rowForAdded);

            List <DataRow> list_2 = dataSetRead.material.Select("").OfType <DataRow>().ToList();

            // Сортируем строки по айдишнику в порядке возрастания
            list_2.Sort((x, y) => ((int)x["id"]).CompareTo((int)y["id"]));

            try
            {
                absCon_Update = DBFactory.createConnection();
                absCon_Update.open();
                absTran_Update = absCon_Update.beginTransaction();
                daMaterial.Update(absCon_Update, absTran_Update, dataSetRead);

                absTran_Update.commit();
            }
            catch (Exception e)
            {
                absTran_Update.rollback();
            }
            finally
            {
                absCon_Update.close();
            }


            // Новый коннекшн, проверяем что теперь записей стало на одну больше
            AbstractConnection   absCon_AfterInsert     = null;
            AbstractTransaction  absTran_AfterInsert    = null;
            DataSet1             dataSet_AfterInsert    = new DataSet1();
            MaterialDataAccessor MaterialDA_AfterInsert = new MaterialDataAccessor();
            int countRowAfter = 0;

            try
            {
                absCon_AfterInsert = DBFactory.createConnection();
                absCon_AfterInsert.open();
                absTran_AfterInsert = absCon_AfterInsert.beginTransaction();
                MaterialDA_AfterInsert.Read(absCon_AfterInsert, absTran_AfterInsert, dataSet_AfterInsert);
                absTran_AfterInsert.commit();
            }
            catch (Exception e)
            {
                absTran_AfterInsert.commit();
            }
            finally
            {
                absCon_AfterInsert.close();
            }

            List <DataRow> rows_list_AfterInsert = dataSet_AfterInsert.material.Select("").OfType <DataRow>().ToList();

            // Сортируем строки по айдишнику в порядке возрастания
            rows_list_AfterInsert.Sort((x, y) => ((int)x["id"]).CompareTo((int)y["id"]));
            countRowAfter = rows_list_AfterInsert.Count();

            // Проверяем, что записей стало на одну больше
            Assert.That(countRowAfter - countRowBefore, Is.EqualTo(1));

            // Берем последнюю добавленную запись( для этого сортируем )
            DataRow rowAfterInsert = rows_list_AfterInsert[rows_list_AfterInsert.Count - 1];

            // Проверяем что запись добавилась правильно
            Assert.That(rowForAdded["name_material"], Is.EqualTo(rowAfterInsert["name_material"]));
            Assert.That(rowForAdded["code_material"], Is.EqualTo(rowAfterInsert["code_material"]));
        }
Exemple #16
0
        public void materialUpdate()
        {
            MaterialDataAccessor daMaterial  = new MaterialDataAccessor();
            DataSet1             dataSet1    = new DataSet1();
            AbstractConnection   connection  = null;
            AbstractTransaction  transaction = null;

            try
            {
                connection = DBFactory.createConnection();
                connection.open();
                transaction = connection.beginTransaction();
                daMaterial.Read(connection, transaction, dataSet1);
                transaction.commit();
            }
            catch (Exception e)
            {
                transaction.rollback();
            }
            finally
            {
                connection.close();
            }

            List <DataRow> list = dataSet1.material.Select("").OfType <DataRow>().ToList();

            // Сортируем строки по айдишнику в порядке возрастания
            list.Sort((x, y) => ((int)x["id"]).CompareTo((int)y["id"]));
//            Assert.That(list.Count, Is.EqualTo(2)); // всего две строки


            // Обновляем первую запись
            //CarDTO oldCarDTO = null;
            DataSet1.materialRow oldM         = null;
            AbstractConnection   connectionN  = null;
            AbstractTransaction  transactionN = null;
            String oldName = "";

            try
            {
                connectionN = DBFactory.createConnection();
                connectionN.open();
                transactionN = connectionN.beginTransaction();
                oldM         = dataSet1.material[0];
                oldName      = oldM.name_material;
//                oldCarDTO = new CarDTO(dataSet1.car[0]);

                dataSet1.material[0].name_material = oldM.name_material + "_changed";
                daMaterial.Update(connectionN, transactionN, dataSet1);
                transactionN.commit();
            }
            catch (Exception e)
            {
                transactionN.rollback();
            }
            finally
            {
                connectionN.close();
            }


            // Заново читаем из базы, проверяем, что поменялось
            MaterialDataAccessor daUpdated          = new MaterialDataAccessor();
            DataSet1             dataSetUpdated     = new DataSet1();
            AbstractConnection   connectionUpdated  = null;
            AbstractTransaction  transactionUpdated = null;

            try
            {
                connectionUpdated = DBFactory.createConnection();
                connectionUpdated.open();
                transactionUpdated = connectionUpdated.beginTransaction();
                daUpdated.Read(connectionUpdated, transactionUpdated, dataSetUpdated);
                transactionUpdated.commit();
            }
            catch (Exception e)
            {
                transactionUpdated.rollback();
            }
            finally
            {
                connectionUpdated.close();
            }

            // достаем из датасета все записи таблицы
            List <DataRow> list_3 = dataSetUpdated.material.Select("").OfType <DataRow>().ToList();

            // Сортируем по id
            list_3.Sort((x, y) => ((int)x["id"]).CompareTo((int)y["id"]));
            // Проверяем что записей столько же
            Assert.That(list_3.Count, Is.EqualTo(8));

            // Достае ту же запись
            List <DataRow> rows_list = dataSet1.material.Select("id = " + oldM.id).OfType <DataRow>().ToList();

            // Проверяем что по такому id одна запись
            Assert.That(rows_list.Count, Is.EqualTo(1));

            DataSet1.materialRow updatedM = dataSetUpdated.material[0];

            Assert.That(oldM.id, Is.EqualTo(updatedM.id));

            Assert.That(oldName, !Is.EqualTo(updatedM.name_material));
            Assert.That(oldName + "_changed", Is.EqualTo(updatedM.name_material));
        }
Exemple #17
0
 public ActionResult DeletePhoto(string UniqueID)
 {
     return(Content(JsonConvert.SerializeObject(MaterialDataAccessor.DeletePhoto(UniqueID))));
 }
Exemple #18
0
        public ActionResult DeleteSelected(string materialSpecificationId, string pageStates)
        {
            RequestResult result = new RequestResult();

            try
            {
                List <string> pageStateList = JsonConvert.DeserializeObject <List <string> >(pageStates);

                if ((Define.EnumFormAction)Session["MaterialFormAction"] == Define.EnumFormAction.Create)
                {
                    var model = Session["MaterialCreateFormModel"] as CreateFormModel;

                    result = MaterialDataAccessor.SavePageState(model.MaterialSpecificationModels, pageStateList);

                    if (result.IsSuccess)
                    {
                        model.MaterialSpecificationModels = result.Data as List <MaterialSpecificationModel>;

                        model.MaterialSpecificationModels.Remove(model.MaterialSpecificationModels.First(x => x.MaterialSpecificationId == materialSpecificationId));

                        model.MaterialSpecificationModels = model.MaterialSpecificationModels.OrderBy(x => x.Seq).ToList();

                        int seq = 1;

                        foreach (var spec in model.MaterialSpecificationModels)
                        {
                            spec.Seq = seq;

                            seq++;
                        }

                        Session["MaterialCreateFormModel"] = model;

                        result.Success();
                    }
                }
                else if ((Define.EnumFormAction)Session["MaterialFormAction"] == Define.EnumFormAction.Edit)
                {
                    var model = Session["MaterialEditFormModel"] as EditFormModel;

                    result = MaterialDataAccessor.SavePageState(model.MaterialSpecificationModels, pageStateList);

                    if (result.IsSuccess)
                    {
                        model.MaterialSpecificationModels = result.Data as List <MaterialSpecificationModel>;

                        model.MaterialSpecificationModels.Remove(model.MaterialSpecificationModels.First(x => x.MaterialSpecificationId == materialSpecificationId));

                        model.MaterialSpecificationModels = model.MaterialSpecificationModels.OrderBy(x => x.Seq).ToList();

                        int seq = 1;

                        foreach (var spec in model.MaterialSpecificationModels)
                        {
                            spec.Seq = seq;

                            seq++;
                        }

                        Session["MaterialEditFormModel"] = model;

                        result.Success();
                    }
                }
                else
                {
                    result.ReturnFailedMessage(Resources.Resource.UnKnownOperation);
                }
            }
            catch (Exception ex)
            {
                Error err = new Error(MethodBase.GetCurrentMethod(), ex);

                Logger.Log(err);

                result.ReturnError(err);
            }

            return(Content(JsonConvert.SerializeObject(result)));
        }
Exemple #19
0
        public ActionResult AddSelect(string selecteds, string pageStates, string refOrganizationId)
        {
            RequestResult result = new RequestResult();

            try
            {
                List <string> selectedList = JsonConvert.DeserializeObject <List <string> >(selecteds);

                List <string> pageStateList = JsonConvert.DeserializeObject <List <string> >(pageStates);

                if ((Define.EnumFormAction)Session["MaterialFormAction"] == Define.EnumFormAction.Create)
                {
                    var model = Session["MaterialCreateFormModel"] as CreateFormModel;

                    result = MaterialDataAccessor.SavePageState(model.MaterialSpecificationModels, pageStateList);

                    if (result.IsSuccess)
                    {
                        model.MaterialSpecificationModels = result.Data as List <MaterialSpecificationModel>;

                        result = MaterialDataAccessor.AddMaterialSpecification(model.MaterialSpecificationModels, selectedList, refOrganizationId);

                        if (result.IsSuccess)
                        {
                            model.MaterialSpecificationModels = result.Data as List <MaterialSpecificationModel>;

                            Session["MaterialCreateFormModel"] = model;
                        }
                    }
                }
                else if ((Define.EnumFormAction)Session["MaterialFormAction"] == Define.EnumFormAction.Edit)
                {
                    var model = Session["MaterialEditFormModel"] as EditFormModel;

                    result = MaterialDataAccessor.SavePageState(model.MaterialSpecificationModels, pageStateList);

                    if (result.IsSuccess)
                    {
                        model.MaterialSpecificationModels = result.Data as List <MaterialSpecificationModel>;

                        result = MaterialDataAccessor.AddMaterialSpecification(model.MaterialSpecificationModels, selectedList, refOrganizationId);

                        if (result.IsSuccess)
                        {
                            model.MaterialSpecificationModels = result.Data as List <MaterialSpecificationModel>;

                            Session["MaterialEditFormModel"] = model;
                        }
                    }
                }
                else
                {
                    result.ReturnFailedMessage(Resources.Resource.UnKnownOperation);
                }
            }
            catch (Exception ex)
            {
                Error err = new Error(MethodBase.GetCurrentMethod(), ex);

                Logger.Log(err);

                result.ReturnError(err);
            }

            return(Content(JsonConvert.SerializeObject(result)));
        }