Exemplo n.º 1
0
        public void TakeAction([FromBody] ViewModels.Warehouse.TransferProduct viewModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var mapperConfig = MapperConfig.Init();

                    mapperConfig.CreateMap <DataModels.Warehouse.TransferProduct, ViewModels.Warehouse.TransferProduct>();
                    DataModels.Warehouse.TransferProduct dataModel = viewModel.Map <DataModels.Warehouse.TransferProduct, ViewModels.Warehouse.TransferProduct>(mapperConfig);

                    _dataService.TakeAction(dataModel, viewModel.action, viewModel.actionChoice, viewModel.actionComment);
                }
                catch (Exception ex)
                {
                    _logger.Error(PrepareExceptionMessage(MethodBase.GetCurrentMethod().Name), ex);
                    throw CreateUserException(ex);
                }
            }
            else
            {
                var errors = ModelState.Values.SelectMany(value => value.Errors).Select(error => error.ErrorMessage);
                throw CreateUserException(new OTException(OTErrors.ModelStateInvalid, true, null, errors));
            }
        }
Exemplo n.º 2
0
        private void startTransferProductProcess(DataModels.Warehouse.TransferProduct dataModel, IDAL dal)
        {
            int processDefinitionId = _parameterReader.ReadPublicParameter <int>("MagazalarArasiTransferSureci", 2016);
            var sourceStore         = dal.Read <Store>(dataModel.SourceStore);
            var intakeBranchId      = dataModel.DestinationStore == 999 ? 999 : dal.Read <Store>(dataModel.DestinationStore).OrganizationBranch;

            GroupOperations  gop             = new GroupOperations(dal);
            Group            g               = gop.FindGroup("Mağazalar Arası Ürün Transfer Kullanıcıları");
            Group            gWarehouse      = gop.FindGroup("Depo Sorumlusu");
            IProcessInstance processInstance = new ProcessInstance(processDefinitionId, OTApplication.Context.User.Id);

            //Set Process Variables
            processInstance.AddProcessVariable("user", OTApplication.Context.User.Id);
            processInstance.AddProcessVariable("screenReference", "Warehouse#TransferProductListComponent#" + dataModel.TransferProductId);
            processInstance.AddProcessVariable("sendBranch", sourceStore.OrganizationBranch);
            processInstance.AddProcessVariable("transferProductAdminGroup", g.GroupId);
            processInstance.AddProcessVariable("intakeBranch", intakeBranchId);
            processInstance.AddProcessVariable("warehouseGroup", gWarehouse.GroupId);
            processInstance.AddProcessVariable("transferId", dataModel.TransferProductId);
            processInstance.AddProcessVariable("transferToWarehouse", dataModel.DestinationStore == 999 ? true : false);

            //Set Action Varibles
            processInstance.AddActionVariable("user", OTApplication.Context.User.Id);

            //Start Process
            var processId = processInstance.Start(dataModel.TransferProductId.ToString());

            // Update DB
            dataModel.ProcessInstance = processId;
            dataModel.TransferStatus  = 2;
            dal.Update(dataModel);
        }
Exemplo n.º 3
0
 public void TriggerTransferProcess(DataModels.Warehouse.TransferProduct dataObject)
 {
     using (IDAL dal = this.DAL)
     {
         dal.BeginTransaction();
         try
         {
             startTransferProductProcess(dataObject, dal);
             dal.CommitTransaction();
         } catch
         {
             dal.RollbackTransaction();
             throw;
         }
     }
 }
Exemplo n.º 4
0
        public override ViewModels.Warehouse.TransferProduct Create([FromBody]  ViewModels.Warehouse.TransferProduct viewModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    DataModels.Warehouse.TransferProduct dataModel = viewModel.Map <DataModels.Warehouse.TransferProduct, ViewModels.Warehouse.TransferProduct>(mapperConfig);
                    dataModel = _dataService.Create(dataModel);
                    ViewModels.Warehouse.TransferProduct createdModel = dataModel.Map <DataModels.Warehouse.TransferProduct, ViewModels.Warehouse.TransferProduct>();

                    return(createdModel);
                }
                catch (Exception ex)
                {
                    _logger.Error(PrepareExceptionMessage(MethodBase.GetCurrentMethod().Name), ex);
                    throw CreateUserException(ex);
                }
            }
            else
            {
                var errors = ModelState.Values.SelectMany(value => value.Errors).Select(error => error.ErrorMessage);
                throw CreateUserException(new OTException(OTErrors.ModelStateInvalid, true, null, errors));
            }
        }
Exemplo n.º 5
0
        public void TakeAction(DataModels.Warehouse.TransferProduct dataObject, long actionId, string choice, string comment)
        {
            using (IDAL dal = this.DAL)
            {
                dal.BeginTransaction();
                try
                {
                    // var originalObject = dal.Read<DataModels.Announcement.Suggestion>(dataObject.TransferProductId);
                    IActionOperations actionOperations = new Overtech.API.BPM.ActionOperations(OTApplication.Context.User.Id);
                    var     actionInfo = actionOperations.GetActionInfo(actionId);
                    IAction action     = new Overtech.API.BPM.Action(actionId, OTApplication.Context.User.Id);
                    dal.Update(dataObject);

                    action.Commit(choice, comment);

                    dal.CommitTransaction();
                }
                catch
                {
                    dal.RollbackTransaction();
                    throw;
                }
            }
        }