public HttpResponseMessage SearchMovementRequest(HttpRequestMessage request, [FromBody] MovementRequestViewModel obj)
        {
            var result = service.SearchMovementRequest(obj);
            HttpResponseMessage response = new HttpResponseMessage();

            response = request.CreateResponse(HttpStatusCode.OK, new { success = true, obj = result });
            return(response);
        }
        public List <MovementRequestViewModel> GetMovementRequestCompleted()
        {
            List <MovementRequestViewModel> result = new List <MovementRequestViewModel>();

            var movement = _movementrequest.GetMovementRequestToMove();
            List <MovementRequestSearchResult> movementrequestlist = new List <MovementRequestSearchResult>();

            foreach (var item in movement)
            {
                MovementRequestViewModel model = new MovementRequestViewModel();
                model.MovementRequest = new MovementRequestSearchResult();
                var approvalname = _pref.GetLookupByApprovalStatusCode(item.ApprovalStatus);
                model.MovementRequest.ID                 = item.ID;
                model.MovementRequest.MovementDate       = item.MovementDate;
                model.MovementRequest.Description        = item.Description;
                model.MovementRequest.ApprovedDate       = item.ApprovedDate;
                model.MovementRequest.LocationID         = item.LocationID;
                model.MovementRequest.LocationName       = item.Location != null ? item.Location.Name : null;
                model.MovementRequest.ApprovedBy         = item.ApprovedBy;
                model.MovementRequest.Notes              = item.Notes;
                model.MovementRequest.ApprovalStatus     = item.ApprovalStatus;
                model.MovementRequest.ApprovalStatusName = approvalname != null ? approvalname.Value : null;
                model.MovementRequestDetail              = new List <MovementRequestDetailViewModel>();
                movementrequestlist.Add(model.MovementRequest);


                foreach (var detail in item.MovementRequestDetail)
                {
                    if (detail.DeletedDate == null)
                    {
                        MovementRequestDetailViewModel mvdetail = new MovementRequestDetailViewModel();
                        var moveasset = _assetlocation.GetAssetLocationByMovementDetailID(detail.ID);
                        mvdetail.Quantity   = detail.Quantity;
                        mvdetail.Transfered = moveasset != null ? moveasset.Count : 0;
                        if (mvdetail.Quantity == mvdetail.Transfered)
                        {
                            var categoryname = _pref.GetLookupByCategoryCode(detail.AssetCategoryCD);
                            var department   = _department.GetDepartmentByID(detail.RequestedTo);

                            mvdetail.ID = detail.ID;
                            mvdetail.MovementRequestID = detail.MovementRequestID;
                            mvdetail.Description       = detail.Description;
                            mvdetail.AssetCategoryCD   = detail.AssetCategoryCD;
                            mvdetail.CategoryCDName    = categoryname != null ? categoryname.Value : null;
                            mvdetail.RequestTo         = detail.RequestedTo;
                            mvdetail.RequestToName     = department != null ? department.Name : null;
                            model.MovementRequestDetail.Add(mvdetail);
                        }
                    }
                }
                if (model.MovementRequestDetail.Count != 0)
                {
                    result.Add(model);
                }
            }

            return(result);
        }
        public List <MovementRequestViewModel> SearchMovementRequest(MovementRequestViewModel obj)
        {
            List <MovementRequestViewModel> result = new List <MovementRequestViewModel>();

            if (obj != null)
            {
                result = _movementrequest.SearchMovementRequests_SP(Convert.ToInt16(obj.MovementRequest.LocationID), Convert.ToInt16(obj.MovementRequest.ApprovalStatus), obj.Skip);
            }
            return(result);
        }
        public HttpResponseMessage CreateMovementRequest(HttpRequestMessage request, [FromBody] MovementRequestViewModel obj)
        {
            obj.CreatedDate = _dateExtension.GetDateTime();

            var result = service.CreateMovementRequest(obj);
            HttpResponseMessage response = new HttpResponseMessage();

            response = request.CreateResponse(HttpStatusCode.OK, new { success = result.status, obj = result.movementRequest });
            return(response);
        }
        public void ConstructorWithInsertRequestShouldEnableSendInsertSucceededCommand()
        {
            var request = new MovementRequest {
                Task = AutomationTasks.Insert
            };

            var viewModel = new MovementRequestViewModel(request);

            viewModel.SendInsertSucceededCommand.CanExecute().Should().BeTrue();
        }
 private static void CheckExecutesShouldBeFalse(MovementRequestViewModel viewModel)
 {
     viewModel.SendWrongSourceTargetCommand.CanExecute().Should().BeFalse();
     viewModel.SendInsertSucceededCommand.CanExecute().Should().BeFalse();
     viewModel.SendTransportSucceededCommand.CanExecute().Should().BeFalse();
     viewModel.SendWrongPartCountCommand.CanExecute().Should().BeFalse();
     viewModel.SendCountZeroCommand.CanExecute().Should().BeFalse();
     viewModel.SendOrderExistCommand.CanExecute().Should().BeFalse();
     viewModel.SendStoreOccupiedCommand.CanExecute().Should().BeFalse();
 }
 private void CommandRaised(MovementRequestViewModel viewModel)
 {
     viewModel.SendStoragePointOccupiedCommand.CanExecuteChanged += (sender, args) => _storagePointOccupiedCalled = true;
     viewModel.SendInsertSucceededCommand.CanExecuteChanged      += (sender, args) => _insertCalled = true;
     viewModel.SendTransportSucceededCommand.CanExecuteChanged   += (sender, args) => _transportCalled = true;
     viewModel.SendWrongPartCountCommand.CanExecuteChanged       += (sender, args) => _wrongPartNumberCalled = true;
     viewModel.SendWrongSourceTargetCommand.CanExecuteChanged    += (sender, args) => _wrongSourceTargetCalled = true;
     viewModel.SendCountZeroCommand.CanExecuteChanged            += (sender, args) => _countZeroCalled = true;
     viewModel.SendOrderExistCommand.CanExecuteChanged           += (sender, args) => _orderExistCalled = true;
     viewModel.SendStoreOccupiedCommand.CanExecuteChanged        += (sender, args) => _storeOccupiedCalled = true;
 }
        public void ConstructorWithTransportRequestShouldEnableTransportCommands()
        {
            var request = new MovementRequest {
                Task = AutomationTasks.Transport
            };

            var viewModel = new MovementRequestViewModel(request);

            viewModel.SendTransportSucceededCommand.CanExecute().Should().BeTrue();
            viewModel.SendWrongPartCountCommand.CanExecute().Should().BeTrue();
        }
        public void ConstructorWithDeleteRequestShouldSetTypeToDelete()
        {
            var expectedType = $"Delete";
            var request      = new MovementRequest
            {
                Task = AutomationTasks.Delete
            };

            var viewModel = new MovementRequestViewModel(request);

            viewModel.Type.Should().Be(expectedType);
        }
        public ResultViewModel CreateMovementRequest(MovementRequestViewModel obj)
        {
            ResultViewModel       result      = new ResultViewModel();
            IDbContextTransaction transaction = _context.Database.BeginTransaction();

            if (obj != null)
            {
                try
                {
                    MovementRequest movement = new MovementRequest();
                    movement.MovementDate   = obj.MovementRequest.MovementDate.Replace("/", string.Empty);
                    movement.Description    = obj.MovementRequest.Description;
                    movement.LocationID     = obj.MovementRequest.LocationID;
                    movement.ApprovalStatus = Convert.ToInt16(obj.MovementRequest.ApprovalStatus);
                    movement.CreatedDate    = obj.CreatedDate;//DateTime.Now;
                    movement.CreatedBy      = obj.CreatedBy;
                    movement.Notes          = obj.MovementRequest.Notes;
                    foreach (var item in obj.MovementRequestDetail)
                    {
                        MovementRequestDetail detail = new MovementRequestDetail();
                        detail.Description     = item.Description;
                        detail.AssetCategoryCD = item.AssetCategoryCD;
                        detail.Quantity        = item.Quantity;
                        detail.RequestedTo     = item.RequestTo;
                        detail.CreatedDate     = movement.CreatedDate;
                        detail.CreatedBy       = movement.CreatedBy;
                        movement.MovementRequestDetail.Add(detail);
                    }
                    _context.MovementRequest.Add(movement);
                    _context.SaveChanges();
                    transaction.Commit();
                    result.status          = true;
                    result.movementRequest = GetMovementRequestByID(movement.ID);
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    result.status          = false;
                    result.movementRequest = null;
                }
            }
            else
            {
                result.status          = false;
                result.movementRequest = null;
            }

            return(result);
        }
