Ejemplo n.º 1
0
        public void FillWorkOrderList()
        {
            List <string[]> lineItemData = DataLayer.GetTableData("WorkOrder");

            string[]        columns       = { "WorkOrder_ID", "dateRequired", "Customer_customer_ID", "Quantity" };
            List <string[]> workOrderData = DataLayer.GetTableData("WorkOrder", columns);

            foreach (String[] row in workOrderData)
            {
                string[] columns1 = { "STLProduct_STLProduct_ID" };
                DataLayer.RemoveCriteria();
                DataLayer.SetCriteria("WorkOrder_WorkOrder_ID", row[0]);
                List <string[]> workOrderData1 = DataLayer.GetTableData("WorkOrder_has_STLProduct", "WorkOrder", columns1);

                foreach (String[] row1 in workOrderData1)
                {
                    Guid uid = Guid.NewGuid();
                    GenericFactory <IWorkOrder> .Register(uid, () => new WorkOrder(Convert.ToInt16(row[0]), Convert.ToInt16(row[2]), Convert.ToInt16(row1[0]), Convert.ToInt16(row[3]), DateTime.ParseExact(row[1], "dd/MM/yyyy", null)));

                    IWorkOrder workOrder = GenericFactory <IWorkOrder> .Create(uid);

                    workOrderList.Add(workOrder);
                }
            }
        }
        public async Task <IWorkOrder> Update(IWorkOrder entity)
        {
            try
            {
                TWorkOrder tEntity = entity as TWorkOrder;

                var errors = await this.ValidateEntityToUpdate(tEntity);

                if (errors.Count() > 0)
                {
                    await this.ThrowEntityException(errors);
                }


                this.StartTransaction();
                await base.Update(tEntity, x => new
                {
                    x.AssignedUserRoleId,
                    x.BatchName,
                    x.ScanDate,
                    x.PageNo,
                    x.ReferenceNo,
                    x.MRNo,
                    x.PatientName,
                    x.DOSDate,
                    x.Amount,
                    x.ClientDoctorName,
                    x.ReferingDoctorName,
                    x.Comments,
                    x.WorkOrderStatusId,
                    x.RequestTypeId,
                    x.ProcessId,
                    x.FacilityId,
                    x.ModifiedBy,
                    x.ModifiedDate
                });

                this.CommitTransaction();
                return(tEntity);
            }
            catch (PostgresException ex)
            {
                throw new EntityUpdateException(ex);
            }
            catch
            {
                throw;
            }
        }
 public CustomerOrderBookingController(IStockBookingQuery bookingQuery,
                                       ILogger <CustomerOrderBookingController> logger,
                                       IWorkOrder workOrderController,
                                       IStockBookingCommand command,
                                       ISalesOrderQuery saleOrderQuery,
                                       IWorkOrdersFactory workOrderFactory,
                                       IStockBookingFactory factory)
 {
     _logger              = logger;
     _bookingQuery        = bookingQuery;
     _salesOrderQuery     = saleOrderQuery;
     _bookingCommand      = command;
     _bookingFactory      = factory;
     _workOrderController = workOrderController;
     _workOrderFactory    = workOrderFactory;
 }
        public async Task <IWorkOrder> AddNew(IWorkOrder entity)
        {
            try
            {
                this.StartTransaction();
                TWorkOrder tEntity     = entity as TWorkOrder;
                var        savedEntity = await base.AddNew(entity as TWorkOrder);

                this.CommitTransaction();

                return(savedEntity);
            }
            catch (PostgresException ex)
            {
                throw new EntityUpdateException(ex);
            }
            catch
            {
                throw;
            }
        }
        public async Task <IWorkOrder> AddNew(IWorkOrder entity, long loggedUserId)
        {
            TWorkOrder tEntity = entity as TWorkOrder;
            var        errors  = await this.ValidateEntityToAdd(tEntity);

            if (errors.Count() > 0)
            {
                await this.ThrowEntityException(errors);
            }
            try
            {
                this.StartTransaction();
                if (tEntity.AssignedUserId > 0)
                {
                    tEntity.WorkOrderStatusId = 2;
                }

                tEntity.CreatedBy   = loggedUserId;
                tEntity.CreatedDate = DateTime.Now;
                var savedEntity = await base.AddNew(tEntity);

                long workOrderId = savedEntity.Id;
                this.CommitTransaction();
                await this.SaveTicketStatusHistory(workOrderId, true, tEntity.WorkOrderStatusId, loggedUserId);

                return(savedEntity);
            }
            catch (PostgresException ex)
            {
                throw new EntityUpdateException(ex);
            }
            catch
            {
                throw;
            }
        }
        public async Task <IWorkOrder> Update(IWorkOrder entity, long loggedUserId)
        {
            try
            {
                TWorkOrder tEntity = entity as TWorkOrder;

                var errors = await this.ValidateEntityToUpdate(tEntity);

                if (errors.Count() > 0)
                {
                    await this.ThrowEntityException(errors);
                }

                var isSaveStatusHistoryRequired = false;
                if (tEntity.WorkOrderStatusId == 1 && tEntity.AssignedUserId > 0)
                {
                    tEntity.WorkOrderStatusId   = 2;
                    isSaveStatusHistoryRequired = true;
                }

                tEntity.ModifiedBy   = loggedUserId;
                tEntity.ModifiedDate = DateTime.Now;

                this.StartTransaction();
                await base.Update(tEntity, x => new
                {
                    x.AssignedUserRoleId,
                    x.AssignedUserId,
                    x.BatchName,
                    x.ScanDate,
                    x.PageNo,
                    x.ReferenceNo,
                    x.MRNo,
                    x.PatientName,
                    x.DOSDate,
                    x.Amount,
                    x.ClientDoctorName,
                    x.ReferingDoctorName,
                    x.Comments,
                    x.WorkOrderStatusId,
                    x.RequestTypeId,
                    x.ProcessId,
                    x.FacilityId,
                    x.ModifiedBy,
                    x.ModifiedDate
                });

                if (isSaveStatusHistoryRequired)
                {
                    await this.SaveTicketStatusHistory(tEntity.Id, false, tEntity.WorkOrderStatusId, loggedUserId);
                }

                this.CommitTransaction();
                return(tEntity);
            }
            catch (PostgresException ex)
            {
                throw new EntityUpdateException(ex);
            }
            catch
            {
                throw;
            }
        }