Пример #1
0
        public void TakeAction([FromBody] ViewModels.Accounting.SaleInvoice viewModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var mapperConfig = MapperConfig.Init();

                    mapperConfig.CreateMap <DataModels.Accounting.SaleInvoice, ViewModels.Accounting.SaleInvoice>();
                    DataModels.Accounting.SaleInvoice dataModel = viewModel.Map <DataModels.Accounting.SaleInvoice, ViewModels.Accounting.SaleInvoice>();

                    _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));
            }
        }
Пример #2
0
        public void TakeAction(DataModels.Accounting.SaleInvoice dataObject, long actionId, string choice, string comment)
        {
            using (IDAL dal = this.DAL)
            {
                dal.BeginTransaction();
                try
                {
                    // var originalObject = dal.Read<DataModels.Warehouse.ProductReturn>(dataObject.ProductReturnId);

                    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);

                    dataObject.StatusCode = 7;

                    dal.Update(dataObject);

                    createMikroInvoice(dataObject.SaleInvoiceId, dal);

                    action.Commit(choice, comment);

                    dal.CommitTransaction();
                }
                catch
                {
                    dal.RollbackTransaction();
                    throw;
                }
            }
        }
Пример #3
0
        /*Section="CustomCodeRegion"*/
        #region Customized
        private void startEInvoiceProcess(DataModels.Accounting.SaleInvoice dataModel, IDAL dal)
        {
            int             processDefinitionId = _parameterReader.ReadPublicParameter <int>("EInvoice", 2020);
            var             store  = dal.Read <Store>(dataModel.SaleStore);
            var             branch = dal.Read <Branch>(store.OrganizationBranch);
            GroupOperations gop    = new GroupOperations(dal);
            Group           g      = gop.FindGroup("Muhasebe E-Fatura");
            long            userId;

            if (OTApplication.Context != null && OTApplication.Context.User != null)
            {
                userId = OTApplication.Context.User.Id;
            }
            else
            {
                userId = 1;
            }
            IProcessInstance processInstance = new ProcessInstance(processDefinitionId, userId);

            //Set Process Variables
            processInstance.AddProcessVariable("user", OTApplication.Context.User.Id);
            processInstance.AddProcessVariable("screenReference", "Accounting#SaleInvoiceListComponent#" + dataModel.SaleInvoiceId);
            processInstance.AddProcessVariable("branch", store.OrganizationBranch);
            processInstance.AddProcessVariable("region", branch.Parent);
            processInstance.AddProcessVariable("requestId", dataModel.SaleInvoiceId);
            processInstance.AddProcessVariable("accountingGroup", g.GroupId);


            //Set Action Varibles
            processInstance.AddActionVariable("user", OTApplication.Context.User.Id);
            processInstance.AddActionVariable("description", $"{store.Name} - {dataModel.CustomerIdNumber} - {dataModel.Title} - {dataModel.SaleDate} - {dataModel.SaleAmount}");

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

            dataModel.ProcessInstance = processId;
            dataModel.StatusCode      = 1;
            dal.Update(dataModel);
        }
Пример #4
0
 public void ApproveProductReturn(ViewModels.Accounting.SaleInvoice rec)
 {
     DataModels.Accounting.SaleInvoice dmrec = rec.Map <DataModels.Accounting.SaleInvoice, ViewModels.Accounting.SaleInvoice>();
     _dataService.SendEInvoice(dmrec);
 }