Ejemplo n.º 11
0
        public List <MovementRequestViewModel> GetMovementRequestNeedApproval()
        {
            List <MovementRequestViewModel> result = new List <MovementRequestViewModel>();
            var movement = _movementrequest.GetMovementRequestNeedApproval();

            foreach (var item in movement)
            {
                MovementRequestViewModel model = new MovementRequestViewModel();
                var approvalname = _pref.GetLookupByApprovalStatusCode(item.ApprovalStatus);

                model.ID                 = item.ID;
                model.MovementDate       = item.MovementDate;
                model.Description        = item.Description;
                model.ApprovedDate       = item.ApprovedDate;
                model.LocationID         = item.LocationID;
                model.LocationName       = item.Location != null ? item.Location.Name : null;
                model.ApprovedBy         = item.ApprovedBy;
                model.Notes              = item.Notes;
                model.ApprovalStatus     = item.ApprovalStatus;
                model.ApprovalStatusName = approvalname != null ? approvalname.Value : null;

                model.MovementRequestDetail = new List <MovementRequestDetailViewModel>();
                foreach (var item2 in item.MovementRequestDetail)
                {
                    if (item2.DeletedBy == null && item2.DeletedDate == null)
                    {
                        MovementRequestDetailViewModel detail = new MovementRequestDetailViewModel();
                        var categoryname = _pref.GetLookupByCategoryCode(item2.AssetCategoryCD);
                        var deparment    = _department.GetDepartmentByID(item2.RequestedTo);
                        var moveasset    = _assetlocation.GetAssetLocationByMovementDetailID(item2.ID);

                        detail.ID = item2.ID;
                        detail.MovementRequestID = item2.MovementRequestID;
                        detail.Description       = item2.Description;
                        detail.AssetCategoryCD   = item2.AssetCategoryCD;
                        detail.CategoryCDName    = categoryname != null ? categoryname.Value : null;
                        detail.RequestTo         = item2.RequestedTo;
                        detail.RequestToName     = deparment != null ? deparment.Name : null;
                        detail.Quantity          = item2.Quantity;
                        detail.Transfered        = moveasset != null ? moveasset.Count : 0;
                        model.MovementRequestDetail.Add(detail);
                    }
                }
                result.Add(model);
            }
            return(result);
        }
        public MovementRequestViewModel GetMovementRequestToMoveByID(int id)
        {
            var movement = _movementrequest.GetMovementRequestByID(id);

            MovementRequestViewModel result = new MovementRequestViewModel();

            result.MovementRequest = new MovementRequestSearchResult();
            var approvalname = _pref.GetLookupByApprovalStatusCode(movement.ApprovalStatus);

            result.MovementRequest.ID                 = movement.ID;
            result.MovementRequest.MovementDate       = movement.MovementDate;
            result.MovementRequest.LocationID         = movement.LocationID;
            result.MovementRequest.LocationName       = movement.Location != null ? movement.Location.Name : null;
            result.MovementRequest.Description        = movement.Description;
            result.MovementRequest.ApprovedDate       = movement.ApprovedDate;
            result.MovementRequest.ApprovedBy         = movement.ApprovedBy;
            result.MovementRequest.Notes              = movement.Notes;
            result.MovementRequest.ApprovalStatus     = movement.ApprovalStatus;
            result.MovementRequest.ApprovalStatusName = approvalname != null ? approvalname.Value : null;
            result.MovementRequestDetail              = new List <MovementRequestDetailViewModel>();
            foreach (var item in movement.MovementRequestDetail)
            {
                if (item.DeletedDate == null && item.DeletedBy == null)
                {
                    MovementRequestDetailViewModel detail = new MovementRequestDetailViewModel();
                    var categoryname = _pref.GetLookupByCategoryCode(item.AssetCategoryCD);
                    var deparment    = _department.GetDepartmentByID(item.RequestedTo);
                    var moveasset    = _assetlocation.GetAssetLocationByMovementDetailID(item.ID);
                    detail.Quantity   = item.Quantity;
                    detail.Transfered = moveasset != null ? moveasset.Count : 0;

                    if (detail.Quantity != detail.Transfered)
                    {
                        detail.ID = item.ID;
                        detail.MovementRequestID = item.MovementRequestID;
                        detail.Description       = item.Description;
                        detail.AssetCategoryCD   = item.AssetCategoryCD;
                        detail.CategoryCDName    = categoryname != null ? categoryname.Value : null;
                        detail.RequestTo         = item.RequestedTo;
                        detail.RequestToName     = deparment != null ? deparment.Name : null;
                        result.MovementRequestDetail.Add(detail);
                    }
                }
            }
            return(result);
        }
        public void ConstructorWithTwoBarcodesRequestShouldSetBarcode()
        {
            var data1 = new MovementData {
                Barcode = "barcode1", Index = "1"
            };
            var data2 = new MovementData {
                Barcode = "barcode2", Index = "2"
            };
            var request = new MovementRequest();

            request.Data.Add(data1);
            request.Data.Add(data2);

            var viewModel = new MovementRequestViewModel(request);

            viewModel.Barcode.Should().Be("barcode1  barcode2");
        }
        public void ConstructorWithInsertRequestShouldSetTypeToInsert()
        {
            var expectedType = $"Insert";
            var request      = new MovementRequest
            {
                Task = AutomationTasks.Insert
            };

            var viewModel = new MovementRequestViewModel(request);

            viewModel.Type.Should().Be(expectedType);
            viewModel.SendTransportSucceededCommand.CanExecute().Should().BeFalse();
            viewModel.SendWrongSourceTargetCommand.CanExecute().Should().BeTrue();
            viewModel.SendWrongPartCountCommand.CanExecute().Should().BeFalse();
            viewModel.SendStoragePointOccupiedCommand.CanExecute().Should().BeTrue();
            viewModel.SendInsertSucceededCommand.CanExecute().Should().BeTrue();
            viewModel.SendCountZeroCommand.CanExecute().Should().BeTrue();
        }
