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)); } }
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; } } }
/*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); }
public void ApproveProductReturn(ViewModels.Accounting.SaleInvoice rec) { DataModels.Accounting.SaleInvoice dmrec = rec.Map <DataModels.Accounting.SaleInvoice, ViewModels.Accounting.SaleInvoice>(); _dataService.SendEInvoice(dmrec); }