Ejemplo n.º 15
0
        public List <MovementRequestViewModel> SearchMovementRequests_SP(int LocationID, int ApprovalStatus, int Skip)
        {
            var result = new List <MovementRequestViewModel>();
            var obj    = new MovementRequestViewModel();

            using (AstonContext dbContext = new AstonContext())
            {
                dbContext.Database.OpenConnection();
                DbCommand cmd = dbContext.Database.GetDbConnection().CreateCommand();
                cmd.CommandText = "dbo.sp_SearchMovementRequest";
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@LocationID", SqlDbType.Int)
                {
                    Value = LocationID
                });
                cmd.Parameters.Add(new SqlParameter("@ApprovalStatus", SqlDbType.Int)
                {
                    Value = ApprovalStatus
                });
                cmd.Parameters.Add(new SqlParameter("@Skip", SqlDbType.Int)
                {
                    Value = Skip
                });

                using (var reader = cmd.ExecuteReader())
                {
                    //a = reader.<AssetViewModel>():
                    var assetlist = dbContext.DataReaderMapToList <MovementRequestSearchResult>(reader);
                    foreach (var asset in assetlist)
                    {
                        result.Add(new MovementRequestViewModel()
                        {
                            MovementRequest = asset
                        });
                    }
                    cmd.Connection.Close();
                }
            }

            return(result);
        }
        public void ConstructorShouldSetProperties()
        {
            var expectedData = new MovementData();

            expectedData.Barcode = "expected Barcode";
            expectedData.Index   = "1";
            var expectedSource      = "expected source";
            var expectedInfo        = "expected info";
            var expectedTargetShelf = "expected target shelf";
            var expectedTarget      = "expected target";
            var expectedSourceShelf = "expected source shelf";
            var expectedQuantity    = 2;
            var expectedType        = $"Transport";
            var expectedTicket      = Guid.NewGuid();
            var request             = new MovementRequest
            {
                Info = expectedInfo, Quantity = expectedQuantity, Source = expectedSource, SourceCompartment = expectedSourceShelf, Target = expectedTarget,
                TargetCompartment = expectedTargetShelf, Task = AutomationTasks.Transport, Ticket = expectedTicket, Timestamp = DateTime.UtcNow
            };

            request.Data.Add(expectedData);

            var viewModel = new MovementRequestViewModel(request);

            viewModel.Name.Should().Be(expectedInfo);
            viewModel.Source.Should().Be(expectedSource);
            viewModel.SourceShelf.Should().Be(expectedSourceShelf);
            viewModel.Target.Should().Be(expectedTarget);
            viewModel.TargetShelf.Should().Be(expectedTargetShelf);
            viewModel.Quantity.Should().Be(expectedQuantity);
            viewModel.Timestamp.Should().BeBefore(DateTime.Now);
            viewModel.Ticket.Should().Be(expectedTicket);
            viewModel.Type.Should().Be(expectedType);
            viewModel.Barcode.Should().Be(expectedData.Barcode);
            viewModel.ToString().Should().Be(viewModel.Name);
            viewModel.SendTransportSucceededCommand.CanExecute().Should().BeTrue();
            viewModel.SendWrongPartCountCommand.CanExecute().Should().BeTrue();
            viewModel.SendInsertSucceededCommand.CanExecute().Should().BeFalse();
            viewModel.SendWrongSourceTargetCommand.CanExecute().Should().BeTrue();
            viewModel.SendStoragePointOccupiedCommand.CanExecute().Should().BeFalse();
            viewModel.SendCountZeroCommand.CanExecute().Should().BeTrue();
        }
 public HttpResponseMessage SearchMovementRequest(HttpRequestMessage request, [FromBody] MovementRequestViewModel obj)
 {
     HttpResponseMessage response = new HttpResponseMessage();
     response = _movementProcess.SearchMovementRequest(obj);
     return response;
 }
        public ResultViewModel UpdateMovementRequest(MovementRequestViewModel obj)
        {
            ResultViewModel       result      = new ResultViewModel();
            IDbContextTransaction transaction = _context.Database.BeginTransaction();

            try
            {
                var movement = _movementrequest.GetMovementRequestByID(obj.MovementRequest.ID);
                movement.Description    = obj.MovementRequest.Description;
                movement.LocationID     = obj.MovementRequest.LocationID;
                movement.MovementDate   = obj.MovementRequest.MovementDate.Replace("/", string.Empty);
                movement.ApprovalStatus = Convert.ToInt16(obj.MovementRequest.ApprovalStatus);
                movement.UpdatedBy      = obj.UpdatedBy;
                movement.UpdatedDate    = obj.UpdatedDate;//DateTime.Now;
                movement.Notes          = obj.MovementRequest.Notes;
                foreach (var item in movement.MovementRequestDetail)
                {
                    var data = obj.MovementRequestDetail.Where(p => p.ID == item.ID).FirstOrDefault();
                    if (data != null)
                    {
                        if (data.IsUpdate == true)
                        {
                            item.Description     = data.Description;
                            item.AssetCategoryCD = data.AssetCategoryCD;
                            item.Quantity        = data.Quantity;
                            item.RequestedTo     = data.RequestTo;
                            item.UpdatedBy       = obj.UpdatedBy;
                            item.UpdatedDate     = obj.UpdatedDate;//DateTime.Now;
                        }
                        else if (data.IsDelete == true)
                        {
                            item.DeletedDate = obj.DeletedDate;//DateTime.Now;
                            item.DeletedBy   = obj.UpdatedBy;
                        }
                        obj.MovementRequestDetail.Remove(data);
                    }
                }

                foreach (var item in obj.MovementRequestDetail)
                {
                    MovementRequestDetail detail = new MovementRequestDetail();
                    detail.Description     = item.Description;
                    detail.AssetCategoryCD = item.AssetCategoryCD;
                    detail.Quantity        = item.Quantity;
                    detail.RequestedTo     = item.RequestTo;
                    detail.CreatedBy       = obj.UpdatedBy;
                    detail.CreatedDate     = obj.CreatedDate;//DateTime.Now;

                    movement.MovementRequestDetail.Add(detail);
                }

                _context.Entry(movement).State = EntityState.Modified;
                _context.SaveChanges();
                transaction.Commit();
                result.movementRequest = GetMovementRequestByID(movement.ID);
                result.status          = true;
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                result.movementRequest = null;
                result.status          = false;
            }
            return(result);
        }
Ejemplo n.º 19
0
        public List <MovementRequestViewModel> SearchMovementRequests_SP(int LocationID, int ApprovalStatus, int Skip)
        {
            var result = new List <MovementRequestViewModel>();
            var obj    = new MovementRequestViewModel();

            using (NpgsqlConnection connection =
                       new NpgsqlConnection(ConfigureSetting.GetConnectionString))
            {
                connection.Open();

                string sql = "sp_searchmovementrequest";


                using (NpgsqlCommand command =
                           new NpgsqlCommand(sql, connection))
                {
                    command.CommandType = System.Data.CommandType.StoredProcedure;
                    if (LocationID == null)
                    {
                        command.Parameters.AddWithValue("@p_locationid", NpgsqlTypes.NpgsqlDbType.Integer, DBNull.Value);
                    }
                    else
                    {
                        command.Parameters.AddWithValue("@p_locationid", NpgsqlTypes.NpgsqlDbType.Integer, LocationID);
                    }
                    if (ApprovalStatus == null)
                    {
                        command.Parameters.AddWithValue("@p_approvalstatus", NpgsqlTypes.NpgsqlDbType.Integer, DBNull.Value);
                    }
                    else
                    {
                        command.Parameters.AddWithValue("@p_approvalstatus", NpgsqlTypes.NpgsqlDbType.Integer, ApprovalStatus);
                    }

                    command.Parameters.AddWithValue("@skip", NpgsqlTypes.NpgsqlDbType.Integer, Skip);

                    using (var reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            result.Add(new MovementRequestViewModel {
                                MovementRequest = new MovementRequestSearchResult
                                {
                                    ID                 = Convert.ToInt32(reader[0]),
                                    MovementDate       = reader[1].ToString(),
                                    Description        = reader[2].ToString(),
                                    ApprovedDate       = reader[3].ToString(),
                                    ApprovedBy         = reader[4].ToString(),
                                    ApprovalStatus     = Convert.ToInt32(reader[5]),
                                    Notes              = reader[6].ToString(),
                                    LocationID         = Convert.ToInt32(reader[7]),
                                    LocationName       = reader[8].ToString(),
                                    ApprovalStatusName = reader[9].ToString(),
                                    TotalRow           = Convert.ToInt32(reader[10])
                                }
                            });
                        }
                    }
                }
                connection.Close();
            }

            return(result);
        }